Panda3D
Public Types | Public Member Functions | List of all members
ov_multiset< Key, Compare, Vector > Class Template Reference

A specialization of ordered_vector that emulates a standard STL set: many copies of each element are allowed. More...

#include "ordered_vector.h"

Inheritance diagram for ov_multiset< Key, Compare, Vector >:
ordered_vector< Key, Compare, Vector >

Public Types

typedef ordered_vector< Key, Compare, Vector >::iterator_0 iterator_0
 
typedef ordered_vector< Key, Compare, Vector >::value_type_0 value_type_0
 
- Public Types inherited from ordered_vector< Key, Compare, Vector >
typedef const_iterator_0 const_iterator
 
typedef Vector::const_iterator const_iterator_0
 
typedef const_reference_0 const_reference
 
typedef const Key & const_reference_0
 
typedef const_reverse_iterator_0 const_reverse_iterator
 
typedef Vector::const_reverse_iterator const_reverse_iterator_0
 
typedef difference_type_0 difference_type
 
typedef Vector::difference_type difference_type_0
 
typedef iterator_0 iterator
 
typedef Vector::iterator iterator_0
 
typedef key_compare_0 key_compare
 
typedef Compare key_compare_0
 
typedef key_type_0 key_type
 
typedef Key key_type_0
 
typedef reference_0 reference
 
typedef Key & reference_0
 
typedef reverse_iterator_0 reverse_iterator
 
typedef Vector::reverse_iterator reverse_iterator_0
 
typedef size_type_0 size_type
 
typedef Vector::size_type size_type_0
 
typedef value_compare_0 value_compare
 
typedef Compare value_compare_0
 
typedef value_type_0 value_type
 
typedef Key value_type_0
 

Public Member Functions

 ov_multiset (TypeHandle type_handle=ov_set_type_handle)
 
 ov_multiset (const Compare &compare, TypeHandle type_handle=ov_set_type_handle)
 
iterator_0 insert (iterator_0 position, const value_type_0 &key)
 
iterator_0 insert (const value_type_0 &key)
 
void sort ()
 Maps to sort_nonunique(). More...
 
bool verify_list () const
 Maps to verify_list_nonunique(). More...
 
- Public Member Functions inherited from ordered_vector< Key, Compare, Vector >
 ordered_vector (TypeHandle type_handle=ov_set_type_handle)
 
 ordered_vector (const Compare &compare, TypeHandle type_handle=ov_set_type_handle)
 
reference back ()
 Returns a reference to the first element. More...
 
const_reference back () const
 Returns a const reference to the last element. More...
 
iterator_0 begin ()
 Returns the iterator that marks the first element in the ordered vector. More...
 
const_iterator_0 begin () const
 Returns the iterator that marks the first element in the ordered vector. More...
 
const_iterator_0 cbegin () const
 Returns the iterator that marks the first element in the ordered vector. More...
 
const_iterator_0 cend () const
 Returns the iterator that marks the end of the ordered vector. More...
 
void clear ()
 Removes all elements from the ordered vector. More...
 
size_type_0 count (const key_type_0 &key) const
 Returns the number of elements that sort equivalent to the key that are in the vector. More...
 
const_reverse_iterator_0 crbegin () const
 Returns the iterator that marks the first element in the ordered vector, when viewed in reverse order. More...
 
const_reverse_iterator_0 crend () const
 Returns the iterator that marks the end of the ordered vector, when viewed in reverse order. More...
 
bool empty () const
 Returns true if the ordered vector is empty, false otherwise. More...
 
iterator_0 end ()
 Returns the iterator that marks the end of the ordered vector. More...
 
const_iterator_0 end () const
 Returns the iterator that marks the end of the ordered vector. More...
 
std::pair< iterator_0, iterator_0 > equal_range (const key_type_0 &key)
 
std::pair< const_iterator_0, const_iterator_0 > equal_range (const key_type_0 &key) const
 
iterator_0 erase (iterator_0 position)
 
size_type_0 erase (const key_type_0 &key)
 
void erase (iterator_0 first, iterator_0 last)
 
iterator_0 find (const key_type_0 &key)
 
const_iterator_0 find (const key_type_0 &key) const
 
iterator_0 find_particular (const key_type_0 &key)
 
const_iterator_0 find_particular (const key_type_0 &key) const
 
reference front ()
 Returns a reference to the first element. More...
 
