Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.
PrevUpHomeNext

Struct template iunordered_set_index_aux

boost::interprocess::iunordered_set_index_aux

Synopsis

// In header: <boost/interprocess/indexes/iunordered_set_index.hpp>

template<typename MapConfig> 
struct iunordered_set_index_aux {
  // types
  typedef MapConfig::segment_manager_base                                                                    segment_manager_base;      
  typedef segment_manager_base::void_pointer                                                                 void_pointer;              
  typedef bi::make_unordered_set_base_hook< bi::void_pointer< void_pointer > >::type                         derivation_hook;           
  typedef MapConfig::template intrusive_value_type< derivation_hook >::type                                  value_type;                
  typedef MapConfig::intrusive_compare_key_type                                                              intrusive_compare_key_type;
  typedef std::equal_to< value_type >                                                                        value_equal;               
  typedef MapConfig::char_type                                                                               char_type;                 
  typedef bi::make_unordered_set< value_type, bi::hash< hash_function >, bi::equal< equal_function > >::type index_t;                   
  typedef index_t::bucket_type                                                                               bucket_type;               
  typedef allocator< bucket_type, segment_manager_base >                                                     allocator_type;            

  // member classes/structs/unions

  struct allocator_holder {
    // construct/copy/destruct
    allocator_holder(segment_manager_base *);
    allocator_type alloc;
    bucket_type init_bucket;
  };

  struct equal_function {

    // public member functions
    bool operator()(const intrusive_compare_key_type &, const value_type &) const;
    bool operator()(const value_type &, const intrusive_compare_key_type &) const;
    bool operator()(const value_type &, const value_type &) const;
  };

  struct hash_function {

    // public member functions
    std::size_t operator()(const value_type &) const;
    std::size_t operator()(const intrusive_compare_key_type &) const;
  };
};

Description

@ Helper class to define typedefs from IndexTraits


PrevUpHomeNext