| Home | Libraries | People | FAQ | More

## 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