Panda3D
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
ordered_vector< Key, Compare, Vector > Class Template Reference

This template class presents an interface similar to the STL set or multiset (and ov_set and ov_multiset are implemented specifically, below), but it is implemented using a vector that is kept always in sorted order. More...

#include "ordered_vector.h"

Inheritance diagram for ordered_vector< Key, Compare, Vector >:
ov_set< AnimRecord > ov_set< PT(AsyncTaskChain), IndirectCompareNames< AsyncTaskChain > > ov_set< Entry > ov_set< PT(PandaNode) > ov_set< JointVertexTransform * > ov_set< NodePath > ov_set< PT(GraphicsOutput), IndirectLess< GraphicsOutput > > ov_set< PT(InputDevice)> ov_set< PT(MayaBlendDesc), IndirectCompareNames< MayaBlendDesc > > ov_set< PT(MouseWatcherRegion) > ov_set< Subfile *, IndirectLess< Subfile > > ov_set< Effect > ov_set< Subrange > ov_set< InstanceList *, IndirectLess< InstanceList > > ov_set< StageNode, CompareTextureStagePointer > ov_set< StageNode, CompareTextureStagePointer, epvector< StageNode > > ov_set< TransformEntry > ov_set< TransformTable * > ov_multiset< Key, Compare, Vector > ov_set< Key, Compare, Vector >

Public Types

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

 ordered_vector (const Compare &compare, TypeHandle type_handle=ov_set_type_handle)
 
 ordered_vector (TypeHandle type_handle=ov_set_type_handle)
 
reference back ()
 Returns a reference to the first element.
 
const_reference back () const
 Returns a const reference to the last element.
 
iterator_0 begin ()
 Returns the iterator that marks the first element in the ordered vector.
 
const_iterator_0 begin () const
 Returns the iterator that marks the first element in the ordered vector.
 
const_iterator_0 cbegin () const
 Returns the iterator that marks the first element in the ordered vector.
 
const_iterator_0 cend () const
 Returns the iterator that marks the end of the ordered vector.
 
void clear ()
 Removes all elements from the ordered vector.
 
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.
 
const_reverse_iterator_0 crbegin () const
 Returns the iterator that marks the first element in the ordered vector, when viewed in reverse order.
 
const_reverse_iterator_0 crend () const
 Returns the iterator that marks the end of the ordered vector, when viewed in reverse order.
 
bool empty () const
 Returns true if the ordered vector is empty, false otherwise.
 
iterator_0 end ()
 Returns the iterator that marks the end of the ordered vector.
 
const_iterator_0 end () const
 Returns the iterator that marks the end of the ordered vector.
 
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
 
size_type_0 erase (const key_type_0 &key)
 
void erase (iterator_0 first, iterator_0 last)
 
iterator_0 erase (iterator_0 position)
 
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.
 
const_reference front () const
 Returns a const reference to the first element.
 
iterator_0 insert_nonunique (const value_type_0 &key)
 
iterator_0 insert_nonunique (iterator_0 position, const value_type_0 &key)
 
std::pair< iterator_0, bool > insert_unique (const value_type_0 &key)
 
iterator_0 insert_unique (iterator_0 position, 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.
 
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.
 
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.
 
bool operator< (const ordered_vector< Key, Compare, Vector > &other) const
 Returns true if this ordered vector sorts lexicographically before the other one, false otherwise.
 
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.
 
bool operator== (const ordered_vector< Key, Compare, Vector > &other) const
 Returns true if the two ordered vectors are memberwise equivalent, false otherwise.
 
bool operator> (const ordered_vector< Key, Compare, Vector > &other) const
 Returns true if this ordered vector sorts lexicographically after the other one, false otherwise.
 
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.
 
reference operator[] (size_type_0 n)
 
const_reference operator[] (size_type_0 n) const
 
void pop_back ()
 Removes the last element at the end of the vector.
 
void push_back (const value_type_0 &key)
 Adds the new element to the end of the vector without regard for proper sorting.
 
void push_back (value_type_0 &&key)
 Adds the new element to the end of the vector without regard for proper sorting.
 
reverse_iterator_0 rbegin ()
 Returns the iterator that marks the first element in the ordered vector, when viewed in reverse order.
 
const_reverse_iterator_0 rbegin () const
 Returns the iterator that marks the first element in the ordered vector, when viewed in reverse order.
 
reverse_iterator_0 rend ()
 Returns the iterator that marks the end of the ordered vector, when viewed in reverse order.
 
const_reverse_iterator_0 rend () const
 Returns the iterator that marks the end of the ordered vector, when viewed in reverse order.
 
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.
 
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.
 
void sort_nonunique ()
 Ensures that the vector is properly sorted after a potentially damaging operation.
 
void sort_unique ()
 Ensures that the vector is properly sorted after a potentially damaging operation.
 
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).
 
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 ordered_vector< Key, Compare, Vector >

