The class template sg_set is an intrusive container, that mimics most of the interface of std::sg_set as described in the C++ standard. More...
#include <sg_set.hpp>
Public Types | |
typedef implementation_defined::value_type | value_type |
typedef implementation_defined::value_traits | value_traits |
typedef implementation_defined::pointer | pointer |
typedef implementation_defined::const_pointer | const_pointer |
typedef implementation_defined::reference | reference |
typedef implementation_defined::const_reference | const_reference |
typedef implementation_defined::difference_type | difference_type |
typedef implementation_defined::size_type | size_type |
typedef implementation_defined::value_compare | value_compare |
typedef implementation_defined::key_compare | key_compare |
typedef implementation_defined::iterator | iterator |
typedef implementation_defined::const_iterator | const_iterator |
typedef implementation_defined::reverse_iterator | reverse_iterator |
typedef implementation_defined::const_reverse_iterator | const_reverse_iterator |
typedef implementation_defined::insert_commit_data | insert_commit_data |
typedef implementation_defined::node_traits | node_traits |
typedef implementation_defined::node | node |
typedef implementation_defined::node_ptr | node_ptr |
typedef implementation_defined::const_node_ptr | const_node_ptr |
typedef implementation_defined::node_algorithms | node_algorithms |
typedef implementation_defined::key_type | key_type |
Public Member Functions | |
sg_set_impl (const value_compare &cmp=value_compare(), const value_traits &v_traits=value_traits()) | |
template<class Iterator > | |
sg_set_impl (Iterator b, Iterator e, const value_compare &cmp=value_compare(), const value_traits &v_traits=value_traits()) | |
sg_set_impl (BOOST_RV_REF(sg_set_impl) x) | |
sg_set_impl & | operator= (BOOST_RV_REF(sg_set_impl) x) |
std::pair< iterator, bool > | insert (reference value) |
iterator | insert (const_iterator hint, reference value) |
template<class KeyType , class KeyValueCompare > | |
std::pair< iterator, bool > | insert_check (const KeyType &key, KeyValueCompare key_value_comp, insert_commit_data &commit_data) |
template<class KeyType , class KeyValueCompare > | |
std::pair< iterator, bool > | insert_check (const_iterator hint, const KeyType &key, KeyValueCompare key_value_comp, insert_commit_data &commit_data) |
template<class Iterator > | |
void | insert (Iterator b, Iterator e) |
iterator | insert_commit (reference value, const insert_commit_data &commit_data) |
size_type | count (const_reference value) const |
template<class KeyType , class KeyValueCompare > | |
size_type | count (const KeyType &key, KeyValueCompare comp) const |
std::pair< iterator, iterator > | equal_range (const_reference value) |
template<class KeyType , class KeyValueCompare > | |
std::pair< iterator, iterator > | equal_range (const KeyType &key, KeyValueCompare comp) |
std::pair< const_iterator, const_iterator > | equal_range (const_reference value) const |
template<class KeyType , class KeyValueCompare > | |
std::pair< const_iterator, const_iterator > | equal_range (const KeyType &key, KeyValueCompare comp) const |
typedef | BOOST_INTRUSIVE_IMPDEF (sgtree_algorithms< node_traits >) node_algorithms |
typedef | BOOST_INTRUSIVE_IMPDEF (typename node_algorithms::insert_commit_data) insert_commit_data |
void | swap (sgtree_impl &other) |
void | clone_from (const sgtree_impl &src, Cloner cloner, Disposer disposer) |
iterator | insert_equal (reference value) |
iterator | insert_equal (const_iterator hint, reference value) |
void | insert_equal (Iterator b, Iterator e) |
std::pair< iterator, bool > | insert_unique (reference value) |
iterator | insert_unique (const_iterator hint, reference value) |
void | insert_unique (Iterator b, Iterator e) |
std::pair< iterator, bool > | insert_unique_check (const KeyType &key, KeyValueCompare key_value_comp, insert_commit_data &commit_data) |
std::pair< iterator, bool > | insert_unique_check (const_iterator hint, const KeyType &key, KeyValueCompare key_value_comp, insert_commit_data &commit_data) |
iterator | insert_unique_commit (reference value, const insert_commit_data &commit_data) |
iterator | insert_before (const_iterator pos, reference value) |
void | push_back (reference value) |
void | push_front (reference value) |
iterator | erase (const_iterator i) |
iterator | erase (const_iterator b, const_iterator e) |
size_type | erase (const_reference value) |
size_type | erase (const KeyType &key, KeyValueCompare comp) |
iterator | erase_and_dispose (const_iterator i, Disposer disposer) |
iterator | erase_and_dispose (iterator i, Disposer disposer) |
iterator | erase_and_dispose (const_iterator b, const_iterator e, Disposer disposer) |
size_type | erase_and_dispose (const_reference value, Disposer disposer) |
size_type | erase_and_dispose (const KeyType &key, KeyValueCompare comp, Disposer disposer) |
void | clear () |
void | clear_and_dispose (Disposer disposer) |
float | balance_factor () const |
Returns: The balance factor (alpha) used in this tree More... | |
void | balance_factor (float new_alpha) |
Requires: new_alpha must be a value between 0.5 and 1.0 More... | |
Static Public Attributes | |
static const bool | constant_time_size = tree_type::constant_time_size |
static const bool | floating_point |
static const bool | stateful_value_traits |
The class template sg_set is an intrusive container, that mimics most of the interface of std::sg_set as described in the C++ standard.
The template parameter T
is the type to be managed by the container. The user can specify additional options and if no options are provided default options are used.
The container supports the following options: base_hook<>/member_hook<>/value_traits<>
, floating_point<>
, size_type<>
and compare<>
.
typedef implementation_defined::const_iterator boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::const_iterator |
typedef implementation_defined::const_node_ptr boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::const_node_ptr |
typedef implementation_defined::const_pointer boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::const_pointer |
typedef implementation_defined::const_reference boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::const_reference |
typedef implementation_defined::const_reverse_iterator boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::const_reverse_iterator |
typedef implementation_defined::difference_type boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::difference_type |
typedef implementation_defined::insert_commit_data boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::insert_commit_data |
typedef implementation_defined::iterator boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::iterator |
typedef implementation_defined::key_compare boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::key_compare |
|
inherited |
typedef implementation_defined::node boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::node |
typedef implementation_defined::node_algorithms boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::node_algorithms |
typedef implementation_defined::node_ptr boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::node_ptr |
typedef implementation_defined::node_traits boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::node_traits |
typedef implementation_defined::pointer boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::pointer |
typedef implementation_defined::reference boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::reference |
typedef implementation_defined::reverse_iterator boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::reverse_iterator |
typedef implementation_defined::size_type boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::size_type |
typedef implementation_defined::value_compare boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::value_compare |
typedef implementation_defined::value_traits boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::value_traits |
typedef implementation_defined::value_type boost::intrusive::sg_set_impl< ValueTraits, Compare, SizeType, FloatingPoint, HeaderHolder >::value_type |
|
inlineexplicit |
|
inline |
|
inline |
|
inlineinherited |
Returns: The balance factor (alpha) used in this tree
Throws: Nothing.
Complexity: Constant.
|
inlineinherited |
Requires: new_alpha must be a value between 0.5 and 1.0
Effects: Establishes a new balance factor (alpha) and rebalances the tree if the new balance factor is stricter (less) than the old factor.
Throws: Nothing.
Complexity: Linear to the elements in the subtree.
References boost::BOOST_STATIC_ASSERT(), and boost::size().
|
inherited |
|
inherited |
|
inlineinherited |
References boost::fusion::clear().
|
inlineinherited |
|
inlineinherited |
Additional notes: it also copies the alpha factor from the source container.
|
inline |
References boost::algorithm::find().
|
inline |
References boost::algorithm::find().
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
|
inlineinherited |
References boost::n.
|
inlineinherited |
|
inlineinherited |
References boost::graph_detail::equal_range(), boost::n, and boost::multiprecision::backends::p.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
References boost::n.
|
inlineinherited |
References boost::graph_detail::equal_range(), boost::n, and boost::multiprecision::backends::p.
|
inlineinherited |
References boost::graph_detail::equal_range(), boost::n, and boost::multiprecision::backends::p.
|
inline |
|
inline |
|
inline |
|
inlineinherited |
References boost::multiprecision::backends::p, boost::size(), and boost::geometry::unique().
|
inline |
|
inline |
|
inline |
|
inlineinherited |
References boost::multiprecision::backends::p, boost::size(), and boost::geometry::unique().
|
inlineinherited |
References boost::multiprecision::backends::p, boost::size(), and boost::geometry::unique().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
References boost::multiprecision::backends::this.
|
inlineinherited |
References boost::multiprecision::backends::this.
|
inlineinherited |
References boost::size(), and boost::geometry::unique().
|
inline |
References boost::move(), and boost::multiprecision::backends::operator=().
|
inlineinherited |
References boost::xpressive::push_back, boost::size(), and boost::geometry::unique().
|
inlineinherited |
References boost::xpressive::push_front, boost::size(), and boost::geometry::unique().
|
inlineinherited |
|
static |
|
staticinherited |
|
staticinherited |