Container Library
  
  
  
  Common functions
constexpr T*                  data() const noexcept;
constexpr const_reference     front() const;
constexpr const_reference     back() const;
constexpr itr                 begin() noexcept; //cbegin for const_itr
constexpr itr                 end() noexcept; //cend for const_itr
constexpr reverse_itr         rbegin() noexcept; //crbegin for const_reverse_itr
constexpr reverse_itr         rend() noexcept; //crend for const_reverse_itr
constexpr bool                empty() const noexcept;
constexpr size_type           size() const noexcept;
constexpr size_type           max_size() const noexcept;
std::array
template<class T, std::size_t N> struct array;
constexpr const_reference     at( size_type pos ) const; //includes bound check
constexpr const_reference     operator[]( size_type pos ) const; //no bound check
constexpr void                fill( const T& value );
constexpr void                swap( array& other );
std::vector
template<class T, class Allocator=std::allocator<T>> struct vector;
constexpr vector& operator=( const vector& other );
constexpr vector& operator=( vector&& other );
constexpr vector& operator=( std::initializer_list<T> ilist );
constexpr void assign( size_type count, const T& value );
constexpr void assign( InputIt first, InputIt last );
constexpr void assign( std::initializer_list<T> ilist );
constexpr void reserve( size_type new_cap );
constexpr size_type capacity() const noexcept;
constexpr void clear() noexcept;
constexpr itr insert( const_iterator pos, const T& value );
constexpr itr insert( const_iterator pos, T&& value );
constexpr itr insert( const_iterator pos, size_type count, const T& value );
constexpr void push_back( const T& value );
constexpr void pop_back();
constexpr void resize( size_type count, [const value_type& value] );