This template class presents an interface similar to the STL set or multiset (and ov_set and ov_multiset are implemented specifically, below), but it is implemented using a vector that is kept always in sorted order.

In most cases, an ov_set or ov_multiset may be dropped in transparently in place of a set or multiset, but the implementation difference has a few implications:

(1) The ov_multiset will maintain stability of order between elements that sort equally: they are stored in the order in which they were added, from back to front.

(2) Insert and erase operations into the middle of the set can be slow, just as inserting into the middle of a vector can be slow. In fact, building up an ov_set by inserting elements one at a time is an n^2 operation. On the other hand, building up an ov_set by adding elements to the end, one at time, is somewhat faster than building up a traditional set; and you can even add unsorted elements with push_back() and then call sort() when you're done, for a log(n) operation.

(3) Iterators may not be valid for the life of the ordered_vector. If the vector reallocates itself, all iterators are invalidated.

(4) Random access into the set is easy with the [] operator.

Definition at line 95 of file ordered_vector.h.

Member Typedef Documentation

◆ const_iterator

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef const_iterator_0 ordered_vector< Key, Compare, Vector >::const_iterator

Definition at line 126 of file ordered_vector.h.

◆ const_iterator_0

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef Vector::const_iterator ordered_vector< Key, Compare, Vector >::const_iterator_0

Definition at line 109 of file ordered_vector.h.

◆ const_reference

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef const_reference_0 ordered_vector< Key, Compare, Vector >::const_reference

Definition at line 122 of file ordered_vector.h.

◆ const_reference_0

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef const Key& ordered_vector< Key, Compare, Vector >::const_reference_0

Definition at line 101 of file ordered_vector.h.

◆ const_reverse_iterator

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef const_reverse_iterator_0 ordered_vector< Key, Compare, Vector >::const_reverse_iterator

Definition at line 128 of file ordered_vector.h.

◆ const_reverse_iterator_0

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef Vector::const_reverse_iterator ordered_vector< Key, Compare, Vector >::const_reverse_iterator_0

Definition at line 111 of file ordered_vector.h.

◆ difference_type

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef difference_type_0 ordered_vector< Key, Compare, Vector >::difference_type

Definition at line 129 of file ordered_vector.h.

◆ difference_type_0

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef Vector::difference_type ordered_vector< Key, Compare, Vector >::difference_type_0

Definition at line 113 of file ordered_vector.h.

◆ iterator

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef iterator_0 ordered_vector< Key, Compare, Vector >::iterator

Definition at line 125 of file ordered_vector.h.

◆ iterator_0

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef Vector::iterator ordered_vector< Key, Compare, Vector >::iterator_0

Definition at line 108 of file ordered_vector.h.

◆ key_compare

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef key_compare_0 ordered_vector< Key, Compare, Vector >::key_compare

Definition at line 123 of file ordered_vector.h.

◆ key_compare_0

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef Compare ordered_vector< Key, Compare, Vector >::key_compare_0

Definition at line 102 of file ordered_vector.h.

◆ key_type

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef key_type_0 ordered_vector< Key, Compare, Vector >::key_type

Definition at line 119 of file ordered_vector.h.

◆ key_type_0

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef Key ordered_vector< Key, Compare, Vector >::key_type_0

Definition at line 98 of file ordered_vector.h.

◆ reference

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef reference_0 ordered_vector< Key, Compare, Vector >::reference

Definition at line 121 of file ordered_vector.h.

◆ reference_0

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef Key& ordered_vector< Key, Compare, Vector >::reference_0

Definition at line 100 of file ordered_vector.h.

◆ reverse_iterator

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef reverse_iterator_0 ordered_vector< Key, Compare, Vector >::reverse_iterator

Definition at line 127 of file ordered_vector.h.

