PrevUpHomeNext

Struct template shared

impl_ptr_policy::shared

Synopsis

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

template<typename impl_type, typename... more_types> 
struct shared : public std::shared_ptr< impl_type > {
  // types
  typedef typename std::conditional< 1<=sizeof...(more_types), typename detail::types< more_types... >::first_type, std::allocator< impl_type >>::type allocator; 
  typedef typename std::allocator_traits< allocator >::template rebind_alloc< impl_type >                                                              alloc_type;
  typedef std::shared_ptr< impl_type > &                                                                                                               base_ref;  

  // construct/copy/destruct
  shared(std::nullptr_t);
  template<typename... arg_types> 
    shared(detail::in_place_type, arg_types &&...);

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

Description

shared public construct/copy/destruct

  1. shared(std::nullptr_t);
  2. template<typename... arg_types> 
      shared(detail::in_place_type, arg_types &&... args);

shared public member functions

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

PrevUpHomeNext