ADTF
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
object_enum< T, INTERFACE_TYPE, CONTAINER >

container type template for a set of object_ptr This template will provide a container for object_ptr with type T and implements a filtered interface for iobject_enum wtih type INTERFACE_TYPE More...

#include <object_list.h>

Inheritance diagram for object_enum< T, INTERFACE_TYPE, CONTAINER >:
[legend]

Public Types

typedef object_enum_base< T, INTERFACE_TYPE, CONTAINER > base_type
 
typedef base_type::container_type container_type
 
typedef base_type::interface_type interface_type
 
typedef object_ptr< T > value_type
 
typedef iobject_ptr< T > value_interface_type
 
typedef container_type::const_iterator const_iterator
 short typedefinition for cString lists iterators
 
typedef container_type::const_reverse_iterator const_reverse_iterator
 short typedefinition for cString lists reverse iterators
 
typedef container_type::iterator iterator
 short typedefinition for cString lists iterators
 
typedef container_type::reverse_iterator reverse_iterator
 short typedefinition for cString lists reverse iterators
 
- Public Types inherited from object_enum_base< T, T, std::list >
typedef std::list< object_ptr< T > > container_type
 container type
 
typedef iobject_enum< T > base_type
 base type
 
typedef base_type interface_type
 interface type
 
typedef object_ptr< T > value_type
 internal value type
 
- Public Types inherited from iobject_enum< T >
typedef iobject_ptr< T > value_type
 value type of the contained objects
 
typedef iobject_enum< T > my_type
 this type
 
typedef iobject_ptr< T > value_type
 value type of the contained objects
 
typedef iobject_enum< T > my_type
 this type
 
typedef iobject_ptr< T > value_type
 value type of the contained objects
 
typedef iobject_enum< T > my_type
 this type
 

Public Member Functions

iterator begin ()
 begin iterator
 
iterator end ()
 end iterator
 
const_iterator cbegin () const
 const begin iterator
 
const_iterator cend () const
 const end iterator
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
const_reverse_iterator crbegin () const
 
const_reverse_iterator crend () const
 
 object_enum ()
 CTOR.
 
 object_enum (const object_enum &oOther)
 copy CTOR
 
 object_enum (object_enum &&oOther)
 move CTOR
 
 object_enum (const container_type &oResetContainerContent)
 special copy CTOR to copy container content of same value_type
 
 object_enum (std::initializer_list< value_type > lstValues)
 special initializer CTOR to create container content
 
object_enumoperator= (const object_enum &oOther)
 copy operator
 
object_enumoperator= (object_enum &&oOther)
 move operator
 
object_enumoperator= (const container_type &oResetContainerContent)
 special copy operator
 
container_type & GetContainer ()
 this method is ONLY for your convenience to use this in other templates !
 
void PushBack (const value_type &oObjectValue)
 
void PushFront (const value_type &oObjectValue)
 
void Clear ()
 
void DeleteObject (const value_interface_type &oObject)
 
- Public Member Functions inherited from object_enum_base< T, T, std::list >
 object_enum_base (container_type *pContainer)
 CTOR.
 
void Reset ()
 
void SetPushOption (uint32_t ui32PushOption)
 
tResult PushObject (const typename interface_type::value_type &oObject) override
 
tResult GetObjects (base_type &oObjectsEnum) const override
 
size_t GetSize () const override
 Retrieves the current value count.
 
- Public Member Functions inherited from iobject_enum< T >
virtual tResult PushObject (const value_type &oObject)=0
 Pushes a object of value_type to the container.
 
virtual tResult PushObject (const value_type &oObject)=0
 Pushes a object of value_type to the container.
 
virtual tResult PushObject (const value_type &oObject)=0
 Pushes a object of value_type to the container.
 
virtual tResult PushObject (const value_type &oObject)=0
 Pushes a object of value_type to the container.
 

Public Attributes

container_type m_oContainer
 container implementation
 

Private Member Functions

void Reset ()
 

Additional Inherited Members

- Protected Member Functions inherited from iobject_enum< T >
 ~iobject_enum ()
 hide DTOR
 
 ~iobject_enum ()
 hide DTOR
 
 ~iobject_enum ()
 hide DTOR
 
 ~iobject_enum ()
 hide DTOR
 

Detailed Description

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
class adtf::ucom::ant::object_enum< T, INTERFACE_TYPE, CONTAINER >

container type template for a set of object_ptr This template will provide a container for object_ptr with type T and implements a filtered interface for iobject_enum wtih type INTERFACE_TYPE

Template Parameters
Tthe Object Interface type for the object_ptr
INTERFACE_TYPEthe Object Interface type for the iobject_enum interface.
CONTAINERthe container type for

Definition at line 215 of file object_list.h.

Member Typedef Documentation

◆ base_type

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
typedef object_enum_base<T, INTERFACE_TYPE, CONTAINER> base_type

Definition at line 218 of file object_list.h.

◆ const_iterator

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
typedef container_type::const_iterator const_iterator