◆ reverse_iterator_0

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef Vector::reverse_iterator ordered_vector< Key, Compare, Vector >::reverse_iterator_0

Definition at line 110 of file ordered_vector.h.

◆ size_type

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef size_type_0 ordered_vector< Key, Compare, Vector >::size_type

Definition at line 130 of file ordered_vector.h.

◆ size_type_0

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef Vector::size_type ordered_vector< Key, Compare, Vector >::size_type_0

Definition at line 114 of file ordered_vector.h.

◆ value_compare

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef value_compare_0 ordered_vector< Key, Compare, Vector >::value_compare

Definition at line 124 of file ordered_vector.h.

◆ value_compare_0

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef Compare ordered_vector< Key, Compare, Vector >::value_compare_0

Definition at line 103 of file ordered_vector.h.

◆ value_type

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef value_type_0 ordered_vector< Key, Compare, Vector >::value_type

Definition at line 120 of file ordered_vector.h.

◆ value_type_0

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
typedef Key ordered_vector< Key, Compare, Vector >::value_type_0

Definition at line 99 of file ordered_vector.h.

Constructor & Destructor Documentation

◆ ordered_vector() [1/2]

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::ordered_vector ( TypeHandle type_handle = ov_set_type_handle)
inline

Definition at line 18 of file ordered_vector.I.

◆ ordered_vector() [2/2]

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::ordered_vector ( const Compare & compare,
TypeHandle type_handle = ov_set_type_handle )
inline

Definition at line 29 of file ordered_vector.I.

Member Function Documentation

◆ back() [1/2]

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::REFERENCE ordered_vector< Key, Compare, Vector >::back ( )
inline

Returns a reference to the first element.

Definition at line 196 of file ordered_vector.I.

Referenced by ClipPlaneAttrib::finalize(), and LightAttrib::finalize().

◆ back() [2/2]

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::CONST_REFERENCE ordered_vector< Key, Compare, Vector >::back ( ) const
inline

Returns a const reference to the last element.

Definition at line 208 of file ordered_vector.I.

◆ begin() [1/2]

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::ITERATOR ordered_vector< Key, Compare, Vector >::begin ( )
inline

Returns the iterator that marks the first element in the ordered vector.

Definition at line 40 of file ordered_vector.I.

References ordered_vector< Key, Compare, Vector >::begin().

Referenced by AnimPreloadTable::add_anims_from(), MouseWatcherBase::add_region(), RenderEffects::adjust_transform(), SpeedTreeNode::apply_attribs_to_vertices(), ordered_vector< Key, Compare, Vector >::begin(), ordered_vector< Key, Compare, Vector >::begin(), ordered_vector< Key, Compare, Vector >::cbegin(), MayaNodeTree::clear_egg(), CharacterJoint::clear_local_transforms(), CharacterJoint::clear_net_transforms(), TransformBlend::compare_to(), TransformBlend::complete_pointers(), OccluderEffect::complete_pointers(), RenderEffects::complete_pointers(), TextureAttrib::complete_pointers(), SpeedTreeNode::compute_internal_bounds(), SpeedTreeNode::count_total_instances(), CPT(), RenderEffects::cull_callback(), AnimPreloadTable::find_anim(), AttribNodeRegistry::find_node(), AttribNodeRegistry::find_node(), TextureAttrib::find_on_stage(), Multifile::find_subfile(), CharacterJoint::get_local_transforms(), CharacterJoint::get_net_transforms(), SparseArray::get_next_higher_different_bit(), SparseArray::get_num_bits(), SparseArray::get_num_off_bits(), SparseArray::get_num_on_bits(), MouseWatcherBase::has_region(), TransformBlend::limit_transforms(), TransformBlend::normalize_weights(), SpeedTreeNode::remove_all_trees(), AnimPreloadTable::remove_anim(), InputDeviceSet::remove_devices_from(), AttribNodeRegistry::remove_node(), Multifile::remove_subfile(), GraphicsEngine::remove_window(), GraphicsEngine::render_frame(), Multifile::repack(), GraphicsEngine::reset_all_windows(), MayaNodeTree::reset_sliders(), RenderEffects::safe_to_transform(), VirtualFile::scan_directory(), SpeedTreeNode::snap_to_terrain(), CharacterJoint::update_internals(), InputDeviceSet::write(), AnimPreloadTable::write_datagram(), ClipPlaneAttrib::write_datagram(), LightAttrib::write_datagram(), OccluderEffect::write_datagram(), RenderEffects::write_datagram(), TexMatrixAttrib::write_datagram(), TextureAttrib::write_datagram(), SpeedTreeNode::write_datagram(), TransformBlend::write_datagram(), SparseArray::write_datagram(), and CharacterJoint::write_datagram().

