|
phdMesh
Version of the Day
|
Associative container of explictly managed entities. More...
#include <Setv.hpp>
Public Types | |
| typedef ValueType::key_type | key_type |
| Type of the comparison keys, obtained from the member class. | |
| typedef ValueType | value_type |
| Type of the members. | |
| typedef KeyCompare | key_compare |
| Key comparison operator. | |
| typedef Allocator | allocator_type |
| Allocator class. | |
Public Member Functions | |
| Setv (const key_compare &arg_compare=key_compare(), const allocator_type &arg_alloc=allocator_type()) | |
| Construct with comparison and allocator. | |
| Setv (const Setv< value_type, key_compare, allocator_type > &) | |
| Copy construction. | |
|
Setv< value_type, key_compare, allocator_type > & | operator= (const Setv< value_type, key_compare, allocator_type > &) |
| Assignment. | |
| allocator_type | get_allocator () const |
| Allocator. | |
| bool | empty () const |
| Query if container is empty. | |
| size_type | size () const |
| Query number of members. | |
| size_type | max_size () const |
| Query capacity. | |
| key_compare | key_comp () const |
| Comparison operator for key type. | |
| value_compare | value_comp () const |
| Comparison operator for key type via the value type. | |
| value_type & | operator[] (const key_type &key) |
| Retrieve or create a value with the given key. | |
| iterator | find (const key_type &) const |
| Find a member with a given key. | |
| size_type | count (const key_type &) const |
| Count number of members with a given key, zero or one. | |
| iterator | lower_bound (const key_type &) const |
| First member with key equal to or greater than the given key. | |
| iterator | upper_bound (const key_type &) const |
| Last member with key greater than or equal to the given key. | |
| bool | verify_ordering () const |
| Verify that iteration of the container is properly ordered. | |
Iteration | |
| iterator | begin () const |
| iterator | end () const |
| reverse_iterator | rbegin () const |
| reverse_iterator | rend () const |
Setv modifiers | |
| std::pair< iterator, bool > | insert (const key_type &key, value_type *value=NULL) |
| Inserts the given entity with key() == key. More... | |
| std::pair< iterator, bool > | insert (value_type *) |
| Insert the given entity with its key already set. | |
| void | erase (iterator position) |
| Destroys the member referenced by the iterator. | |
| void | erase (value_type *) |
| Destroys the member referenced by the pointer. | |
| size_type | erase (const key_type &) |
| Destroys the member referenced by the key. | |
| void | remove (value_type &v) |
| Removes the member from container but does not destroy it. The caller assumes responsibility for the entity. | |
| void | clear () |
| Destroys all members. | |
Static Public Member Functions | |
|
static Setv< value_type, key_compare, allocator_type > * | container (const value_type &) |
| Query the container for a given member. | |
Associative container of explictly managed entities.
This associative container is conceptually similar to the std::set container. However, its members may be explicitly managed by the user as opposed to the container always creating internal copies of entities.
| ValueType | Member type that must be derived from the SetvMember class. |
| KeyCompare | Comparison operator for the KeyType provided to the SetvMember< KeyType > template class. |
| std::pair<iterator,bool> phdmesh::Setv< ValueType, KeyCompare, Allocator >::insert | ( | const key_type & | key, |
| value_type * | value = NULL |
||
| ) |
Inserts the given entity with key() == key.
If return.second == true then the input entity
If return.second == false then an existing value was found and returned and the input value is untouched.
The value must be individually deallocatable via the allocator_type, i.e. allocator.deallocate(value,1) is valid.
1.8.6