+ *@brief Insert an element to the vector.
+ *
+ * Elements after \e at are moved one position to the right.
+ *
+ * The underlying storage may be reallocated to provide space.
+ * If this occurs, all pre-existing pointers into the vector will
+ * become invalid.
+ *
+ * @pre Iterator at must be in the vector's range ( Vector::Begin(), Vector::End() ).
+ *
+ * @param[in] at Iterator where to insert the elements into the vector.
+ * @param[in] element An element to be added.
+ *@SINCE_1_0.0
+ */
+ void Insert( Iterator at, const ItemType& element )
+ {
+ DALI_ASSERT_VECTOR( ( at <= End() ) && ( at >= Begin() ) && "Iterator not inside vector" );
+ const SizeType size = sizeof( ItemType );
+ char* address = const_cast<char*>( reinterpret_cast<const char*>( &element ) );
+ VectorAlgorithms<BaseType>::Insert( reinterpret_cast< char* >( at ),
+ address,
+ address + size,
+ size );
+ }
+
+ /**
+ * @brief Inserts the given elements into the vector.
+ *
+ * Elements after \e at are moved the number of given elements positions to the right.
+ *
+ * The underlying storage may be reallocated to provide space.
+ * If this occurs, all pre-existing pointers into the vector will
+ * become invalid.
+ *
+ * @SINCE_1_0.0
+ * @param[in] at Iterator where to insert the elements into the vector.
+ * @param[in] from Iterator to the first element to be inserted.
+ * @param[in] to Iterator to the last element to be inserted.
+ * @pre Iterator \e at must be in the vector's range ( Vector::Begin(), Vector::End() ).
+ * @pre Iterators \e from and \e to must be valid iterators.
+ * @pre Iterator \e from must not be grater than Iterator \e to.
+ *
+ */
+ void Insert( Iterator at, Iterator from, Iterator to )
+ {
+ DALI_ASSERT_VECTOR( ( at <= End() ) && ( at >= Begin() ) && "Iterator not inside vector" );
+ DALI_ASSERT_VECTOR( ( from <= to ) && "from address can't be greater than to" );
+
+ if( from == to )
+ {
+ // nothing to copy.
+ return;
+ }
+
+ VectorAlgorithms<BaseType>::Insert( reinterpret_cast< char* >( at ),
+ reinterpret_cast< char* >( from ),
+ reinterpret_cast< char* >( to ),
+ sizeof( ItemType ) );
+ }
+
+ /**
+ * @brief Reserve space in the vector.
+ *