scnlib  0.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
small_vector.h File Reference
#include "util.h"
#include <cstring>
#include <iterator>
#include <limits>
#include <new>

Go to the source code of this file.

Classes

class  scn::detail::small_vector_base
 
struct  scn::detail::basic_stack_storage< T, N >
 
struct  scn::detail::basic_stack_storage< T, 0 >
 
class  scn::detail::small_vector< T, StackN >
 
struct  scn::detail::small_vector< T, StackN >::stack_storage
 
struct  scn::detail::small_vector< T, StackN >::heap_storage
 

Namespaces

 scn
 
 scn::detail
 
 scn::detail::small_vector_algos
 

Functions

template<typename Iter >
std::reverse_iterator< Iter > scn::detail::make_reverse_iterator (Iter i)
 
template<typename ForwardIt , typename T >
void scn::detail::small_vector_algos::uninitialized_fill (ForwardIt first, ForwardIt last, const T &value, std::true_type) noexcept
 
template<typename ForwardIt , typename T >
void scn::detail::small_vector_algos::uninitialized_fill (ForwardIt first, ForwardIt last, const T &value, std::false_type) noexcept
 
template<typename ForwardIt , typename T >
void scn::detail::small_vector_algos::uninitialized_fill (ForwardIt first, ForwardIt last, const T &value) noexcept
 
template<typename ForwardIt >
void scn::detail::small_vector_algos::uninitialized_fill_default_construct (ForwardIt first, ForwardIt last) noexcept
 
template<typename ForwardIt >
void scn::detail::small_vector_algos::uninitialized_fill_value_init (ForwardIt first, ForwardIt last) noexcept
 
template<typename InputIt , typename ForwardIt , typename std::enable_if<!std::is_trivially_copyable< typename std::iterator_traits< ForwardIt >::value_type >::value >::type * = nullptr>
ForwardIt scn::detail::small_vector_algos::uninitialized_copy (InputIt first, InputIt last, ForwardIt d_first) noexcept
 
template<typename InputIt , typename ForwardIt , typename std::enable_if<!std::is_trivially_copyable< typename std::iterator_traits< ForwardIt >::value_type >::value >::type * = nullptr>
ForwardIt scn::detail::small_vector_algos::uninitialized_move (InputIt first, InputIt last, ForwardIt d_first) noexcept
 
template<typename T >
constexpr T scn::detail::constexpr_max (T val)
 
template<typename T , typename... Ts>
constexpr T scn::detail::constexpr_max (T val, Ts...a)
 
template<typename T , size_t N>
SCN_CONSTEXPR14 void scn::detail::swap (small_vector< T, N > &l, small_vector< T, N > &r) noexcept(noexcept(l.swap(r)))