#include <set.h>
Public Types | |
using | traits_type = typename tree_type::traits_type |
using | key_type = typename tree_type::key_type |
using | value_type = typename tree_type::value_type |
using | key_compare = typename tree_type::key_equal |
using | value_compare = typename tree_type::key_equal |
using | allocator_type = typename tree_type::allocator_type |
using | size_type = typename tree_type::size_type |
using | difference_type = typename tree_type::difference_type |
using | pointer = typename tree_type::pointer |
using | const_pointer = typename tree_type::const_pointer |
using | reference = typename tree_type::reference |
using | const_reference = typename tree_type::const_reference |
using | iterator = typename tree_type::iterator |
using | const_iterator = typename tree_type::const_iterator |
using | reverse_iterator = typename tree_type::reverse_iterator |
using | const_reverse_iterator = typename tree_type::const_reverse_iterator |
using | node_type = set_node_handle< set_node_traits< value_type, allocator_type, typename tree_type::node_type, typename tree_type::node_deleter > > |
Public Member Functions | |
multiset (const Compare &comp, const Allocator &alloc=Allocator()) | |
template<class InputIterator > | |
multiset (InputIterator first, InputIterator last, const Compare &comp=Compare(), const Allocator &alloc=Allocator()) | |
template<class R , class = enable_if_t<Internal::container_compatible_range<R, value_type>>> | |
multiset (from_range_t, R &&rg, const Compare &comp=Compare(), const Allocator &alloc=Allocator()) | |
multiset (const multiset &rhs) | |
multiset (multiset &&rhs) | |
multiset (const Allocator &alloc) | |
multiset (const multiset &rhs, const type_identity_t< Allocator > &alloc) | |
multiset (multiset &&rhs, const type_identity_t< Allocator > &alloc) | |
multiset (initializer_list< value_type > list, const Compare &comp=Compare(), const Allocator &alloc=Allocator()) | |
template<class InputIterator > | |
multiset (InputIterator first, InputIterator last, const Allocator &alloc) | |
template<class R , class = enable_if_t<Internal::container_compatible_range<R, value_type>>> | |
multiset (from_range_t, R &&rg, const Allocator &a) | |
multiset (initializer_list< value_type > list, const Allocator &alloc) | |
AZ_FORCE_INLINE this_type & | operator= (const this_type &rhs) |
AZ_FORCE_INLINE key_compare | key_comp () const |
AZ_FORCE_INLINE value_compare | value_comp () const |
AZ_FORCE_INLINE iterator | begin () |
AZ_FORCE_INLINE iterator | end () |
AZ_FORCE_INLINE const_iterator | begin () const |
AZ_FORCE_INLINE const_iterator | end () const |
AZ_FORCE_INLINE reverse_iterator | rbegin () |
AZ_FORCE_INLINE reverse_iterator | rend () |
AZ_FORCE_INLINE const_reverse_iterator | rbegin () const |
AZ_FORCE_INLINE const_reverse_iterator | rend () const |
AZ_FORCE_INLINE bool | empty () const |
AZ_FORCE_INLINE size_type | size () const |
AZ_FORCE_INLINE size_type | max_size () const |
AZ_FORCE_INLINE void | swap (this_type &rhs) |
AZ_FORCE_INLINE pair< iterator, bool > | insert (const value_type &value) |
AZ_FORCE_INLINE iterator | insert (iterator insertPos, const value_type &value) |
template<class InputIterator > | |
void | insert (InputIterator first, InputIterator last) |
template<class R > | |
auto | insert_range (R &&rg) -> enable_if_t< Internal::container_compatible_range< R, value_type > > |
AZ_FORCE_INLINE iterator | erase (const_iterator erasePos) |
AZ_FORCE_INLINE size_type | erase (const key_type &key) |
AZ_FORCE_INLINE iterator | erase (const_iterator first, const_iterator last) |
AZ_FORCE_INLINE void | clear () |
this_type & | operator= (this_type &&rhs) |
iterator | insert (value_type &&value) |
iterator | insert (const_iterator insertPos, value_type &&value) |
template<class ... InputArguments> | |
iterator | emplace (InputArguments &&... arguments) |
template<class ... InputArguments> | |
iterator | emplace_hint (const_iterator insertPos, InputArguments &&... arguments) |
iterator | insert (node_type &&nodeHandle) |
iterator | insert (const_iterator hint, node_type &&nodeHandle) |
node_type | extract (const key_type &key) |
node_type | extract (const_iterator it) |
const_iterator | find (const key_type &key) const |
iterator | find (const key_type &key) |
bool | contains (const key_type &key) const |
size_type | count (const key_type &key) const |
iterator | lower_bound (const key_type &key) |
const_iterator | lower_bound (const key_type &key) const |
iterator | upper_bound (const key_type &key) |
const_iterator | upper_bound (const key_type &key) const |
pair< iterator, iterator > | equal_range (const key_type &key) |
pair< const_iterator, const_iterator > | equal_range (const key_type &key) const |
template<typename ComparableToKey > | |
auto | find (const ComparableToKey &key) const -> enable_if_t<::AZStd::Internal::is_transparent< key_compare, ComparableToKey >::value, const_iterator > |
template<typename ComparableToKey > | |
auto | find (const ComparableToKey &key) -> enable_if_t<::AZStd::Internal::is_transparent< key_compare, ComparableToKey >::value, iterator > |
template<typename ComparableToKey > | |
auto | contains (const ComparableToKey &key) const -> enable_if_t<::AZStd::Internal::is_transparent< key_compare, ComparableToKey >::value, bool > |
template<typename ComparableToKey > | |
auto | count (const ComparableToKey &key) const -> enable_if_t<::AZStd::Internal::is_transparent< key_compare, ComparableToKey >::value, size_type > |
template<typename ComparableToKey > | |
auto | lower_bound (const ComparableToKey &key) -> enable_if_t<::AZStd::Internal::is_transparent< key_compare, ComparableToKey >::value, iterator > |
template<typename ComparableToKey > | |
auto | lower_bound (const ComparableToKey &key) const -> enable_if_t<::AZStd::Internal::is_transparent< key_compare, ComparableToKey >::value, const_iterator > |
template<typename ComparableToKey > | |
auto | upper_bound (const ComparableToKey &key) -> enable_if_t<::AZStd::Internal::is_transparent< key_compare, ComparableToKey >::value, iterator > |
template<typename ComparableToKey > | |
auto | upper_bound (const ComparableToKey &key) const -> enable_if_t<::AZStd::Internal::is_transparent< key_compare, ComparableToKey >::value, const_iterator > |
template<typename ComparableToKey > | |
auto | equal_range (const ComparableToKey &key) -> enable_if_t<::AZStd::Internal::is_transparent< key_compare, ComparableToKey >::value, pair< iterator, iterator > > |
template<typename ComparableToKey > | |
auto | equal_range (const ComparableToKey &key) const -> enable_if_t<::AZStd::Internal::is_transparent< key_compare, ComparableToKey >::value, pair< const_iterator, const_iterator > > |
Extensions | |
AZ_FORCE_INLINE allocator_type & | get_allocator () |
AZ_FORCE_INLINE const allocator_type & | get_allocator () const |
AZ_FORCE_INLINE void | set_allocator (const allocator_type &allocator) |
Set the vector allocator. If different than then current all elements will be reallocated. | |
AZ_INLINE bool | validate () const |
AZ_INLINE int | validate_iterator (const const_iterator &iter) const |
Validates an iter iterator. Returns a combination of iterator_status_flag. | |
AZ_INLINE int | validate_iterator (const iterator &iter) const |
AZ_FORCE_INLINE void | leak_and_reset () |
Ordered multiset container is complaint with C++0x (23.4.4) This is an associative container, key can be equivalent (multiple copies of the same key value). You can iterate over them, by checking if the key stays the same, after finding the first.
Check the set AZStdExamples.
|
inline |
Resets the container without deallocating any memory or calling any destructor. This function should be used when we need very quick tear down. Generally it's used for temporary vectors and we can just nuke them that way. In addition the provided Allocators, has leak and reset flag which will enable automatically this behavior. So this function should be used in special cases AZStdExamples.