PrevUpHomeNext

Struct template basic_inplace

detail::basic_inplace

Synopsis

// In header: <detail/inplace.hpp>

template<typename impl_type, typename size_type, bool has_null_state> 
struct basic_inplace {
  // types
  typedef basic_inplace                                                                                                                        this_type;          
  typedef boost::aligned_storage< size_type::size, size_type::alignment >                                                                      storage_type;       
  typedef typename std::conditional< has_null_state, local_traits< impl_type, storage_type >, static_traits< impl_type, storage_type > >::type traits_storage_type;

  // construct/copy/destruct
  basic_inplace(std::nullptr_t);
  basic_inplace(this_type const &);
  basic_inplace(this_type &&);
  template<typename... arg_types> 
    basic_inplace(detail::in_place_type, arg_types &&...);
  this_type & operator=(this_type const &);
  this_type & operator=(this_type &&);
  ~basic_inplace();

  // public member functions
  template<typename derived_type, typename... arg_types> 
    void emplace(arg_types &&...);
  impl_type * get() const;

  // private member functions
  template<typename derived_type, typename... arg_types> 
    void _construct(arg_types &&...);
};

Description

basic_inplace public construct/copy/destruct

  1. basic_inplace(std::nullptr_t);
  2. basic_inplace(this_type const & o);
  3. basic_inplace(this_type && o);
  4. template<typename... arg_types> 
      basic_inplace(detail::in_place_type, arg_types &&... args);
  5. this_type & operator=(this_type const & o);
  6. this_type & operator=(this_type && o);
  7. ~basic_inplace();

basic_inplace public member functions

  1. template<typename derived_type, typename... arg_types> 
      void emplace(arg_types &&... args);
  2. impl_type * get() const;

basic_inplace private member functions

  1. template<typename derived_type, typename... arg_types> 
      void _construct(arg_types &&... args);

PrevUpHomeNext