const_reference front () const
 Returns a const reference to the first element. More...
 
iterator_0 insert_nonunique (iterator_0 position, const value_type_0 &key)
 
iterator_0 insert_nonunique (const value_type_0 &key)
 
iterator_0 insert_unique (iterator_0 position, const value_type_0 &key)
 
std::pair< iterator_0, bool > insert_unique (const value_type_0 &key)
 
iterator_0 insert_unverified (iterator_0 position, const value_type_0 &key)
 Inserts the indicated key into the ordered vector at the indicated place. More...
 
iterator_0 lower_bound (const key_type_0 &key)
 
const_iterator_0 lower_bound (const key_type_0 &key) const
 
size_type_0 max_size () const
 Returns the maximum number of elements that can possibly be stored in an ordered vector. More...
 
bool operator != (const ordered_vector< Key, Compare, Vector > &other) const
 Returns true if the two ordered vectors are not memberwise equivalent, false if they are. More...
 
bool operator > (const ordered_vector< Key, Compare, Vector > &other) const
 Returns true if this ordered vector sorts lexicographically after the other one, false otherwise. More...
 
bool operator >= (const ordered_vector< Key, Compare, Vector > &other) const
 Returns true if this ordered vector sorts lexicographically after the other one or is equivalent, false otherwise. More...
 
reference operator [] (size_type_0 n)
 
const_reference operator [] (size_type_0 n) const
 
bool operator< (const ordered_vector< Key, Compare, Vector > &other) const
 Returns true if this ordered vector sorts lexicographically before the other one, false otherwise. More...
 
bool operator<= (const ordered_vector< Key, Compare, Vector > &other) const
 Returns true if this ordered vector sorts lexicographically before the other one or is equivalent, false otherwise. More...
 
bool operator== (const ordered_vector< Key, Compare, Vector > &other) const
 Returns true if the two ordered vectors are memberwise equivalent, false otherwise. More...
 
void pop_back ()
 Removes the last element at the end of the vector. More...
 
void push_back (const value_type_0 &key)
 Adds the new element to the end of the vector without regard for proper sorting. More...
 
void push_back (value_type_0 &&key)
 Adds the new element to the end of the vector without regard for proper sorting. More...
 
reverse_iterator_0 rbegin ()
 Returns the iterator that marks the first element in the ordered vector, when viewed in reverse order. More...
 
const_reverse_iterator_0 rbegin () const
 Returns the iterator that marks the first element in the ordered vector, when viewed in reverse order. More...
 
reverse_iterator_0 rend ()
 Returns the iterator that marks the end of the ordered vector, when viewed in reverse order. More...
 
const_reverse_iterator_0 rend () const
 Returns the iterator that marks the end of the ordered vector, when viewed in reverse order. More...
 
void reserve (size_type_0 n)
 Informs the vector of a planned change in size; ensures that the capacity of the vector is greater than or equal to n. More...
 
void resize (size_type_0 n)
 
void resize (size_type_0 n, const value_type_0 &value)
 
size_type_0 size () const
 Returns the number of elements in the ordered vector. More...
 
void sort_nonunique ()
 Ensures that the vector is properly sorted after a potentially damaging operation. More...
 
void sort_unique ()
 Ensures that the vector is properly sorted after a potentially damaging operation. More...
 
void swap (ordered_vector< Key, Compare, Vector > &other)
 Exchanges the contents of this vector and the other vector, in constant time (e.g., with a pointer swap). More...
 
iterator_0 upper_bound (const key_type_0 &key)
 
const_iterator_0 upper_bound (const key_type_0 &key) const
 
bool verify_list_nonunique () const
 
bool verify_list_unique () const
 

Detailed Description

template<class Key, class Compare = std::less<Key>, class Vector = pvector<Key>>
class ov_multiset< Key, Compare, Vector >

A specialization of ordered_vector that emulates a standard STL set: many copies of each element are allowed.

Definition at line 290 of file ordered_vector.h.

Member Function Documentation

◆ sort()

template<class Key , class Compare , class Vector >
void ov_multiset< Key, Compare, Vector >::sort ( )
inline

◆ verify_list()

template<class Key , class Compare , class Vector >
bool ov_multiset< Key, Compare, Vector >::verify_list ( ) const
inline

Maps to verify_list_nonunique().

Definition at line 797 of file ordered_vector.I.


The documentation for this class was generated from the following files: