Tizen Native API  5.0
Dali::VectorAlgorithms< IsTrivial > Class Template Reference

Vector algorithm variant for trivial types. More...

Inheritance diagram for Dali::VectorAlgorithms< IsTrivial >:
Dali::VectorBase

Protected Member Functions

 VectorAlgorithms ()
 Empty constructor.
 ~VectorAlgorithms ()
 Empty destructor.
void Copy (const VectorBase &rhs, SizeType elementSize)
 Copy vector contents.
void Reserve (SizeType count, SizeType elementSize)
 Reserves space in the vector.
void Resize (SizeType count, SizeType elementSize)
 Resizes the vector. Does not change capacity.
void Clear ()
 Clears the contents.
void Release ()
 Releases the vector.
void Erase (uint8_t *address, SizeType elementSize)
 Erases an element. Does not change capacity.
uint8_t * Erase (uint8_t *first, uint8_t *last, SizeType elementSize)
 Erases a range of elements. Does not change capacity.
void Insert (uint8_t *at, uint8_t *from, uint8_t *to, SizeType elementSize)
 Inserts the given elements into the vector.

Detailed Description

template<bool IsTrivial>
class Dali::VectorAlgorithms< IsTrivial >

Vector algorithm variant for trivial types.

Trivial types do not need destructor or copy constructor called.

Since:
3.0, DALi version 1.0.0

Constructor & Destructor Documentation

template<bool IsTrivial>
Dali::VectorAlgorithms< IsTrivial >::VectorAlgorithms ( ) [protected]

Empty constructor.

Since:
3.0, DALi version 1.0.0
template<bool IsTrivial>
Dali::VectorAlgorithms< IsTrivial >::~VectorAlgorithms ( ) [protected]

Empty destructor.

Since:
3.0, DALi version 1.0.0

Member Function Documentation

template<bool IsTrivial>
void Dali::VectorAlgorithms< IsTrivial >::Clear ( ) [protected]

Clears the contents.

For simple types, nothing to do.

Since:
3.0, DALi version 1.0.0

Reimplemented in Dali::Vector< T, IsTrivialType >, Dali::Vector< SlotConnection * >, and Dali::Vector< SignalConnection * >.

template<bool IsTrivial>
void Dali::VectorAlgorithms< IsTrivial >::Copy ( const VectorBase rhs,
SizeType  elementSize 
) [protected]

Copy vector contents.

Since:
3.0, DALi version 1.0.0
Parameters:
[in]rhsVectorBase object to copy from
[in]elementSizeSize of the content

Reimplemented from Dali::VectorBase.

template<bool IsTrivial>
void Dali::VectorAlgorithms< IsTrivial >::Erase ( uint8_t *  address,
SizeType  elementSize 
) [protected]

Erases an element. Does not change capacity.

Since:
3.0, DALi version 1.0.0
Parameters:
[in]addressAddress to erase from
[in]elementSizeSize to erase
template<bool IsTrivial>
uint8_t* Dali::VectorAlgorithms< IsTrivial >::Erase ( uint8_t *  first,
uint8_t *  last,
SizeType  elementSize 
) [protected]

Erases a range of elements. Does not change capacity.

Since:
3.0, DALi version 1.0.0
Parameters:
[in]firstAddress to the first element to be erased
[in]lastAddress to the last element to be erased
[in]elementSizeSize of one of the elements to be erased
Returns:
Address pointing to the next element of the last one
template<bool IsTrivial>
void Dali::VectorAlgorithms< IsTrivial >::Insert ( uint8_t *  at,
uint8_t *  from,
uint8_t *  to,
SizeType  elementSize 
) [protected]

Inserts the given elements into the vector.

Since:
3.0, DALi version 1.0.0
Parameters:
[in]atAddress where to insert the elements into the vector
[in]fromAddress to the first element to be inserted
[in]toAddress to the last element to be inserted
[in]elementSizeSize of one of the elements to be inserted
template<bool IsTrivial>
void Dali::VectorAlgorithms< IsTrivial >::Release ( ) [protected]

Releases the vector.

Since:
3.0, DALi version 1.0.0

Reimplemented from Dali::VectorBase.

Reimplemented in Dali::Vector< T, IsTrivialType >, Dali::Vector< SlotConnection * >, and Dali::Vector< SignalConnection * >.

template<bool IsTrivial>
void Dali::VectorAlgorithms< IsTrivial >::Reserve ( SizeType  count,
SizeType  elementSize 
) [protected]

Reserves space in the vector.

Since:
3.0, DALi version 1.0.0
Parameters:
[in]countCount of elements to reserve
[in]elementSizeSize of a single element

Reimplemented from Dali::VectorBase.

template<bool IsTrivial>
void Dali::VectorAlgorithms< IsTrivial >::Resize ( SizeType  count,
SizeType  elementSize 
) [protected]

Resizes the vector. Does not change capacity.

Since:
3.0, DALi version 1.0.0
Parameters:
[in]countCount to resize to
[in]elementSizeSize of a single element