short typedefinition for cString lists iterators

Definition at line 229 of file object_list.h.

◆ const_reverse_iterator

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
typedef container_type::const_reverse_iterator const_reverse_iterator

short typedefinition for cString lists reverse iterators

Definition at line 231 of file object_list.h.

◆ container_type

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
typedef base_type::container_type container_type

Definition at line 219 of file object_list.h.

◆ interface_type

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
typedef base_type::interface_type interface_type

Definition at line 220 of file object_list.h.

◆ iterator

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
typedef container_type::iterator iterator

short typedefinition for cString lists iterators

Definition at line 233 of file object_list.h.

◆ reverse_iterator

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
typedef container_type::reverse_iterator reverse_iterator

short typedefinition for cString lists reverse iterators

Definition at line 235 of file object_list.h.

◆ value_interface_type

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
typedef iobject_ptr<T> value_interface_type

Definition at line 222 of file object_list.h.

◆ value_type

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
typedef object_ptr<T> value_type

Definition at line 221 of file object_list.h.

Constructor & Destructor Documentation

◆ object_enum() [1/5]

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
object_enum ( )
inline

CTOR.

Definition at line 281 of file object_list.h.

◆ object_enum() [2/5]

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
object_enum ( const object_enum< T, INTERFACE_TYPE, CONTAINER > & oOther)
inline

copy CTOR

Definition at line 286 of file object_list.h.

◆ object_enum() [3/5]

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
object_enum ( object_enum< T, INTERFACE_TYPE, CONTAINER > && oOther)
inline

move CTOR

Definition at line 291 of file object_list.h.

◆ object_enum() [4/5]

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
object_enum ( const container_type & oResetContainerContent)
inline

special copy CTOR to copy container content of same value_type

Parameters
[in]oResetContainerContentcontainer content to copy

Definition at line 298 of file object_list.h.

◆ object_enum() [5/5]

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
object_enum ( std::initializer_list< value_type > lstValues)
inline

special initializer CTOR to create container content

Parameters
[in]lstValuesinitializer list of object pointer references

Definition at line 306 of file object_list.h.

Member Function Documentation

◆ begin()

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
iterator begin ( )
inline

begin iterator

Returns
begin iterator

Definition at line 240 of file object_list.h.

◆ cbegin()

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
const_iterator cbegin ( ) const
inline

const begin iterator

Returns
const begin iterator

Definition at line 252 of file object_list.h.

◆ cend()

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
const_iterator cend ( ) const
inline

const end iterator

Returns
const end iterator

Definition at line 258 of file object_list.h.

◆ Clear()

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
void Clear ( )
inline

Definition at line 357 of file object_list.h.

◆ crbegin()

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
const_reverse_iterator crbegin ( ) const
inline

Definition at line 270 of file object_list.h.

◆ crend()

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
const_reverse_iterator crend ( ) const
inline

Definition at line 274 of file object_list.h.

◆ DeleteObject()

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
void DeleteObject ( const value_interface_type & oObject)
inline

Definition at line 362 of file object_list.h.

◆ end()

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
iterator end ( )
inline

end iterator

Returns
end iterator

Definition at line 246 of file object_list.h.

◆ GetContainer()

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
container_type & GetContainer ( )
inline

this method is ONLY for your convenience to use this in other templates !

! AND to use optimized emplacement etc.

Returns
Will return the value of container type.

Definition at line 342 of file object_list.h.

◆ operator=() [1/3]

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
object_enum & operator= ( const container_type & oResetContainerContent)
inline

special copy operator

Parameters
[in]oResetContainerContentcointer of value_type

Definition at line 330 of file object_list.h.

◆ operator=() [2/3]

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
object_enum & operator= ( const object_enum< T, INTERFACE_TYPE, CONTAINER > & oOther)
inline

copy operator

Parameters
[in]oOthercontent to copy

Definition at line 313 of file object_list.h.

◆ operator=() [3/3]

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
object_enum & operator= ( object_enum< T, INTERFACE_TYPE, CONTAINER > && oOther)
inline

move operator

Parameters
[in]oOthercontent to move

Definition at line 321 of file object_list.h.

◆ PushBack()

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
void PushBack ( const value_type & oObjectValue)
inline

Definition at line 347 of file object_list.h.

◆ PushFront()

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
void PushFront ( const value_type & oObjectValue)
inline

Definition at line 352 of file object_list.h.

◆ rbegin()

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
reverse_iterator rbegin ( )
inline

Definition at line 262 of file object_list.h.

◆ rend()

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
reverse_iterator rend ( )
inline

Definition at line 266 of file object_list.h.

◆ Reset()

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
void Reset ( )
inlineprivate

Definition at line 123 of file object_list.h.

Member Data Documentation

◆ m_oContainer

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
container_type m_oContainer

container implementation

Definition at line 225 of file object_list.h.

Referenced by object_enum< T, INTERFACE_TYPE, std::list >::operator=().