Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Class template small_vector_base

boost::container::small_vector_base

Synopsis

// In header: <boost/container/small_vector.hpp>

template<typename T, typename SecAlloc, typename Options> 
class small_vector_base : public  {
public:
  // types
  typedef real_allocator< T, SecAlloc >::                                                     ;
  typedef allocator_traits< void >:: ;     
  typedef dtl::get_small_vector_opt< Options >::                                              ;            
  typedef dtl::vector_for_small_vector< T, SecAlloc, Options >::                              ;            
  typedef allocator_traits<                                       ;              
  typedef allocator_traits<                                 ;        
  typedef allocator_traits<                                  ;         
  typedef allocator_traits<                            ;   
  typedef small_vector_allocator< T, Options >                                  ;       

  // construct/copy/destruct
  (initial_capacity_t, );
  template<typename AllocFwd> 
    (initial_capacity_t, , AllocFwd &&);
  (maybe_initial_capacity_t, , 
                             );
  template<typename AllocFwd> 
    (maybe_initial_capacity_t, , 
                               , AllocFwd &&);
  small_vector_base & (const small_vector_base &);
  small_vector_base & (small_vector_base &&);

  // private member functions
  const_pointer () ;
  pointer () ;
  base_type & ();
  const base_type & () ;

  // public member functions
  void (small_vector_base &);
};

Description

This class consists of common code from all small_vector<T, N> types that don't depend on the "N" template parameter. This class is non-copyable and non-destructible, so this class typically used as reference argument to functions that read or write small vectors. Since small_vector<T, N> derives from small_vector_base<T>, the conversion to small_vector_base is implicit


//Clients can pass any small_vector<Foo, N>.

All boost::container:vector member functions are inherited. See vector documentation for details.

small_vector_base public construct/copy/destruct

  1. (initial_capacity_t,  initial_capacity);
  2. template<typename AllocFwd> 
      (initial_capacity_t,  capacity, 
                                 AllocFwd && a);
  3. (maybe_initial_capacity_t, 
                                initial_capacity, 
                                initial_size);
  4. template<typename AllocFwd> 
      (maybe_initial_capacity_t, 
                                  initial_capacity, 
                                  initial_size, AllocFwd && a);
  5. small_vector_base & (const small_vector_base & other);
  6. small_vector_base & (small_vector_base && other);

small_vector_base private member functions

  1. const_pointer () ;
  2. pointer () ;
  3. base_type & ();
  4. const base_type & () ;

small_vector_base public member functions

  1. void (small_vector_base & other);

PrevUpHomeNext