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 iset_index



// In header: <boost/interprocess/interprocess_fwd.hpp>

template<typename IndexConfig> 
class iset_index : public iset_index_aux::index_t< MapConfig > {
  // construct/copy/destruct
  iset_index(typename MapConfig::segment_manager_base *);

  // public member functions
  void reserve(typename MapConfig::segment_manager_base::size_type);
  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 &);


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

iset_index public construct/copy/destruct

  1. iset_index(typename MapConfig::segment_manager_base *);

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

iset_index public member functions

  1. void reserve(typename MapConfig::segment_manager_base::size_type);

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

  2. void shrink_to_fit();
    This frees all unnecessary memory.
  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);