CLASS TEMPLATE I(3)

NAME
boost::interprocess::iset_index

SYNOPSIS

// In header: <boost/interprocess/indexes/iset_index.hpp>
template<typename MapConfig>
class iset_index {
public:
  // 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;
  // member classes/structs/unions
  // @ private:
  struct intrusive_key_value_less {
    // 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;
  };
  // construct/copy/destruct
  iset_index(typename MapConfig::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 &);
};

DESCRIPTION

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(std::size_t);

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

    2.

    void shrink_to_fit();
    This frees all unnecessary memory. .RE

        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);