Boost C++ Libraries 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 to view this page for the latest version.

Class template iunordered_set_index



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

template<typename MapConfig> 
class iunordered_set_index {
  // types
  typedef index_type::iterator           iterator;          
  typedef index_type::const_iterator     const_iterator;    
  typedef index_type::insert_commit_data insert_commit_data;
  typedef index_type::value_type         value_type;        
  typedef index_type::bucket_ptr         bucket_ptr;        
  typedef index_type::bucket_type        bucket_type;       
  typedef index_type::bucket_traits      bucket_traits;     
  typedef index_type::size_type          size_type;         

  // construct/copy/destruct
  iunordered_set_index(segment_manager_base *);

  // public member functions
  void reserve(std::size_t) ;
  void shrink_to_fit() ;
  iterator find(const intrusive_compare_key_type &) ;
  const_iterator find(const intrusive_compare_key_type &) const;
  std::pair< iterator, bool > 
  insert_check(const intrusive_compare_key_type &, insert_commit_data &) ;
  iterator insert_commit(value_type &, insert_commit_data &) ;


Index type based in boost::intrusive::set. Just derives from boost::intrusive::set and defines the interface needed by managed memory segments

iunordered_set_index public construct/copy/destruct

  1. iunordered_set_index(segment_manager_base * mngr);

    Constructor. Takes a pointer to the segment manager. Can throw

  2. ~iunordered_set_index();

iunordered_set_index public member functions

  1. void reserve(std::size_t new_n) ;

    This reserves memory to optimize the insertion of n elements in the index

  2. void shrink_to_fit() ;

    This tries to free unused memory previously allocated.

  3. iterator find(const intrusive_compare_key_type & key) ;
  4. const_iterator find(const intrusive_compare_key_type & key) const;
  5. std::pair< iterator, bool > 
    insert_check(const intrusive_compare_key_type & key, 
                 insert_commit_data & commit_data) ;
  6. iterator insert_commit(value_type & val, insert_commit_data & commit_data) ;