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;
128 void SetPushOption(uint32_t ui32PushOption)
164 typename container_type::const_iterator it =
m_pContainer->cbegin();
167 object_ptr<INTERFACE_TYPE> oConversion = *it;
171 oObjectsEnum.PushObject(oConversion);
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;
215class object_enum :
public object_enum_base < T, INTERFACE_TYPE, CONTAINER > {
…};
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.
#define RETURN_NOERROR
Return status ERR_NOERROR, which requires the calling function's return type to be tResult.
#define RETURN_ERROR(code)
Return specific error code, which requires the calling function's return type to be tResult.
Interface definition for a container of objects.
virtual tResult GetObjects(my_type &oObjectsEnum) const =0
Pushes every contained value to the given container in oObjectsEnum.
virtual size_t GetSize() const =0
Retrieves the current value count.
iobject_enum< INTERFACE_TYPE > my_type
this type
virtual tResult PushObject(const value_type &oObject)=0
Pushes a object of value_type to the container.
iobject_ptr< INTERFACE_TYPE > value_type
value type of the contained objects
Base object pointer to realize binary compatible reference counting in interface methods.
basic object interface implementation template.
iobject_enum< INTERFACE_TYPE > base_type
base type
uint32_t m_ui32PushOption
base_type interface_type
interface type
size_t GetSize() const override
Retrieves the current value count.
container_type * m_pContainer
CONTAINER< object_ptr< T > > container_type
container type
object_enum_base(container_type *pContainer)
CTOR.
object_ptr< T > value_type
internal value type
container type template for a set of object_ptr This template will provide a container for object_ptr...
object_enum(const container_type &oResetContainerContent)
special copy CTOR to copy container content of same value_type
container_type::const_iterator const_iterator
short typedefinition for cString lists iterators
const_iterator cbegin() const
const begin iterator
container_type::iterator iterator
short typedefinition for cString lists iterators
object_enum & operator=(const object_enum &oOther)
copy operator
container_type m_oContainer
object_enum(std::initializer_list< value_type > lstValues)
special initializer CTOR to create container content
object_enum & operator=(object_enum &&oOther)
move operator
const_iterator cend() const
const end iterator
container_type & GetContainer()
this method is ONLY for your convenience to use this in other templates !
object_enum(object_enum &&oOther)
move CTOR
container_type::const_reverse_iterator const_reverse_iterator
short typedefinition for cString lists reverse iterators
container_type::reverse_iterator reverse_iterator
short typedefinition for cString lists reverse iterators
object_enum(const object_enum &oOther)
copy CTOR
iterator end()
end iterator
iterator begin()
begin iterator
object_enum & operator=(const container_type &oResetContainerContent)
special copy operator
iobject_enum< T > my_type
iobject_ptr< T > value_type
container_type::const_iterator const_iterator
container_type::iterator iterator
tVoid swap(A_UTILS_NS::d_ptr< _PARENT, _PRIVATE_D > &i_oLHS, A_UTILS_NS::d_ptr< _PARENT, _PRIVATE_D > &i_oRHS)
std::swap specialization for AUTILSDPtr for perfect fit on ADL
Namespace for all functionality provided since v3.0.
object_enum_push_option
Push option for object_enum_intf::PushObject.
@ eNone
no push option set
@ eNoDuplicates
filter duplicates on PushObject call
object_enum< T, INTERFACE_TYPE, std::vector > object_vector
Implementation of an iobject_vector<INTERFACE_TYPE> interface by using a std::vector as container typ...
object_enum< T, INTERFACE_TYPE, std::list > object_list
Implementation of an iobject_list<INTERFACE_TYPE> interface by using a std::list as container type.
iobject_enum< T > iobject_vector
alias type for iobject_enum.
iobject_enum< T > iobject_list
alias type for iobject_enum.
Namespace for the ADTF uCOM3 SDK.
Namespace for entire ADTF SDK.