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 group_functions

boost::intrusive::group_functions

Synopsis

// In header: <boost/intrusive/hashtable.hpp>

template<typename NodeTraits> 
struct group_functions {
  // types
  typedef NodeTraits                                     node_traits;        
  typedef unordered_group_adapter< node_traits >         group_traits;       
  typedef node_traits::node_ptr                          node_ptr;           
  typedef node_traits::node                              node;               
  typedef reduced_slist_node_traits< node_traits >::type reduced_node_traits;
  typedef reduced_node_traits::node_ptr                  slist_node_ptr;     
  typedef reduced_node_traits::node                      slist_node;         
  typedef circular_slist_algorithms< group_traits >      group_algorithms;   
  typedef circular_slist_algorithms< node_traits >       node_algorithms;    

  // public static functions
  static slist_node_ptr 
  get_bucket_before_begin(slist_node_ptr, slist_node_ptr, slist_node_ptr, 
                          unspecified);
  static slist_node_ptr 
  get_bucket_before_begin(slist_node_ptr, slist_node_ptr, slist_node_ptr, 
                          unspecified);
  static node_ptr get_prev_to_first_in_group(slist_node_ptr, node_ptr);
  static void erase_from_group(slist_node_ptr, node_ptr, unspecified);
  static void erase_from_group(slist_node_ptr, node_ptr, unspecified);
  static node_ptr get_last_in_group(node_ptr, unspecified);
  static node_ptr get_last_in_group(node_ptr, unspecified);
  static node_ptr get_first_in_group(node_ptr, unspecified);
  static node_ptr get_first_in_group(node_ptr, unspecified);
  static bool is_first_in_group(node_ptr);
  static void insert_in_group(node_ptr, node_ptr, unspecified);
  static void insert_in_group(node_ptr, node_ptr, unspecified);
  static node_ptr split_group(node_ptr const);
};

Description

group_functions public static functions

  1. static slist_node_ptr 
    get_bucket_before_begin(slist_node_ptr bucket_beg, slist_node_ptr bucket_last, 
                            slist_node_ptr sp, unspecified);
  2. static slist_node_ptr 
    get_bucket_before_begin(slist_node_ptr bucket_beg, slist_node_ptr bucket_last, 
                            slist_node_ptr sp, unspecified);
  3. static node_ptr 
    get_prev_to_first_in_group(slist_node_ptr bucket_node, 
                               node_ptr first_in_group);
  4. static void erase_from_group(slist_node_ptr end_ptr, node_ptr to_erase_ptr, 
                                 unspecified);
  5. static void erase_from_group(slist_node_ptr, node_ptr, unspecified);
  6. static node_ptr get_last_in_group(node_ptr first_in_group, unspecified);
  7. static node_ptr get_last_in_group(node_ptr n, unspecified);
  8. static node_ptr get_first_in_group(node_ptr n, unspecified);
  9. static node_ptr get_first_in_group(node_ptr n, unspecified);
  10. static bool is_first_in_group(node_ptr ptr);
  11. static void insert_in_group(node_ptr first_in_group, node_ptr n, unspecified);
  12. static void insert_in_group(node_ptr, node_ptr, unspecified);
  13. static node_ptr split_group(node_ptr const new_first);

PrevUpHomeNext