fw4spl
fwData::List Class Reference

This class defines a list of objects. More...

#include <List.hpp>

+ Inheritance diagram for fwData::List:
+ Collaboration diagram for fwData::List:

Public Types

typedef std::list< Object::sptr > ContainerType
 
typedef ContainerType::value_type ValueType
 
typedef ContainerType::reference ReferenceType
 
typedef ContainerType::const_reference ConstReferenceType
 
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< HasSignalssptr
 
typedef std::shared_ptr< const HasSignalscsptr
 

Public Member Functions

virtual bool isA (const std::string &type) const override
 
FWDATA_API List (::fwData::Object::Key key)
 Constructor. More...
 
virtual FWDATA_API ~List ()
 Destructor.
 
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.
 
ContainerType & getContainer ()
 get/set the list of fwData::Object
 
const ContainerType & getContainer () const
 get/set the list of fwData::Object
 
void setContainer (const ContainerType &val)
 get/set the list of 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::ReadWriteMutexgetMutex () 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< SignalBasesignal (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::UUIDm_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::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
 
typedef List Container
 
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
 
ReferenceType front ()
 
ReferenceType back ()
 
ConstReferenceType front () const
 
ConstReferenceType back () const
 

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.
 
HasSignalsoperator= (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::ObjectgetObject (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
 

Detailed Description

This class defines a list of objects.

List contains a list of fwData::Object.

Definition at line 26 of file SrcLib/core/fwData/include/fwData/List.hpp.

Member Typedef Documentation

typedef ContainerType::const_iterator fwData::List::const_iterator

boost_foreach/stl compatibility

Definition at line 59 of file SrcLib/core/fwData/include/fwData/List.hpp.

typedef ContainerType::const_reverse_iterator fwData::List::const_reverse_iterator

boost_foreach/stl compatibility

Definition at line 61 of file SrcLib/core/fwData/include/fwData/List.hpp.

boost_foreach/stl compatibility

Definition at line 64 of file SrcLib/core/fwData/include/fwData/List.hpp.

typedef ContainerType::iterator fwData::List::iterator

boost_foreach/stl compatibility

Definition at line 58 of file SrcLib/core/fwData/include/fwData/List.hpp.

typedef ContainerType::reverse_iterator fwData::List::reverse_iterator

boost_foreach/stl compatibility

Definition at line 60 of file SrcLib/core/fwData/include/fwData/List.hpp.

typedef ContainerType::size_type fwData::List::size_type

boost_foreach/stl compatibility

Definition at line 62 of file SrcLib/core/fwData/include/fwData/List.hpp.

typedef ContainerType::value_type fwData::List::value_type

boost_foreach/stl compatibility

Definition at line 57 of file SrcLib/core/fwData/include/fwData/List.hpp.

Constructor & Destructor Documentation

fwData::List::List ( ::fwData::Object::Key  key)

Constructor.

Parameters
keyPrivate construction key

Definition at line 18 of file SrcLib/core/fwData/src/fwData/List.cpp.

References SLM_TRACE_FUNC.

Member Function Documentation

List::ReferenceType fwData::List::back ( )
inline

boost_foreach/stl compatibility

Definition at line 182 of file SrcLib/core/fwData/include/fwData/List.hpp.

List::ConstReferenceType fwData::List::back ( ) const
inline

boost_foreach/stl compatibility

Definition at line 196 of file SrcLib/core/fwData/include/fwData/List.hpp.

List::IteratorType fwData::List::begin ( )
inline

boost_foreach/stl compatibility

Definition at line 105 of file SrcLib/core/fwData/include/fwData/List.hpp.

List::ConstIteratorType fwData::List::begin ( ) const
inline

boost_foreach/stl compatibility

Definition at line 119 of file SrcLib/core/fwData/include/fwData/List.hpp.

bool fwData::List::empty ( ) const
inline

boost_foreach/stl compatibility

Definition at line 161 of file SrcLib/core/fwData/include/fwData/List.hpp.

List::IteratorType fwData::List::end ( )
inline

boost_foreach/stl compatibility

Definition at line 112 of file SrcLib/core/fwData/include/fwData/List.hpp.

List::ConstIteratorType fwData::List::end ( ) const
inline

boost_foreach/stl compatibility

Definition at line 126 of file SrcLib/core/fwData/include/fwData/List.hpp.

List::ReferenceType fwData::List::front ( )
inline

boost_foreach/stl compatibility

Definition at line 175 of file SrcLib/core/fwData/include/fwData/List.hpp.

List::ConstReferenceType fwData::List::front ( ) const
inline

boost_foreach/stl compatibility

Definition at line 189 of file SrcLib/core/fwData/include/fwData/List.hpp.

List::ReverseIteratorType fwData::List::rbegin ( )
inline

boost_foreach/stl compatibility

Definition at line 133 of file SrcLib/core/fwData/include/fwData/List.hpp.

List::ConstReverseIteratorType fwData::List::rbegin ( ) const
inline

boost_foreach/stl compatibility

Definition at line 147 of file SrcLib/core/fwData/include/fwData/List.hpp.

List::ReverseIteratorType fwData::List::rend ( )
inline

boost_foreach/stl compatibility

Definition at line 140 of file SrcLib/core/fwData/include/fwData/List.hpp.

List::ConstReverseIteratorType fwData::List::rend ( ) const
inline

boost_foreach/stl compatibility

Definition at line 154 of file SrcLib/core/fwData/include/fwData/List.hpp.

List::SizeType fwData::List::size ( ) const
inline

boost_foreach/stl compatibility

Definition at line 168 of file SrcLib/core/fwData/include/fwData/List.hpp.


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