◆ begin() [2/2]

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::CONST_ITERATOR ordered_vector< Key, Compare, Vector >::begin ( ) const
inline

Returns the iterator that marks the first element in the ordered vector.

Definition at line 78 of file ordered_vector.I.

References ordered_vector< Key, Compare, Vector >::begin().

◆ cbegin()

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::CONST_ITERATOR ordered_vector< Key, Compare, Vector >::cbegin ( ) const
inline

Returns the iterator that marks the first element in the ordered vector.

Definition at line 116 of file ordered_vector.I.

References ordered_vector< Key, Compare, Vector >::begin().

◆ cend()

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::CONST_ITERATOR ordered_vector< Key, Compare, Vector >::cend ( ) const
inline

Returns the iterator that marks the end of the ordered vector.

Definition at line 125 of file ordered_vector.I.

References ordered_vector< Key, Compare, Vector >::end().

◆ clear()

template<class Key , class Compare , class Vector >
void ordered_vector< Key, Compare, Vector >::clear ( )
inline

◆ count()

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::SIZE_TYPE ordered_vector< Key, Compare, Vector >::count ( const key_type_0 & key) const
inline

Returns the number of elements that sort equivalent to the key that are in the vector.

Definition at line 483 of file ordered_vector.I.

Referenced by CharacterJoint::has_local_transform(), and CharacterJoint::has_net_transform().

◆ crbegin()

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::CONST_REVERSE_ITERATOR ordered_vector< Key, Compare, Vector >::crbegin ( ) const
inline

Returns the iterator that marks the first element in the ordered vector, when viewed in reverse order.

Definition at line 135 of file ordered_vector.I.

References ordered_vector< Key, Compare, Vector >::rbegin().

◆ crend()

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::CONST_REVERSE_ITERATOR ordered_vector< Key, Compare, Vector >::crend ( ) const
inline

Returns the iterator that marks the end of the ordered vector, when viewed in reverse order.

Definition at line 145 of file ordered_vector.I.

◆ empty()

template<class Key , class Compare , class Vector >
bool ordered_vector< Key, Compare, Vector >::empty ( ) const
inline

◆ end() [1/2]

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::ITERATOR ordered_vector< Key, Compare, Vector >::end ( )
inline

Returns the iterator that marks the end of the ordered vector.

Definition at line 49 of file ordered_vector.I.

References ordered_vector< Key, Compare, Vector >::end().

Referenced by AnimPreloadTable::add_anims_from(), MouseWatcherBase::add_region(), SpeedTreeNode::add_tree(), RenderEffects::adjust_transform(), SpeedTreeNode::apply_attribs_to_vertices(), ordered_vector< Key, Compare, Vector >::cend(), MayaNodeTree::clear_egg(), CharacterJoint::clear_local_transforms(), CharacterJoint::clear_net_transforms(), TransformBlend::compare_to(), TransformBlend::complete_pointers(), OccluderEffect::complete_pointers(), TextureAttrib::complete_pointers(), SpeedTreeNode::compute_internal_bounds(), SpeedTreeNode::count_total_instances(), CPT(), RenderEffects::cull_callback(), ordered_vector< Key, Compare, Vector >::end(), ordered_vector< Key, Compare, Vector >::end(), AnimPreloadTable::find_anim(), AttribNodeRegistry::find_node(), AttribNodeRegistry::find_node(), TextureAttrib::find_on_stage(), Multifile::find_subfile(), CharacterJoint::get_local_transforms(), CharacterJoint::get_net_transforms(), SparseArray::get_next_higher_different_bit(), SparseArray::get_num_off_bits(), SparseArray::get_num_on_bits(), TextureAttrib::get_on_stage_override(), TexMatrixAttrib::get_override(), InputDeviceSet::has_device(), Multifile::has_directory(), SpeedTreeNode::has_instance_list(), LightAttrib::has_off_light(), ClipPlaneAttrib::has_off_plane(), TextureAttrib::has_off_stage(), LightAttrib::has_on_light(), OccluderEffect::has_on_occluder(), ClipPlaneAttrib::has_on_plane(), MouseWatcherBase::has_region(), TransformBlend::limit_transforms(), AttribNodeRegistry::lookup_node(), TransformBlend::normalize_weights(), SpeedTreeNode::remove_all_trees(), InputDeviceSet::remove_devices_from(), AttribNodeRegistry::remove_node(), AsyncTaskManager::remove_task_chain(), SpeedTreeNode::remove_tree(), GraphicsEngine::remove_window(), GraphicsEngine::render_frame(), Multifile::repack(), GraphicsEngine::reset_all_windows(), MayaNodeTree::reset_sliders(), RenderEffects::safe_to_transform(), VirtualFile::scan_directory(), Multifile::scan_directory(), SpeedTreeNode::snap_to_terrain(), CharacterJoint::update_internals(), InputDeviceSet::write(), AnimPreloadTable::write_datagram(), ClipPlaneAttrib::write_datagram(), LightAttrib::write_datagram(), OccluderEffect::write_datagram(), RenderEffects::write_datagram(), TexMatrixAttrib::write_datagram(), TextureAttrib::write_datagram(), SpeedTreeNode::write_datagram(), TransformBlend::write_datagram(), SparseArray::write_datagram(), and CharacterJoint::write_datagram().

