AGX Dynamics 2.41.2.0
Loading...
Searching...
No Matches
agx::PropertyContainer Class Reference

Class that is a container of named properties. More...

#include <Property.h>

+ Inheritance diagram for agx::PropertyContainer:

Public Member Functions

 PropertyContainer ()
 
virtual ~PropertyContainer ()
 
 AGXSTREAM_DECLARE_SERIALIZABLE_BASE (agx::PropertyContainer)
 
void clear ()
 Remove all properties from propertycontainer.
 
void copyProperties (const PropertyContainer *pc)
 
bool hasPropertyType (const std::string &name) const
 Return true if a property of type name is present in the container.
 
size_t size () const
 Return the number of types that are registered.
 
- Public Member Functions inherited from agx::Referenced
 Referenced ()
 Default constructor.
 
 Referenced (const Referenced &)
 
template<typename T >
T * as ()
 Subclass casting.
 
template<typename T >
const T * as () const
 
template<typename T >
T * asSafe ()
 Safe subclass casting, return nullptr if template type does not match.
 
template<typename T >
const T * asSafe () const
 
int getReferenceCount () const
 
template<typename T >
bool is () const
 Subclass test.
 
Referencedoperator= (const Referenced &)
 Assignment operator. Will increment the number of references to the referenced object.
 
void reference (void *ptr=nullptr) const
 Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
 
void unreference (void *ptr=nullptr) const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
void unreference_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
- Public Member Functions inherited from agxStream::Serializable
virtual ~Serializable ()
 Destructor for normal C++ use but hidden from SWIG bindings.
 
virtual const char * getClassName () const
 
bool getEnableSerialization () const
 
bool getEnableUuidGeneration ()
 
agx::UInt32 getIndex () const
 This index is given at creation of this object.
 
virtual StorageAgent * getStorageAgent () const =0
 
agx::Uuid getUuid () const
 
bool isFinished () const
 
void setEnableSerialization (bool flag)
 Set to false to disable serialization of this object.
 
void setFinished ()
 Tells this class that it is restored correctly and should not be deleted during destruction of an Archive.
 
void setUuid (const agx::Uuid &uuid)
 Explicitly set a Uuid on a serializable object.
 

Static Public Member Functions

static agxStream::Serializablecreate (agxStream::InputArchive &)
 
- Static Public Member Functions inherited from agx::Referenced
template<typename T >
static bool ValidateCast (const Referenced *object)
 
- Static Public Member Functions inherited from agxStream::Serializable
static void setEnableUuidGeneration (bool flag)
 Specify if there should be UUID:s generated for each new Serializable object. By default it is enabled.
 

Protected Types

typedef agx::HashSet< std::string > TypeSet
 

Protected Attributes

TypeSet m_types
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Additional Inherited Members

- Protected Member Functions inherited from agx::Referenced
virtual ~Referenced ()
 Destructor.
 
void allocateObserverVector () const
 
void deleteUsingDeleteHandler () const
 
- Protected Member Functions inherited from agxStream::Serializable
 Serializable ()
 Default constructor.
 
 Serializable (const Serializable &other)
 Copy constructor.
 
void generateUuid ()
 
- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandlergetDeleteHandler ()
 
static void setDeleteHandler (DeleteHandler *handler)
 Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
 

Detailed Description

Class that is a container of named properties.

A PropertyContainer can hold named properties of various types (bool, int, float, double, string). At any time these properties can be queried for their value, or updated.

Definition at line 128 of file Property.h.

Member Typedef Documentation

◆ TypeSet

typedef agx::HashSet<std::string> agx::PropertyContainer::TypeSet
protected

Definition at line 206 of file Property.h.

Constructor & Destructor Documentation

◆ PropertyContainer()

agx::PropertyContainer::PropertyContainer ( )
inline

Definition at line 132 of file Property.h.

◆ ~PropertyContainer()

virtual agx::PropertyContainer::~PropertyContainer ( )
inlinevirtual

Definition at line 144 of file Property.h.

Member Function Documentation

◆ AGXSTREAM_DECLARE_SERIALIZABLE_BASE()

agx::PropertyContainer::AGXSTREAM_DECLARE_SERIALIZABLE_BASE ( agx::PropertyContainer  )

◆ clear()

void agx::PropertyContainer::clear ( )
inline

Remove all properties from propertycontainer.

Definition at line 190 of file Property.h.

◆ copyProperties()

void agx::PropertyContainer::copyProperties ( const PropertyContainer pc)
inline

Definition at line 147 of file Property.h.

◆ create()

static agxStream::Serializable * agx::PropertyContainer::create ( agxStream::InputArchive )
inlinestatic

Definition at line 203 of file Property.h.

◆ hasPropertyType()

bool agx::PropertyContainer::hasPropertyType ( const std::string &  name) const
inline

Return true if a property of type name is present in the container.

Definition at line 160 of file Property.h.

◆ size()

size_t agx::PropertyContainer::size ( ) const
inline

Return the number of types that are registered.

Definition at line 165 of file Property.h.

Member Data Documentation

◆ m_types

TypeSet agx::PropertyContainer::m_types
protected

Definition at line 207 of file Property.h.


The documentation for this class was generated from the following file: