Range-v3 Range algorithms, views, and actions for the Standard Library |

Friends | Public Types | Public Member Functions | Static Public Member Functions | List of all members
ranges::v1::fixed_vector< T, N > Struct Template Reference

## Description

### template<typename T, std::size_t N>
struct ranges::v1::fixed_vector< T, N >

Like std::vector, but with a fixed-size buffer, guaranteed to do no dynamic allocation ever.

## Friends
template<int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(Swappable< T & >()), int >::type = 0>
void | swap (fixed_vector &lhs, fixed_vector &rhs) noexcept(is_nothrow_swappable< T & >::value)

## Public Types
using | const_iterator = T const *
using | iterator = T *
using | size_type = std::size_t
using | value_type = T

## Public Member Functions
T & | at (std::size_t n)
T const & | at (std::size_t n) const
T & | back ()
T const & | back () const
T * | begin () noexcept
T const * | begin () const noexcept
void | clear ()
T * | data () noexcept
T const * | data () const noexcept
template<typename... Ts, int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(Constructible< T, Ts &&... >()), int >::type = 0>
void | emplace_back (Ts &&...ts)
bool | empty () const
T * | end () noexcept
T const * | end () const noexcept
template<int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(MoveConstructible< T >()), int >::type = 0>
| fixed_vector (fixed_vector &&that)
template<int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(CopyConstructible< T >()), int >::type = 0>
| fixed_vector (fixed_vector const &that)
template<int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(CopyConstructible< T >()), int >::type = 0>
| fixed_vector (std::initializer_list< T > il)
template<typename R , int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(InputRange< R >()&&Constructible< T, range_reference_t< R > && >()), int >::type = 0>
| fixed_vector (R &&r)
template<typename I , typename S , int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(IteratorRange< I, S >()&&InputIterator< I >()&& Constructible< T, iterator_reference_t< I > && >()), int >::type = 0>
| fixed_vector (I first, S last)
T & | front ()
T const & | front () const
template<int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(Copyable< T >()), int >::type = 0>
T * | insert (T const *where, T const &value)
template<int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(Movable< T >()), int >::type = 0>
T * | insert (T const *where, T &&value)
T * | insert (T const *where, std::size_t count, T const &value)
template<typename I , typename S , int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(IteratorRange< I, S >()&&Readable< I >()&&Movable< T >()&& Constructible< T, iterator_reference_t< I > && >()&& Assignable< T &, iterator_reference_t< I > && >()), int >::type = 0>
T * | insert (T const *where, I first, S last)
template<int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(Copyable< T >()), int >::type = 0>
T * | insert (T const *where, std::initializer_list< T > il)
template<typename R , int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(InputRange< R >()&&Constructible< T, range_reference_t< R > && >()&& Movable< T >()&&Assignable< T &, range_reference_t< R > && >()), int >::type = 0>
T * | insert (T const *where, R &&r)
template<int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(Movable< T >()), int >::type = 0>
fixed_vector & | operator= (fixed_vector &&that)
template<int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(Copyable< T >()), int >::type = 0>
fixed_vector & | operator= (fixed_vector const &that)
template<int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(Movable< T >()), int >::type = 0>
fixed_vector & | operator= (std::initializer_list< T > il)
template<typename R , int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(InputRange< R >()&&Constructible< T, range_reference_t< R > && >()&& Assignable< T &, range_reference_t< R > && >()), int >::type = 0>
fixed_vector & | operator= (R &&r)
T & | operator[] (std::size_t n) noexcept
T const & | operator[] (std::size_t n) const noexcept
void | pop_back ()
template<int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(CopyConstructible< T >()), int >::type = 0>
void | push_back (T const &t)
template<int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(MoveConstructible< T >()), int >::type = 0>
void | push_back (T &&t)
template<int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(DefaultConstructible< T >()), int >::type = 0>
void | resize (std::size_t count)
template<int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(CopyConstructible< T >()), int >::type = 0>
void | resize (std::size_t count, T const &value)
std::size_t | size () const noexcept
template<int _concept_requires___LINE__ = 42, typename std::enable_if< (_concept_requires___LINE__==43)||(Swappable< T & >()), int >::type = 0>
void | swap (fixed_vector &that) noexcept(is_nothrow_swappable< T & >::value)

## Static Public Member Functions
static constexpr std::size_t | capacity () noexcept
static constexpr std::size_t | max_size () noexcept