13 #ifndef TINYMPL_VECTOR_HPP
14 #define TINYMPL_VECTOR_HPP
16 #include <tinympl/algorithm.hpp>
17 #include <tinympl/sequence.hpp>
33 template<
class ... Args>
47 template<std::
size_t i>
50 static_assert(i <
size,
"Index i is out of range");
81 template<std::
size_t first,std::
size_t last>
85 template<std::size_t i,
class ... Ts>
118 #endif // TINYMPL_VECTOR_HPP
Provide a customization points by allowing the user to specialize this class.
Definition: as_sequence.hpp:30
Extract the i-th element of a variadic template.
Definition: at.hpp:27
The size of the vector.
Definition: vector.hpp:38
Return a new vector constructed by inserting T on the front of the current vector.
Definition: vector.hpp:63
Access the i-th element.
Definition: vector.hpp:48
Return a new vector constructed by inserting the elements Ts... in the current vector starting at the...
Definition: vector.hpp:86
Get the number of elements of a sequence.
Definition: size.hpp:27
Return the last element of the vector.
Definition: vector.hpp:98
Return a new vector constructed by erasing the elements in the range [first,last) of the current vect...
Definition: vector.hpp:82
Return the first element of the vector.
Definition: vector.hpp:92
Return a new vector constructed by removing the first element of the current vector.
Definition: vector.hpp:75
Return a new vector constructed by inserting T on the back of the current vector. ...
Definition: vector.hpp:56
Determine whether the vector is empty.
Definition: vector.hpp:43
The main sequence type.
Definition: sequence.hpp:28
Produce an output sequence from a variadic template by removin the elements in the given range...
Definition: erase.hpp:30
Insert a subsequence into a given sequence at a given position.
Definition: insert.hpp:36
A compile time vector of types Vector is the simplest tinympl sequence type. It provides standard mod...
Definition: vector.hpp:34
Return a new vector constructed by removing the last element of the current vector.
Definition: vector.hpp:69
Remove a range in a given sequence.
Definition: erase.hpp:35