| Home | Libraries | People | FAQ | More

## Class template node_handle_set

boost::unordered::node_handle_set — An object that owns a single element extracted from an unordered_set or an unordered_multiset, that can then be inserted into a compatible container type. The name and template parameters of this type are implementation defined, and should be obtained using the `node_type` member typedef from the appropriate container.

## Synopsis

    // In header: <boost/unordered_set.hpp>

    template<typename ImplementationDefined>
    class node_handle_set {
    public:
      // types
      typedef typename Container::value_type>     value_type;
      typedef typename Container::allocator_type> allocator_type;

      // construct/copy/destruct
      constexpr node_handle_set() noexcept;
      node_handle_set(node_handle_set &&) noexcept;
      ~node_handle_set();
      node_handle_set& operator=(node_handle_set&&);
      value_type& value() const;
      allocator_type get_allocator() const;
      explicit  operator bool() const noexcept;
      bool empty() const noexcept;
      void swap(node_handle_set&) noexcept(ator_traits::propagate_on_container_swap::value);
    };

    // swap
    template<typename ImplementationDefined>
      void swap(node_handle_set<ImplementationDefined>&,
                node_handle_set<ImplementationDefined>&);

## Description

### `node_handle_set` public construct/copy/destruct

1.     constexpr node_handle_set() noexcept;

2.     node_handle_set(node_handle_set &&) noexcept;

3.     ~node_handle_set();

    node_handle_set& operator=(node_handle_set&&);

    value_type& value() const;

    allocator_type get_allocator() const;

    explicit  operator bool() const noexcept;

    bool empty() const noexcept;

    void swap(node_handle_set&) noexcept(ator_traits::propagate_on_container_swap::value);

Notes: | In C++17 is also `noexcept` if `ator_traits::is_always_equal::value` is true. But we don't support that trait yet.

### `node_handle_set` swap

1.     template<typename ImplementationDefined>
         void swap(node_handle_set<ImplementationDefined>& x,
                   node_handle_set<ImplementationDefined>& y);

   Effects: | `x.swap(y)`