|
Limbo 3.5.4
|
#include <FastMultiSet.h>
Public Types | |
| typedef KeyType | key_type |
| for set concept, value_type is also key_type | |
| typedef KeyType | value_type |
| for set concept, key_type is also value_type | |
| typedef Compare1 | key_compare1 |
| typedef Compare2 | key_compare2 |
| typedef multiset< key_type, key_compare1 > | base_type |
| typedef map< key_type, typename base_type::iterator, key_compare2 > | map_type |
| typedef map_type::value_type | map_value_type |
| typedef base_type::reference | reference |
| typedef base_type::const_reference | const_reference |
| typedef base_type::pointer | pointer |
| typedef base_type::const_pointer | const_pointer |
| typedef base_type::iterator | iterator |
| typedef base_type::const_iterator | const_iterator |
| typedef base_type::reverse_iterator | reverse_iterator |
| typedef base_type::const_reverse_iterator | const_reverse_iterator |
| typedef base_type::difference_type | difference_type |
| typedef base_type::size_type | size_type |
Public Member Functions | |
| FastMultiSet (key_compare1 const &comp1=key_compare1(), key_compare2 const &comp2=key_compare2()) | |
| constructor | |
| FastMultiSet (FastMultiSet const &rhs) | |
| copy constructor | |
| virtual iterator | insert (key_type const &val) |
| insert value | |
| virtual iterator | insert (iterator position, key_type const &val) |
| insert value with hint of position | |
| template<typename InputIterator> | |
| void | insert (InputIterator first, InputIterator last) |
| hide/disable methods in base class | |
| virtual size_type | erase (key_type const &val) |
| erase value | |
| void | erase (iterator position) |
| hide/disable methods in base class | |
| void | erase (iterator first, iterator last) |
| hide/disable methods in base class | |
| virtual iterator | update (key_type const &val) |
| update value, the value is changed which means its position is not correct in the container | |
| virtual size_type | count (key_type const &val) const |
| use m_map.count rather than multiset::count to have faster access | |
| virtual iterator | find (key_type const &val) const |
| use m_map.find rather than std::multiset::find to have faster access | |
| void | print (std::ostream &os) const |
| print object | |
Protected Attributes | |
| map_type | m_map |
| internal map | |
Friends | |
| std::ostream & | operator<< (std::ostream &os, FastMultiSet const &rhs) |
| print object | |
| KeyType,type | of keys for comparison, also the type of values in the set |
| Compare1,1st | level compare type, control multiset |
| Compare2,2nd | level compare type, control map |
Definition at line 53 of file FastMultiSet.h.
| typedef multiset<key_type, key_compare1> limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::base_type |
Definition at line 63 of file FastMultiSet.h.
| typedef base_type::const_iterator limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::const_iterator |
Definition at line 72 of file FastMultiSet.h.
| typedef base_type::const_pointer limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::const_pointer |
Definition at line 70 of file FastMultiSet.h.
| typedef base_type::const_reference limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::const_reference |
Definition at line 68 of file FastMultiSet.h.
| typedef base_type::const_reverse_iterator limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::const_reverse_iterator |
Definition at line 74 of file FastMultiSet.h.
| typedef base_type::difference_type limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::difference_type |
Definition at line 75 of file FastMultiSet.h.
| typedef base_type::iterator limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::iterator |
Definition at line 71 of file FastMultiSet.h.
| typedef Compare1 limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::key_compare1 |
Definition at line 61 of file FastMultiSet.h.
| typedef Compare2 limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::key_compare2 |
Definition at line 62 of file FastMultiSet.h.
| typedef KeyType limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::key_type |
for set concept, value_type is also key_type
Definition at line 57 of file FastMultiSet.h.
| typedef map<key_type, typename base_type::iterator, key_compare2> limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::map_type |
Definition at line 64 of file FastMultiSet.h.
| typedef map_type::value_type limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::map_value_type |
Definition at line 65 of file FastMultiSet.h.
| typedef base_type::pointer limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::pointer |
Definition at line 69 of file FastMultiSet.h.
| typedef base_type::reference limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::reference |
Definition at line 67 of file FastMultiSet.h.
| typedef base_type::reverse_iterator limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::reverse_iterator |
Definition at line 73 of file FastMultiSet.h.
| typedef base_type::size_type limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::size_type |
Definition at line 76 of file FastMultiSet.h.
| typedef KeyType limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::value_type |
for set concept, key_type is also value_type
Definition at line 59 of file FastMultiSet.h.
|
inlineexplicit |
constructor
| comp1 | first level compare function object |
| comp2 | second level compare function object |
Definition at line 82 of file FastMultiSet.h.
|
inline |
|
inlinevirtual |
use m_map.count rather than multiset::count to have faster access
| val |
Definition at line 166 of file FastMultiSet.h.
| void limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::erase | ( | iterator | first, |
| iterator | last ) |
hide/disable methods in base class
| first,last |
| void limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::erase | ( | iterator | position | ) |
hide/disable methods in base class
| position |
|
inlinevirtual |
erase value
| val | value to erase |
Definition at line 132 of file FastMultiSet.h.
|
inlinevirtual |
use m_map.find rather than std::multiset::find to have faster access
| val |
Definition at line 173 of file FastMultiSet.h.
| void limbo::containers::FastMultiSet< KeyType, Compare1, Compare2 >::insert | ( | InputIterator | first, |
| InputIterator | last ) |
hide/disable methods in base class
| first | begin iterator |
| last | end iterator |
|
inlinevirtual |
insert value with hint of position
| position | |
| val | value to insert |
Definition at line 115 of file FastMultiSet.h.
|
inlinevirtual |
insert value
| val | value to insert |
Definition at line 102 of file FastMultiSet.h.
|
inline |
|
inlinevirtual |
update value, the value is changed which means its position is not correct in the container
| val | updated value, but it must remain the same in the for Compare2 |
Definition at line 150 of file FastMultiSet.h.
|
friend |
print object
| os | output stream |
| rhs | a FastMultiSet object |
Definition at line 200 of file FastMultiSet.h.
|
protected |
internal map
Definition at line 207 of file FastMultiSet.h.