◆ end() [2/2]

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::CONST_ITERATOR ordered_vector< Key, Compare, Vector >::end ( ) const
inline

Returns the iterator that marks the end of the ordered vector.

Definition at line 87 of file ordered_vector.I.

References ordered_vector< Key, Compare, Vector >::end().

◆ front() [1/2]

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::REFERENCE ordered_vector< Key, Compare, Vector >::front ( )
inline

Returns a reference to the first element.

Definition at line 172 of file ordered_vector.I.

◆ front() [2/2]

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::CONST_REFERENCE ordered_vector< Key, Compare, Vector >::front ( ) const
inline

Returns a const reference to the first element.

Definition at line 184 of file ordered_vector.I.

◆ insert_unverified()

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
ordered_vector< Key, Compare, Vector >::ITERATOR ordered_vector< Key, Compare, Vector >::insert_unverified ( iterator_0 position,
const value_type_0 & key )
inline

Inserts the indicated key into the ordered vector at the indicated place.

The user is trusted to have already verified that this is the correct sorting position; no checks are made.

Definition at line 361 of file ordered_vector.I.

◆ max_size()

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::SIZE_TYPE ordered_vector< Key, Compare, Vector >::max_size ( ) const
inline

Returns the maximum number of elements that can possibly be stored in an ordered vector.

Definition at line 230 of file ordered_vector.I.

References ordered_vector< Key, Compare, Vector >::max_size().

Referenced by ordered_vector< Key, Compare, Vector >::max_size().

◆ operator!=()

template<class Key , class Compare , class Vector >
bool ordered_vector< Key, Compare, Vector >::operator!= ( const ordered_vector< Key, Compare, Vector > & other) const
inline

Returns true if the two ordered vectors are not memberwise equivalent, false if they are.

Definition at line 259 of file ordered_vector.I.

◆ operator<()

template<class Key , class Compare , class Vector >
bool ordered_vector< Key, Compare, Vector >::operator< ( const ordered_vector< Key, Compare, Vector > & other) const
inline

Returns true if this ordered vector sorts lexicographically before the other one, false otherwise.

Definition at line 269 of file ordered_vector.I.

◆ operator<=()

template<class Key , class Compare , class Vector >
bool ordered_vector< Key, Compare, Vector >::operator<= ( const ordered_vector< Key, Compare, Vector > & other) const
inline

Returns true if this ordered vector sorts lexicographically before the other one or is equivalent, false otherwise.

Definition at line 289 of file ordered_vector.I.

◆ operator==()

template<class Key , class Compare , class Vector >
bool ordered_vector< Key, Compare, Vector >::operator== ( const ordered_vector< Key, Compare, Vector > & other) const
inline

Returns true if the two ordered vectors are memberwise equivalent, false otherwise.

Definition at line 249 of file ordered_vector.I.

◆ operator>()

template<class Key , class Compare , class Vector >
bool ordered_vector< Key, Compare, Vector >::operator> ( const ordered_vector< Key, Compare, Vector > & other) const
inline

