PrevUpHomeNext

Struct template unique

impl_ptr_policy::unique

Synopsis

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

template<typename impl_type, typename allocator> 
struct unique {
  // types
  typedef unique                                         this_type;  
  typedef detail::traits::unique< impl_type, allocator > traits_type;
  typedef typename traits_type::pointer                  traits_ptr; 

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

  // public member functions
  template<typename derived_type, typename... arg_types> 
    void emplace(arg_types &&...);
  bool operator<(this_type const &) const;
  void swap(this_type &);
  impl_type * get() const;
  long use_count() const;
};

Description

unique public construct/copy/destruct

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

unique public member functions

  1. template<typename derived_type, typename... arg_types> 
      void emplace(arg_types &&... args);
  2. bool operator<(this_type const & o) const;
  3. void swap(this_type & o);
  4. impl_type * get() const;
  5. long use_count() const;

PrevUpHomeNext