![]() |
SheafSystem
0.0.0.0
|
A map in which the entries may be implicit. More...
#include <implicit_entry_map.h>
Friends | |
| class | implicit_entry_map_iterator< E, I > |
| class | index_space_family |
| size_t | deep_size (const implicit_entry_map< E, I > &xmap, bool xinclude_shallow) |
| The deep size of the referenced object of type implicit_entry_map<E, I>; if xinclude_shallow, add the sizeof xvalue to the result. More... | |
IMPLICIT_ENTRY_MAP FACET | |
| typedef pod_index_type | pod_type |
| The "plain old data" index type for this. More... | |
| typedef rc_ptr< E > | explicit_value_type |
| The type of an explicit value. More... | |
| typedef rc_ptr< I > | interval_type |
| The type of an interval. More... | |
| typedef implicit_entry_map_iterator< E, I > | iterator_type |
| The type of iterator for this map. More... | |
| implicit_entry_map () | |
| Default Constructor. More... | |
| ~implicit_entry_map () | |
| Destructor. More... | |
| bool | contains_explicit_entry (pod_type xid) const |
| True if and only if this map contains an explicit entry for xid. More... | |
| bool | contains_implicit_entry (pod_type xid) const |
| True if and only if this map contains an implicit entry for xid. More... | |
| bool | contains_entry (pod_type xid) const |
| True if and only if contains_explicit_entry(xid) or contains_implicit_entry(xid). More... | |
| E & | value (pod_type xid) const |
| The value at xid. If this map contains an explicit entry at xid, the explicit value is returned. Otherwise, a value is created by the implicit interval at xid and returned. More... | |
| E & | operator[] (pod_type xid) const |
| The value at xid. If this map contains an explicit entry at xid, the explicit value is returned. Otherwise, a value is created by the implicit interval and returned. synonym for value(xid). More... | |
| void | insert_explicit_entry (pod_type xid, E &xvalue) |
| Insert the explicit value xvalue at xid. More... | |
| void | insert_implicit_interval (I &xinterval) |
| Insert the implicit interval xinterval. More... | |
| void | remove_explicit_entry (pod_type xid) |
| Remove the explicit entry at xid. More... | |
| void | remove_implicit_interval (pod_type xid) |
| Remove the entire interval that contains xid. More... | |
| void | remove_entry (pod_type xid, bool xremove_interval) |
| Remove the entry at xid. If xremove_interval remove the entire interval at xid otherwise only remove the implicit entry at xid. More... | |
| implicit_entry_map_iterator< E, I > * | iterator () const |
| An iterator for the entries of this map. More... | |
| pod_type | begin () const |
| The beginning id of this. More... | |
| pod_type | end () const |
| The ending id of this. More... | |
| size_type | ct () const |
| The number of entries in this. More... | |
| static const explicit_value_type & | null_explicit_value () |
| Null explicit value. More... | |
| static const interval_type & | null_interval () |
| Null implicit interval. More... | |
| const explicit_value_type & | explicit_value (pod_type xid) const |
| The explicit value at xid. More... | |
| const interval_type & | implicit_interval (pod_type xid) const |
| The implicit interval that contains xid. More... | |
ANY FACET | |
| virtual bool | is_ancestor_of (const any *other) const |
| Conformance test; true if other conforms to this. More... | |
| virtual implicit_entry_map< E, I > * | clone () const |
| Virtual constructor, makes a new instance of the same type as this. More... | |
| virtual bool | invariant () const |
| Class invariant. More... | |
Additional Inherited Members | |
Public Member Functions inherited from sheaf::any | |
| bool | is_same_type (const any *other) const |
| True if other is the same type as this. More... | |
| virtual | ~any () |
| Destructor. More... | |
| bool | invariant_check () const |
| True if invariant checking is enabled. More... | |
| void | enable_invariant_check () const |
| Enable invariant checking. More... | |
| void | disable_invariant_check () const |
| Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing invariant checking during multi-phase initialization. More... | |
| int | disable_invariance_check_request_depth () const |
| Number of times disable_invariant_check has been called without matching call to enable_invariant_check. More... | |
Protected Member Functions inherited from sheaf::any | |
| any () | |
| default constructor More... | |
A map in which the entries may be implicit.
Definition at line 52 of file implicit_entry_map.h.
| typedef rc_ptr<E> sheaf::implicit_entry_map< E, I >::explicit_value_type |
The type of an explicit value.
Definition at line 91 of file implicit_entry_map.h.
| typedef rc_ptr<I> sheaf::implicit_entry_map< E, I >::interval_type |
The type of an interval.
Definition at line 96 of file implicit_entry_map.h.
| typedef implicit_entry_map_iterator<E, I> sheaf::implicit_entry_map< E, I >::iterator_type |
The type of iterator for this map.
Definition at line 101 of file implicit_entry_map.h.
| typedef pod_index_type sheaf::implicit_entry_map< E, I >::pod_type |
The "plain old data" index type for this.
Definition at line 86 of file implicit_entry_map.h.
| sheaf::implicit_entry_map< E, I >::implicit_entry_map | ( | ) |
Default Constructor.
Definition at line 55 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::~implicit_entry_map().
| sheaf::implicit_entry_map< E, I >::~implicit_entry_map | ( | ) |
Destructor.
Definition at line 75 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::contains_explicit_entry().
Referenced by sheaf::implicit_entry_map< E, I >::implicit_entry_map().
| pod_index_type sheaf::implicit_entry_map< E, I >::begin | ( | ) | const |
The beginning id of this.
Definition at line 604 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::end().
Referenced by sheaf::implicit_entry_map< E, I >::implicit_interval(), sheaf::implicit_entry_map< E, I >::insert_explicit_entry(), sheaf::implicit_entry_map< E, I >::insert_implicit_interval(), sheaf::implicit_entry_map< E, I >::invariant(), sheaf::implicit_entry_map< E, I >::iterator(), and sheaf::implicit_entry_map< E, I >::remove_explicit_entry().
|
virtual |
Virtual constructor, makes a new instance of the same type as this.
Reimplemented from sheaf::any.
Definition at line 815 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::invariant(), and sheaf::any::is_same_type().
Referenced by sheaf::implicit_entry_map< E, I >::is_ancestor_of().
| bool sheaf::implicit_entry_map< E, I >::contains_entry | ( | pod_type | xid | ) | const |
True if and only if contains_explicit_entry(xid) or contains_implicit_entry(xid).
Definition at line 168 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::contains_explicit_entry(), sheaf::implicit_entry_map< E, I >::contains_implicit_entry(), and sheaf::implicit_entry_map< E, I >::value().
Referenced by sheaf::implicit_entry_map< E, I >::contains_implicit_entry(), sheaf::implicit_entry_map< E, I >::implicit_interval(), sheaf::implicit_entry_map< E, I >::operator[](), sheaf::implicit_entry_map< E, I >::remove_entry(), and sheaf::implicit_entry_map< E, I >::value().
| bool sheaf::implicit_entry_map< E, I >::contains_explicit_entry | ( | pod_type | xid | ) | const |
True if and only if this map contains an explicit entry for xid.
Definition at line 126 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::contains_implicit_entry().
Referenced by sheaf::implicit_entry_map< E, I >::contains_entry(), sheaf::implicit_entry_map< E, I >::insert_explicit_entry(), sheaf::implicit_entry_map< E, I >::remove_entry(), sheaf::implicit_entry_map< E, I >::remove_explicit_entry(), and sheaf::implicit_entry_map< E, I >::~implicit_entry_map().
| bool sheaf::implicit_entry_map< E, I >::contains_implicit_entry | ( | pod_type | xid | ) | const |
True if and only if this map contains an implicit entry for xid.
Definition at line 147 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::contains_entry().
Referenced by sheaf::implicit_entry_map< E, I >::contains_entry(), sheaf::implicit_entry_map< E, I >::contains_explicit_entry(), sheaf::implicit_entry_map< E, I >::remove_entry(), and sheaf::implicit_entry_map< E, I >::remove_implicit_interval().
| size_type sheaf::implicit_entry_map< E, I >::ct | ( | ) | const |
The number of entries in this.
Definition at line 620 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::null_explicit_value().
Referenced by sheaf::implicit_entry_map< E, I >::end(), sheaf::implicit_entry_map< E, I >::implicit_interval(), sheaf::implicit_entry_map< E, I >::insert_explicit_entry(), sheaf::implicit_entry_map< E, I >::insert_implicit_interval(), sheaf::implicit_entry_map< E, I >::invariant(), and sheaf::implicit_entry_map< E, I >::remove_explicit_entry().
| pod_index_type sheaf::implicit_entry_map< E, I >::end | ( | ) | const |
The ending id of this.
Definition at line 612 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::ct().
Referenced by sheaf::implicit_entry_map< E, I >::begin(), sheaf::implicit_entry_map< E, I >::implicit_interval(), sheaf::implicit_entry_map< E, I >::insert_explicit_entry(), sheaf::implicit_entry_map< E, I >::insert_implicit_interval(), sheaf::implicit_entry_map< E, I >::invariant(), and sheaf::implicit_entry_map< E, I >::remove_explicit_entry().
|
protected |
The explicit value at xid.
Definition at line 648 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::implicit_interval(), and sheaf::implicit_entry_map< E, I >::null_explicit_value().
Referenced by sheaf::implicit_entry_map< E, I >::null_interval(), and sheaf::implicit_entry_map< E, I >::value().
|
protected |
The implicit interval that contains xid.
Definition at line 670 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::begin(), sheaf::implicit_entry_map< E, I >::contains_entry(), sheaf::implicit_entry_map< E, I >::ct(), sheaf::implicit_entry_map< E, I >::end(), sheaf::invalid_pod_index(), sheaf::implicit_entry_map< E, I >::is_ancestor_of(), sheaf::is_valid(), and sheaf::implicit_entry_map< E, I >::null_interval().
Referenced by sheaf::implicit_entry_map< E, I >::explicit_value(), and sheaf::implicit_entry_map< E, I >::value().
| void sheaf::implicit_entry_map< E, I >::insert_explicit_entry | ( | pod_type | xid, |
| E & | xvalue | ||
| ) |
Insert the explicit value xvalue at xid.
Definition at line 243 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::begin(), sheaf::implicit_entry_map< E, I >::contains_explicit_entry(), sheaf::implicit_entry_map< E, I >::ct(), sheaf::implicit_entry_map< E, I >::end(), and sheaf::implicit_entry_map< E, I >::insert_implicit_interval().
Referenced by sheaf::implicit_entry_map< E, I >::operator[]().
| void sheaf::implicit_entry_map< E, I >::insert_implicit_interval | ( | I & | xinterval | ) |
Insert the implicit interval xinterval.
Definition at line 278 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::begin(), sheaf::implicit_entry_map< E, I >::ct(), sheaf::implicit_entry_map< E, I >::end(), and sheaf::implicit_entry_map< E, I >::remove_explicit_entry().
Referenced by sheaf::implicit_entry_map< E, I >::insert_explicit_entry().
|
virtual |
Class invariant.
Reimplemented from sheaf::any.
Definition at line 836 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::begin(), sheaf::implicit_entry_map< E, I >::ct(), sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), sheaf::implicit_entry_map< E, I >::end(), sheaf::any::invariant(), sheaf::any::invariant_check(), and sheaf::is_valid().
Referenced by sheaf::implicit_entry_map< E, I >::clone().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from sheaf::any.
Definition at line 795 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::clone().
Referenced by sheaf::implicit_entry_map< E, I >::implicit_interval().
| implicit_entry_map_iterator< E, I > * sheaf::implicit_entry_map< E, I >::iterator | ( | ) | const |
An iterator for the entries of this map.
Definition at line 584 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::begin().
Referenced by sheaf::implicit_entry_map< E, I >::remove_entry().
|
staticprotected |
Null explicit value.
Definition at line 630 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::null_interval().
Referenced by sheaf::implicit_entry_map< E, I >::ct(), and sheaf::implicit_entry_map< E, I >::explicit_value().
|
staticprotected |
Null implicit interval.
Definition at line 639 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::explicit_value().
Referenced by sheaf::implicit_entry_map< E, I >::implicit_interval(), and sheaf::implicit_entry_map< E, I >::null_explicit_value().
| E & sheaf::implicit_entry_map< E, I >::operator[] | ( | pod_type | xid | ) | const |
The value at xid. If this map contains an explicit entry at xid, the explicit value is returned. Otherwise, a value is created by the implicit interval and returned. synonym for value(xid).
Definition at line 223 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::contains_entry(), sheaf::implicit_entry_map< E, I >::insert_explicit_entry(), and sheaf::implicit_entry_map< E, I >::value().
Referenced by sheaf::implicit_entry_map< E, I >::value().
| void sheaf::implicit_entry_map< E, I >::remove_entry | ( | pod_type | xid, |
| bool | xremove_interval | ||
| ) |
Remove the entry at xid. If xremove_interval remove the entire interval at xid otherwise only remove the implicit entry at xid.
Definition at line 454 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::contains_entry(), sheaf::implicit_entry_map< E, I >::contains_explicit_entry(), sheaf::implicit_entry_map< E, I >::contains_implicit_entry(), sheaf::implicit_entry_map< E, I >::iterator(), sheaf::implicit_entry_map< E, I >::remove_explicit_entry(), and sheaf::implicit_entry_map< E, I >::remove_implicit_interval().
Referenced by sheaf::implicit_entry_map< E, I >::remove_implicit_interval().
| void sheaf::implicit_entry_map< E, I >::remove_explicit_entry | ( | pod_type | xid | ) |
Remove the explicit entry at xid.
Definition at line 326 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::begin(), sheaf::implicit_entry_map< E, I >::contains_explicit_entry(), sheaf::implicit_entry_map< E, I >::ct(), sheaf::implicit_entry_map< E, I >::end(), sheaf::is_valid(), and sheaf::implicit_entry_map< E, I >::remove_implicit_interval().
Referenced by sheaf::implicit_entry_map< E, I >::insert_implicit_interval(), and sheaf::implicit_entry_map< E, I >::remove_entry().
| void sheaf::implicit_entry_map< E, I >::remove_implicit_interval | ( | pod_type | xid | ) |
Remove the entire interval that contains xid.
Definition at line 373 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::contains_implicit_entry(), and sheaf::implicit_entry_map< E, I >::remove_entry().
Referenced by sheaf::implicit_entry_map< E, I >::remove_entry(), and sheaf::implicit_entry_map< E, I >::remove_explicit_entry().
| E & sheaf::implicit_entry_map< E, I >::value | ( | pod_type | xid | ) | const |
The value at xid. If this map contains an explicit entry at xid, the explicit value is returned. Otherwise, a value is created by the implicit interval at xid and returned.
Definition at line 187 of file implicit_entry_map.impl.h.
References sheaf::implicit_entry_map< E, I >::contains_entry(), sheaf::implicit_entry_map< E, I >::explicit_value(), sheaf::implicit_entry_map< E, I >::implicit_interval(), and sheaf::implicit_entry_map< E, I >::operator[]().
Referenced by sheaf::implicit_entry_map< E, I >::contains_entry(), and sheaf::implicit_entry_map< E, I >::operator[]().
|
friend |
The deep size of the referenced object of type implicit_entry_map<E, I>; if xinclude_shallow, add the sizeof xvalue to the result.
Definition at line 876 of file implicit_entry_map.impl.h.