7#ifndef _ADTF_UCOM_ANT_OBJECT_LIST_INCLUDES_HEADER_
8#define _ADTF_UCOM_ANT_OBJECT_LIST_INCLUDES_HEADER_
20template<
typename INTERFACE_TYPE>
77 typename INTERFACE_TYPE = T,
78 template<
typename ELEM,
79 typename ALLOC = std::allocator<ELEM>
80 >
class CONTAINER = std::list
84 template <
typename,
typename,
template<
typename,
typename>
class >
85 friend class object_enum;
102 object_enum_base() : m_pContainer(nullptr)
112 m_pContainer = pContainer;
125 m_pContainer =
nullptr;
128 void SetPushOption(uint32_t ui32PushOption)
130 m_ui32PushOption = ui32PushOption;
146 m_pContainer->push_back(oObject);
164 typename container_type::const_iterator it = m_pContainer->cbegin();
165 for (; it != m_pContainer->cend(); ++it)
167 object_ptr<INTERFACE_TYPE> oConversion = *it;
171 oObjectsEnum.PushObject(oConversion);
190 return m_pContainer->size();
209 typename INTERFACE_TYPE = T,
210 template<
typename ELEM,
211 typename ALLOC = std::allocator<ELEM>
212 >
class CONTAINER = std::list
215class object_enum :
public object_enum_base < T, INTERFACE_TYPE, CONTAINER >
218 typedef object_enum_base<T, INTERFACE_TYPE, CONTAINER> base_type;
233 typedef typename container_type::iterator
iterator;
347 void PushBack(
const value_type& oObjectValue)
352 void PushFront(
const value_type& oObjectValue)
362 void DeleteObject(
const value_interface_type& oObject)
368 if ((*it) == oObject)
378 using base_type::Reset;
401template<
typename T,
typename INTERFACE_TYPE = T>
409template<
typename T,
typename INTERFACE_TYPE = T>
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
Definition result.h:736
#define RETURN_NOERROR
Return status ERR_NOERROR, which requires the calling function's return type to be tResult.
Definition result.h:29
#define RETURN_ERROR(code)
Return specific error code, which requires the calling function's return type to be tResult.
Definition result.h:42
Definition object_list.h:22
~iobject_enum()
hide DTOR
Definition object_list.h:25
iobject_enum< INTERFACE_TYPE > my_type
this type
Definition object_list.h:33
virtual size_t GetSize() const =0
virtual tResult PushObject(const value_type &oObject)=0
iobject_ptr< INTERFACE_TYPE > value_type
value type of the contained objects
Definition object_list.h:31
virtual tResult GetObjects(my_type &oObjectsEnum) const =0
Base object pointer to realize binary compatible reference counting in interface methods.
Definition object_ptr_intf.h:112
basic object interface implementation template.
Definition object_list.h:83
size_t GetSize() const override
Definition object_list.h:186
base_type interface_type
interface type
Definition object_list.h:92
object_ptr< T > value_type
internal value type
Definition object_list.h:94
object_enum_base(container_type *pContainer)
CTOR.
Definition object_list.h:116
CONTAINER< object_ptr< T > > container_type
container type
Definition object_list.h:88
iobject_enum< INTERFACE_TYPE > base_type
base type
Definition object_list.h:90
Definition object_list.h:216
container_type::const_iterator const_iterator
short typedefinition for cString lists iterators
Definition object_list.h:229
iterator begin()
Definition object_list.h:240
iterator end()
Definition object_list.h:246
object_enum(object_enum &&oOther)
move CTOR
Definition object_list.h:291
object_enum(const object_enum &oOther)
copy CTOR
Definition object_list.h:286
container_type & GetContainer()
Definition object_list.h:342
object_enum()
CTOR.
Definition object_list.h:281
container_type::reverse_iterator reverse_iterator
short typedefinition for cString lists reverse iterators
Definition object_list.h:235
object_enum & operator=(object_enum &&oOther)
Definition object_list.h:321
object_enum(std::initializer_list< value_type > lstValues)
Definition object_list.h:306
container_type m_oContainer
Definition object_list.h:225
container_type::iterator iterator
short typedefinition for cString lists iterators
Definition object_list.h:233
object_enum(const container_type &oResetContainerContent)
Definition object_list.h:298
object_enum & operator=(const object_enum &oOther)
Definition object_list.h:313
const_iterator cend() const
Definition object_list.h:258
const_iterator cbegin() const
Definition object_list.h:252
object_enum & operator=(const container_type &oResetContainerContent)
Definition object_list.h:330
container_type::const_reverse_iterator const_reverse_iterator
short typedefinition for cString lists reverse iterators
Definition object_list.h:231
Definition object_ptr.h:384
iobject_enum< T > my_type
Definition object_list.h:33
iobject_ptr< T > value_type
Definition object_list.h:31
container_type::const_iterator const_iterator
Definition object_list.h:229
container_type::iterator iterator
Definition object_list.h:233
Namespace for all functionality of the ADTF UCOM SDK provided since v3.0.
Definition test_runtime.h:14
object_enum< T, INTERFACE_TYPE, std::list > object_list
Definition object_list.h:402
iobject_enum< T > iobject_vector
Definition object_list.h:394
object_enum_push_option
Definition object_list.h:60
@ eNone
no push option set
Definition object_list.h:62
@ eNoDuplicates
filter duplicates on PushObject call
Definition object_list.h:64
iobject_enum< T > iobject_list
Definition object_list.h:387
object_enum< T, INTERFACE_TYPE, std::vector > object_vector
Definition object_list.h:410
Namespace for the ADTF uCOM SDK.
Definition adtf_system.h:324
Namespace for all functionality provided by ADTF and its SDKs.
Definition adtf_client_connector.h:14