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

Vector algorithm variant for trivial types. More...

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

Protected Types

typedef VectorBase::SizeType SizeType
 Size type.

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)
 Reserve space in the vector.
void Resize (SizeType count, SizeType elementSize)
 Resize the vector. Does not change capacity.
void Clear ()
 Clear the contents.
void Release ()
 Release the vector.
void Erase (char *address, SizeType elementSize)
 Erase an element. Does not change capacity.
char * Erase (char *first, char *last, SizeType elementSize)
 Erase a range of elements. Does not change capacity.
void Insert (char *at, char *from, char *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 :
2.4

Member Typedef Documentation

template<bool IsTrivial>
typedef VectorBase::SizeType Dali::VectorAlgorithms< IsTrivial >::SizeType [protected]

Constructor & Destructor Documentation

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

Empty constructor.

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

Empty destructor.

Since :
2.4

Member Function Documentation

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

Clear the contents.

For simple types nothing to do.

Since :
2.4

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 :
2.4
Parameters:
[in]rhsVectorBase object to copy from.
[in]elementSizeSize of the content.

Reimplemented from Dali::VectorBase.

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

Erase an element. Does not change capacity.

Since :
2.4
Parameters:
[in]addressAddress to erase from.
[in]elementSizeSize to erase.

Reimplemented from Dali::VectorBase.

template<bool IsTrivial>
char* Dali::VectorAlgorithms< IsTrivial >::Erase ( char *  first,
char *  last,
SizeType  elementSize 
) [protected]

Erase a range of elements. Does not change capacity.

Since :
2.4
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.

Reimplemented from Dali::VectorBase.

template<bool IsTrivial>
void Dali::VectorAlgorithms< IsTrivial >::Insert ( char *  at,
char *  from,
char *  to,
SizeType  elementSize 
) [protected]

Inserts the given elements into the vector.

Since :
2.4
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]

Release the vector.

Since :
2.4

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]

Reserve space in the vector.

Since :
2.4
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]

Resize the vector. Does not change capacity.

Since :
2.4
Parameters:
[in]countCount to resize to.
[in]elementSizeSize of a single element.