fw4spl
|
This class defines a composite object. More...
#include <Composite.hpp>
Public Types | |
typedef std::map< std::string,::fwData::Object::sptr > | ContainerType |
typedef ContainerType::key_type | KeyType |
typedef ContainerType::mapped_type | MappedType |
typedef ContainerType::value_type | ValueType |
typedef ContainerType::iterator | IteratorType |
typedef ContainerType::const_iterator | ConstIteratorType |
typedef ContainerType::reverse_iterator | ReverseIteratorType |
typedef ContainerType::const_reverse_iterator | ConstReverseIteratorType |
typedef ContainerType::size_type | SizeType |
Public Types inherited from fwData::Object | |
typedef ::fwData::factory::Key | Key |
typedef std::string | FieldNameType |
typedef std::vector< FieldNameType > | FieldNameVectorType |
typedef ::std::unordered_map< FieldNameType,::fwData::Object::sptr > | FieldMapType |
typedef ::std::unordered_map< ::fwData::Object::csptr,::fwData::Object::sptr > | DeepCopyCacheType |
typedef ::fwCom::Signal< void() > | ModifiedSignalType |
Type of signal m_sigModified. | |
typedef std::map< std::string,::fwData::Object::sptr > | FieldsContainerType |
Type of signal m_sigModified. | |
typedef ::fwCom::Signal< void(FieldsContainerType) > | AddedFieldsSignalType |
Type of signal when objects are added. | |
typedef ::fwCom::Signal< void(FieldsContainerType, FieldsContainerType) > | ChangedFieldsSignalType |
Type of signal when objects are changed (newObjects, oldObjects) | |
typedef ::fwCom::Signal< void(FieldsContainerType) > | RemovedFieldsSignalType |
Type of signal when objects are removed. | |
Public Types inherited from fwCom::HasSignals | |
typedef std::shared_ptr< HasSignals > | sptr |
typedef std::shared_ptr< const HasSignals > | csptr |
Public Member Functions | |
virtual bool | isA (const std::string &type) const override |
FWDATA_API void | shallowCopy (const Object::csptr &_source) override |
Defines shallow copy. | |
FWDATA_API void | cachedDeepCopy (const Object::csptr &_source, DeepCopyCacheType &cache) override |
Defines deep copy. | |
template<class DATATYPE > | |
void | setDataContainer (const std::map< std::string, std::shared_ptr< DATATYPE > > &map) |
Method to initialize a fwData::Composite from a std::map< string, X > | |
template<class DATATYPE > | |
std::map< std::string, std::shared_ptr< DATATYPE > > | getDataContainer () const |
Method to get a std::map< string, X > from fwData::Composite. | |
template<class DATATYPE > | |
std::shared_ptr< DATATYPE > | at (const std::string &key) |
Returns object in composite associated with the key. If no such object exists, a null object is returned. More... | |
template<class DATATYPE > | |
std::shared_ptr< const DATATYPE > | at (const std::string &key) const |
Returns object in composite associated with the key. If no such object exists, a null object is returned. More... | |
ContainerType & | getContainer () |
get/set the map of std::string/fwData::Object | |
const ContainerType & | getContainer () const |
get/set the map of std::string/fwData::Object | |
void | setContainer (const ContainerType &val) |
get/set the map of std::string/fwData::Object | |
Public Member Functions inherited from fwData::Object | |
FWDATA_API::fwData::Object::sptr | getField (const FieldNameType &name,::fwData::Object::sptr defaultValue=::fwData::Object::sptr()) const |
Returns a pointer of corresponding field (null if non exist). More... | |
template<typename DATA_TYPE > | |
std::shared_ptr< DATA_TYPE > | getField (const FieldNameType &name) const |
Returns a pointer of corresponding field. More... | |
template<typename DATA_TYPE > | |
std::shared_ptr< DATA_TYPE > | getField (const FieldNameType &name, std::shared_ptr< DATA_TYPE > defaultValue) const |
Returns a pointer of corresponding field. More... | |
template<typename DATA_TYPE > | |
std::shared_ptr< DATA_TYPE > | setDefaultField (const FieldNameType &name, std::shared_ptr< DATA_TYPE > defaultValue) |
Returns a pointer of corresponding field. If field did not exist, it is set to defaultValue if defaultValue is not null. More... | |
FWDATA_API::fwData::Object::csptr | getConstField (const FieldNameType &name) const |
Returns a pointer of corresponding field (null if non exist). More... | |
FWDATA_API const FieldMapType & | getFields () const |
Returns fields map. | |
FWDATA_API FieldNameVectorType | getFieldNames () const |
Returns vector of field names. | |
FWDATA_API void | setField (const FieldNameType &name,::fwData::Object::sptr obj) |
Register field with specified name. If the name does already exist, the matching field will be replaced. More... | |
FWDATA_API void | setFields (const FieldMapType &fieldMap) |
Replace the field map content. | |
FWDATA_API void | removeField (const FieldNameType &name) |
Removes field with specified name. More... | |
virtual FWDATA_API void | shallowCopy (const ::fwData::Object::csptr &source) |
A shallow copy of fields (objects in m_children) More... | |
FWDATA_API void | deepCopy (const ::fwData::Object::csptr &source) |
Make a deep copy from the source Calling this method may invalidate any DumpLock, RescursiveLock or helper on the object. Prefer using fwData::Object::copy instead. | |
FWDATA_API void | fieldShallowCopy (const ::fwData::Object::csptr &source) |
A shallow copy of fields (objects in m_children) More... | |
FWDATA_API void | fieldDeepCopy (const ::fwData::Object::csptr &source) |
A deep copy of fields (objects in m_children) More... | |
::fwCore::mt::ReadWriteMutex & | getMutex () const |
Returns the object's mutex. | |
Public Member Functions inherited from fwTools::Object | |
Public Member Functions inherited from fwCore::BaseObject | |
Public Member Functions inherited from fwCom::HasSignals | |
std::shared_ptr< SignalBase > | signal (const Signals::SignalKeyType &key) const |
template<typename SignalType > | |
std::shared_ptr< SignalType > | signal (const Signals::SignalKeyType &key) const |
template<typename SignalType > | |
std::shared_ptr< SignalType > | newSignal (const Signals::SignalKeyType &key) |
Static Public Member Functions | |
static bool | isTypeOf (const std::string &type) |
Static Public Member Functions inherited from fwData::Object | |
static bool | isTypeOf (const std::string &type) |
static FWDATA_API::fwData::Object::sptr | copy (const ::fwData::Object::csptr &source) |
return a copy of the source. if source is a null pointer, return a null pointer. | |
template<typename DATA_TYPE > | |
static std::shared_ptr< DATA_TYPE > | copy (const std::shared_ptr< const DATA_TYPE > &source) |
return a copy of the source. if source is a null pointer, return a null pointer. | |
template<typename DATA_TYPE > | |
static std::shared_ptr< DATA_TYPE > | copy (const std::shared_ptr< DATA_TYPE > &source) |
return a copy of the source. if source is a null pointer, return a null pointer. | |
static const std::string & | classname () |
return full object's classname with its namespace, i.e. fwCore::BaseObject | |
Static Public Member Functions inherited from fwTools::Object | |
static bool | isTypeOf (const std::string &type) |
static const std::string & | classname () |
return full object's classname with its namespace, i.e. fwCore::BaseObject | |
Static Public Member Functions inherited from fwCore::BaseObject | |
static bool | isTypeOf (const std::string &type) |
static const std::string & | leafClassname () |
return object's classname without its namespace, i.e. BaseObject | |
static const std::string & | classname () |
return object's classname without its namespace, i.e. BaseObject | |
Protected Attributes | |
ContainerType | m_container |
Protected Attributes inherited from fwData::Object | |
FieldMapType | m_fields |
Fields. | |
mutable::fwCore::mt::ReadWriteMutex | m_mutex |
Mutex to protect object access. | |
Protected Attributes inherited from fwTools::Object | |
std::shared_ptr< ::fwTools::UUID > | m_uuid |
UUID used to identify the object, notably for serialization. | |
Protected Attributes inherited from fwCom::HasSignals | |
Signals | m_signals |
Friends | |
template<class , class , class > | |
class | ::fwTools::ClassFactory |
class | ::fwTools::Factory |
Demangling methods | |
virtual const std::string & | getLeafClassname () const override |
return object's classname without its namespace, i.e. BaseObject | |
virtual const std::string & | getClassname () const override |
return full object's classname with its namespace, i.e. fwCore::BaseObject | |
static const std::string & | leafClassname () |
return object's classname without its namespace, i.e. BaseObject | |
static const std::string & | classname () |
return object's classname without its namespace, i.e. BaseObject | |
typedef ContainerType::key_type | key_type |
typedef ContainerType::mapped_type | mapped_type |
typedef ContainerType::value_type | value_type |
typedef ContainerType::iterator | iterator |
typedef ContainerType::const_iterator | const_iterator |
typedef ContainerType::reverse_iterator | reverse_iterator |
typedef ContainerType::const_reverse_iterator | const_reverse_iterator |
typedef ContainerType::size_type | size_type |
FWDATA_API | Composite (::fwData::Object::Key key) |
Constructor. More... | |
virtual FWDATA_API | ~Composite () |
Destructor. | |
IteratorType | begin () |
IteratorType | end () |
ConstIteratorType | begin () const |
ConstIteratorType | end () const |
ReverseIteratorType | rbegin () |
ReverseIteratorType | rend () |
ConstReverseIteratorType | rbegin () const |
ConstReverseIteratorType | rend () const |
bool | empty () const |
SizeType | size () const |
mapped_type & | operator[] (KeyType n) |
IteratorType | find (const KeyType &x) |
ConstIteratorType | find (const KeyType &x) const |
SizeType | count (const KeyType &x) const |
Signals | |
typedef ::fwCom::Signal< void(ContainerType) > | AddedObjectsSignalType |
Type of signal when objects are added. | |
typedef ::fwCom::Signal< void(ContainerType, ContainerType) > | ChangedObjectsSignalType |
Type of signal when objects are changed (newObjects, oldObjects) | |
typedef ::fwCom::Signal< void(ContainerType) > | RemovedObjectsSignalType |
Type of signal when objects are removed. | |
static FWDATA_APIconst::fwCom::Signals::SignalKeyType | s_ADDED_OBJECTS_SIG = "addedObjects" |
Type of signal when objects are added. | |
static FWDATA_APIconst::fwCom::Signals::SignalKeyType | s_CHANGED_OBJECTS_SIG = "changedObjects" |
Type of signal when objects are added. | |
static FWDATA_APIconst::fwCom::Signals::SignalKeyType | s_REMOVED_OBJECTS_SIG = "removedObjects" |
Type of signal when objects are added. | |
Additional Inherited Members | |
Static Public Attributes inherited from fwData::Object | |
static FWDATA_APIconst::fwCom::Signals::SignalKeyType | s_MODIFIED_SIG = "modified" |
Key in m_signals map of signal m_sigModified. | |
static FWDATA_APIconst::fwCom::Signals::SignalKeyType | s_ADDED_FIELDS_SIG = "addedFields" |
Type of signal m_sigModified. | |
static FWDATA_APIconst::fwCom::Signals::SignalKeyType | s_CHANGED_FIELDS_SIG = "changedFields" |
Type of signal m_sigModified. | |
static FWDATA_APIconst::fwCom::Signals::SignalKeyType | s_REMOVED_FIELDS_SIG = "removedFields" |
Type of signal m_sigModified. | |
Protected Types inherited from fwTools::fwID | |
enum | Policy { EMPTY = 1, GENERATE, MUST_EXIST } |
typedef std::string | IDType |
Protected Member Functions inherited from fwData::Object | |
FWDATA_API void | fieldDeepCopy (const ::fwData::Object::csptr &source, DeepCopyCacheType &cache) |
Internal-use methods to implement Object's deepCopy. | |
virtual FWDATA_API void | cachedDeepCopy (const ::fwData::Object::csptr &source, DeepCopyCacheType &cache)=0 |
Internal-use methods to implement Object's deepCopy. | |
Protected Member Functions inherited from fwTools::fwID | |
FWTOOLS_API bool | hasID () const |
Return true if the object has an id set. More... | |
FWTOOLS_API IDType | getID (Policy policy=GENERATE) const |
Returns the id of the object. If it is not set and the policy value is. More... | |
virtual FWTOOLS_API void | setID (IDType newID) |
Set a newID for the object, (newID must not exist in fwID), the oldest one is released. More... | |
FWTOOLS_API void | resetID () |
Release the id for the object. More... | |
fwID () | |
Constructor : does nothing. | |
Protected Member Functions inherited from fwCom::HasSignals | |
HasSignals (const HasSignals &) | |
Copy constructor forbidden. | |
HasSignals & | operator= (const HasSignals &) |
Copy operator forbidden. | |
Static Protected Member Functions inherited from fwData::Object | |
static FWDATA_API::fwData::Object::sptr | copy (const ::fwData::Object::csptr &source, DeepCopyCacheType &cache) |
Internal-use methods to implement Object's deepCopy. | |
template<typename DATA_TYPE > | |
static std::shared_ptr< DATA_TYPE > | copy (const std::shared_ptr< const DATA_TYPE > &source, DeepCopyCacheType &cache) |
Internal-use methods to implement Object's deepCopy. | |
template<typename DATA_TYPE > | |
static std::shared_ptr< DATA_TYPE > | copy (const std::shared_ptr< DATA_TYPE > &source, DeepCopyCacheType &cache) |
Internal-use methods to implement Object's deepCopy. | |
Static Protected Member Functions inherited from fwTools::fwID | |
static bool | isTypeOf (const std::string &type) |
static FWTOOLS_API bool | exist (IDType _id) |
static FWTOOLS_API std::shared_ptr< ::fwTools::Object > | getObject (IDType requestID) |
Retrieve the object attached to the given id. Return a null sptr if no correspondence exist. More... | |
static const std::string & | leafClassname () |
return object's classname without its namespace, i.e. BaseObject | |
static const std::string & | classname () |
return object's classname without its namespace, i.e. BaseObject | |
This class defines a composite object.
Composite contains a map of fwData::Object.
Definition at line 35 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
typedef ContainerType::const_iterator fwData::Composite::const_iterator |
boost_foreach/stl compatibility
Definition at line 58 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
typedef ContainerType::const_reverse_iterator fwData::Composite::const_reverse_iterator |
boost_foreach/stl compatibility
Definition at line 60 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
typedef ContainerType::iterator fwData::Composite::iterator |
boost_foreach/stl compatibility
Definition at line 57 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
typedef ContainerType::key_type fwData::Composite::key_type |
boost_foreach/stl compatibility
Definition at line 54 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
typedef ContainerType::mapped_type fwData::Composite::mapped_type |
boost_foreach/stl compatibility
Definition at line 55 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
typedef ContainerType::reverse_iterator fwData::Composite::reverse_iterator |
boost_foreach/stl compatibility
Definition at line 59 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
typedef ContainerType::size_type fwData::Composite::size_type |
boost_foreach/stl compatibility
Definition at line 61 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
typedef ContainerType::value_type fwData::Composite::value_type |
boost_foreach/stl compatibility
Definition at line 56 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
fwData::Composite::Composite | ( | ::fwData::Object::Key | key | ) |
Constructor.
key | Private construction key |
Definition at line 28 of file SrcLib/core/fwData/src/fwData/Composite.cpp.
References s_ADDED_OBJECTS_SIG, s_CHANGED_OBJECTS_SIG, and s_REMOVED_OBJECTS_SIG.
std::shared_ptr< DATATYPE > fwData::Composite::at | ( | const std::string & | key | ) |
Returns object in composite associated with the key. If no such object exists, a null object is returned.
key | the key of the object to find |
Definition at line 307 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
References SLM_TRACE, SLM_TRACE_IF, and SPTR.
std::shared_ptr< const DATATYPE > fwData::Composite::at | ( | const std::string & | key | ) | const |
Returns object in composite associated with the key. If no such object exists, a null object is returned.
key | the key of the object to find |
Definition at line 326 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
References CSPTR, SLM_TRACE, and SLM_TRACE_IF.
|
inline |
boost_foreach/stl compatibility
Definition at line 161 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
References begin().
Referenced by begin().
|
inline |
boost_foreach/stl compatibility
Definition at line 175 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
|
inline |
boost_foreach/stl compatibility
Definition at line 252 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
|
inline |
boost_foreach/stl compatibility
Definition at line 217 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
|
inline |
boost_foreach/stl compatibility
Definition at line 168 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
|
inline |
boost_foreach/stl compatibility
Definition at line 182 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
|
inline |
boost_foreach/stl compatibility
Definition at line 238 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
|
inline |
boost_foreach/stl compatibility
Definition at line 245 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
|
inline |
boost_foreach/stl compatibility
Definition at line 231 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
|
inline |
boost_foreach/stl compatibility
Definition at line 189 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
|
inline |
boost_foreach/stl compatibility
Definition at line 203 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
|
inline |
boost_foreach/stl compatibility
Definition at line 196 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
|
inline |
boost_foreach/stl compatibility
Definition at line 210 of file SrcLib/core/fwData/include/fwData/Composite.hpp.
|
inline |
boost_foreach/stl compatibility
Definition at line 224 of file SrcLib/core/fwData/include/fwData/Composite.hpp.