Returns true if this ordered vector sorts lexicographically after the other one, false otherwise.

Definition at line 279 of file ordered_vector.I.

◆ operator>=()

template<class Key , class Compare , class Vector >
bool ordered_vector< Key, Compare, Vector >::operator>= ( const ordered_vector< Key, Compare, Vector > & other) const
inline

Returns true if this ordered vector sorts lexicographically after the other one or is equivalent, false otherwise.

Definition at line 299 of file ordered_vector.I.

◆ pop_back()

template<class Key , class Compare , class Vector >
void ordered_vector< Key, Compare, Vector >::pop_back ( )
inline

Removes the last element at the end of the vector.

Definition at line 635 of file ordered_vector.I.

Referenced by AsyncTaskManager::cleanup().

◆ push_back() [1/2]

template<class Key , class Compare , class Vector >
void ordered_vector< Key, Compare, Vector >::push_back ( const value_type_0 & key)
inline

Adds the new element to the end of the vector without regard for proper sorting.

This is a bad idea to do except to populate the vector the first time; be sure to call sort() after you have added all the elements.

Definition at line 613 of file ordered_vector.I.

Referenced by AnimPreloadTable::add_anim(), AnimPreloadTable::add_anims_from(), InputDeviceSet::add_devices_from(), MouseWatcherBase::add_region(), TextureAttrib::complete_pointers(), TransformBlend::fillin(), ClipPlaneAttrib::finalize(), LightAttrib::finalize(), SparseArray::lower_on(), GraphicsEngine::open_windows(), SparseArray::read_datagram(), InputDeviceSet::remove_devices_from(), and GraphicsEngine::render_frame().

◆ push_back() [2/2]

template<class Key , class Compare , class Vector >
void ordered_vector< Key, Compare, Vector >::push_back ( value_type_0 && key)
inline

Adds the new element to the end of the vector without regard for proper sorting.

This is a bad idea to do except to populate the vector the first time; be sure to call sort() after you have added all the elements.

Definition at line 625 of file ordered_vector.I.

◆ rbegin() [1/2]

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::REVERSE_ITERATOR ordered_vector< Key, Compare, Vector >::rbegin ( )
inline

Returns the iterator that marks the first element in the ordered vector, when viewed in reverse order.

Definition at line 59 of file ordered_vector.I.

References ordered_vector< Key, Compare, Vector >::rbegin().

Referenced by SparseArray::compare_to(), ordered_vector< Key, Compare, Vector >::crbegin(), ordered_vector< Key, Compare, Vector >::rbegin(), and ordered_vector< Key, Compare, Vector >::rbegin().

◆ rbegin() [2/2]

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::CONST_REVERSE_ITERATOR ordered_vector< Key, Compare, Vector >::rbegin ( ) const
inline

Returns the iterator that marks the first element in the ordered vector, when viewed in reverse order.

Definition at line 97 of file ordered_vector.I.

References ordered_vector< Key, Compare, Vector >::rbegin().

◆ rend() [1/2]

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::REVERSE_ITERATOR ordered_vector< Key, Compare, Vector >::rend ( )
inline

Returns the iterator that marks the end of the ordered vector, when viewed in reverse order.

Definition at line 69 of file ordered_vector.I.

References ordered_vector< Key, Compare, Vector >::rend().

Referenced by SparseArray::compare_to(), ordered_vector< Key, Compare, Vector >::rend(), and ordered_vector< Key, Compare, Vector >::rend().

◆ rend() [2/2]

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::CONST_REVERSE_ITERATOR ordered_vector< Key, Compare, Vector >::rend ( ) const
inline

Returns the iterator that marks the end of the ordered vector, when viewed in reverse order.

Definition at line 107 of file ordered_vector.I.

References ordered_vector< Key, Compare, Vector >::rend().

◆ reserve()

template<class Key , class Compare = std::less<Key>, class Vector = pvector<Key>>
void ordered_vector< Key, Compare, Vector >::reserve ( size_type_0 n)
inline

Informs the vector of a planned change in size; ensures that the capacity of the vector is greater than or equal to n.

Definition at line 571 of file ordered_vector.I.

Referenced by AnimPreloadTable::add_anims_from(), CPT(), TransformBlend::fillin(), ClipPlaneAttrib::finalize(), LightAttrib::finalize(), SparseArray::read_datagram(), GraphicsEngine::render_frame(), and InputDeviceSet::reserve().

