| Home | Libraries | People | FAQ | More

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