ADTF
Loading...
Searching...
No Matches
adtf::ucom::ant::object_enum_base< T, INTERFACE_TYPE, CONTAINER > Class Template Reference

basic object interface implementation template. More...

#include <object_list.h>

Inherits adtf::ucom::ant::iobject_enum< T >.

Inherited by adtf::ucom::ant::object_enum< T, INTERFACE_TYPE, std::list >, and adtf::ucom::ant::object_enum< T, INTERFACE_TYPE, std::vector >.

Public Types

typedef CONTAINER< object_ptr< T > > container_type
 container type
 
typedef iobject_enum< INTERFACE_TYPE > base_type
 base type
 
typedef base_type interface_type
 interface type
 
typedef object_ptr< T > value_type
 internal value type
 
- Public Types inherited from adtf::ucom::ant::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

 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
 
- Public Member Functions inherited from adtf::ucom::ant::iobject_enum< T >
virtual tResult PushObject (const value_type &oObject)=0
 
virtual tResult GetObjects (my_type &oObjectsEnum) const=0
 
virtual tResult PushObject (const value_type &oObject)=0
 
virtual tResult GetObjects (my_type &oObjectsEnum) const =0
 
virtual tResult PushObject (const value_type &oObject)=0
 
virtual tResult GetObjects (my_type &oObjectsEnum) const=0
 
virtual tResult PushObject (const value_type &oObject)=0
 
virtual tResult GetObjects (my_type &oObjectsEnum) const =0
 

Friends

template<typename, typename, template< typename, typename > class>
class object_enum
 

Additional Inherited Members

- Protected Member Functions inherited from adtf::ucom::ant::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_base< T, INTERFACE_TYPE, CONTAINER >

basic object interface implementation template.

The implementation will ONLY store values of T but represents the interface iobject_enum<INTERFACE_TYPE>. This is to filter multiple inheritance (use case: i.e. filter IInPin out of a list of IPin)

Template Parameters
Tvalue type (must be derived from IObject)
INTERFACE_TYPEinterface type (must be derived from IObject) the implementation is representing iobject_enum < INTERFACE_TYPE >.
CONTAINERcontainer type to use (i.e. std::list, std::vector etc.) The container type must support a push_back function.

Member Function Documentation

◆ GetSize()

template<typename T, typename INTERFACE_TYPE = T, template< typename ELEM, typename ALLOC=std::allocator< ELEM > > class CONTAINER = std::list>
size_t adtf::ucom::ant::object_enum_base< T, INTERFACE_TYPE, CONTAINER >::GetSize ( ) const
inlineoverridevirtual

Retrieves the current value count.

Returns
value count of the container.

Implements adtf::ucom::ant::iobject_enum< T >.


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