◆ size()

template<class Key , class Compare , class Vector >
ordered_vector< Key, Compare, Vector >::SIZE_TYPE ordered_vector< Key, Compare, Vector >::size ( ) const
inline

Returns the number of elements in the ordered vector.

Definition at line 220 of file ordered_vector.I.

References ordered_vector< Key, Compare, Vector >::size().

Referenced by AnimPreloadTable::add_anims_from(), MouseWatcherBase::add_region(), AsyncTaskManager::cleanup(), Multifile::compare_subfile(), TransformBlend::compare_to(), ClipPlaneAttrib::complete_pointers(), LightAttrib::complete_pointers(), OccluderEffect::complete_pointers(), RenderEffects::complete_pointers(), TexMatrixAttrib::complete_pointers(), TextureAttrib::complete_pointers(), Multifile::extract_subfile(), Multifile::extract_subfile_to(), ClipPlaneAttrib::finalize(), LightAttrib::finalize(), AnimPreloadTable::get_base_frame_rate(), AnimPreloadTable::get_basename(), MayaNodeTree::get_blend_desc(), RenderEffects::get_effect(), SparseArray::get_highest_off_bit(), SparseArray::get_highest_on_bit(), AttribNodeRegistry::get_node_name(), AttribNodeRegistry::get_node_type(), AnimPreloadTable::get_num_anims(), SparseArray::get_num_bits(), MayaNodeTree::get_num_blend_descs(), RenderEffects::get_num_effects(), AnimPreloadTable::get_num_frames(), SparseArray::get_num_subranges(), Multifile::get_subfile_internal_length(), Multifile::get_subfile_internal_start(), Multifile::get_subfile_length(), Multifile::get_subfile_timestamp(), SparseArray::get_subrange_begin(), SparseArray::get_subrange_end(), Multifile::is_subfile_compressed(), Multifile::is_subfile_encrypted(), Multifile::is_subfile_text(), TransformBlend::limit_transforms(), SpeedTreeNode::modify_tree(), Multifile::open_read_subfile(), InputDeviceSet::operator[](), RenderEffects::operator[](), InputDeviceSet::output(), AsyncTaskManager::poll(), Multifile::read_subfile(), AnimPreloadTable::remove_anim(), AttribNodeRegistry::remove_node(), Multifile::remove_subfile(), GraphicsEngine::render_frame(), TransformBlend::set_weight(), InputDeviceSet::size(), ordered_vector< Key, Compare, Vector >::size(), RenderEffects::size(), AsyncTaskManager::start_threads(), AsyncTaskManager::stop_threads(), AsyncTaskManager::wait_for_tasks(), AnimPreloadTable::write_datagram(), RenderEffects::write_datagram(), TexMatrixAttrib::write_datagram(), SpeedTreeNode::write_datagram(), TransformBlend::write_datagram(), SparseArray::write_datagram(), and CharacterJoint::write_datagram().

◆ sort_nonunique()

template<class Key , class Compare , class Vector >
void ordered_vector< Key, Compare, Vector >::sort_nonunique ( )
inline

Ensures that the vector is properly sorted after a potentially damaging operation.

This should not normally need to be called, unless the user has written to the vector using the non-const iterators or has called push_back().

Definition at line 601 of file ordered_vector.I.

Referenced by ov_multiset< Key, Compare, Vector >::sort().

◆ sort_unique()

template<class Key , class Compare , class Vector >
void ordered_vector< Key, Compare, Vector >::sort_unique ( )
inline

Ensures that the vector is properly sorted after a potentially damaging operation.

This should not normally need to be called, unless the user has written to the vector using the non-const iterators or has called push_back().

This flavor of sort also eliminates repeated elements.

Definition at line 586 of file ordered_vector.I.

Referenced by ov_set< Key, Compare, Vector >::sort().

◆ swap()

template<class Key , class Compare , class Vector >
void ordered_vector< Key, Compare, Vector >::swap ( ordered_vector< Key, Compare, Vector > & other)
inline

Exchanges the contents of this vector and the other vector, in constant time (e.g., with a pointer swap).

Definition at line 560 of file ordered_vector.I.

Referenced by GraphicsEngine::remove_all_windows(), InputDeviceSet::remove_devices_from(), GraphicsEngine::render_frame(), and MouseWatcher::replace_group().


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