SheafSystem
0.0.0.0
|
An array implementation of class scattered_insertion_index_space_state. This representation is intended to efficiently represent id spaces that are positive and dense, that is, the domain ids are in the domain (~0, ~end()) and hence the id to hub id map can be efficiently stored in an array. In particular it is intended for id spaces used to index arrays, in which case the ids are in the domain [0, end()). More...
#include <array_index_space_state.h>
Public Member Functions | |
virtual const std::string & | class_name () const |
The name of this class. More... | |
virtual array_index_space_state * | clone () const |
Virtual constructor; create a new instance of the same type at this. More... | |
Public Member Functions inherited from sheaf::scattered_insertion_index_space_state | |
void | insert (pod_type xid, const scoped_index &xhub_id) |
Make id xid in this id space equivalent to xhub_id in the hub id space. synonym for insert(xid, xhub_id.hub_pod()). More... | |
void | insert (pod_type xid, pod_type xhub_id) |
Make id xid in this id space equivalent to xhub_id in the hub id space. More... | |
Public Member Functions inherited from sheaf::gathered_insertion_index_space_state | |
void | push_back (const scoped_index &xhub_id) |
Make the next id in this space equivalent to xhub_id in the hub id space. synonym for push_back(xhub_id.hub_pod()). More... | |
void | push_back (pod_type xid) |
Make the next id in this space equivalent to xhub_id in the hub id space. More... | |
void | push (index_space_iterator &xitr, const scoped_index &xhub_id) |
Makes id xitr.id() in this id space equivalent to xhub_id in the hub id space. Increments all ids greater than xitr.id() by one, if any. Xitr will be set to the entry with id, xitr.id()+1. synonym for push(xitr, xhub_id.pod()). More... | |
void | push (index_space_iterator &xitr, pod_type xhub_id) |
Makes id xitr.id() in this id space equivalent to xhub_id in the hub id space. Increments all ids greater than xitr.id() if any by one. Xitr will be set to the entry with id xitr.id()+1. More... | |
pod_type | next_id () const |
The id inserted by the next call to push_back. More... | |
size_type | remove (const scoped_index &xid, bool update_extrema) |
Removes the equivalence associated with xid.hub_pod(). synonym for remove_hub(xid.hub_pod(), xupdate_extrema). Returns the number of entries actually removed, either 0 or 1. More... | |
size_type | remove (pod_type xid, bool update_extrema) |
Removes the equivalence associated with id xid. Returns the number of entries actually removed, either 0 or 1. More... | |
size_type | remove_hub (pod_type xhub_id, bool update_extrema) |
Removes the equivalence associated with hub id xhub_id. Returns the number of entries actually removed, either 0 or 1. More... | |
void | remove (index_space_iterator &xitr, bool update_extrema) |
Removes the equivalence associated with id xitr.pod(). Increments xitr to the next entry if any. More... | |
void | gather () |
Gathers this id space into a 0-based, contiguous interval. More... | |
void | clear () |
Delete all ids. More... | |
void | put_is_persistent (bool xis_persistent) |
Set if this id space should be written to disk. More... | |
Public Member Functions inherited from sheaf::explicit_index_space_state | |
virtual | ~explicit_index_space_state () |
Destructor. More... | |
const index_space_collection & | host () const |
The host collection (const version). More... | |
index_space_collection & | host () |
The host collection (mutable version). More... | |
pod_type | index () const |
The index of this id space. More... | |
const index_space_family & | id_spaces () const |
The id space family for this (const version). More... | |
index_space_family & | id_spaces () |
The id space family for this (mutable version). More... | |
const hub_index_space_handle & | hub_id_space () const |
The hub id space. More... | |
size_type | ct () const |
The number of members. More... | |
bool | is_empty () const |
True if there are no ids in the space. More... | |
pod_type | begin () const |
Beginning id of this space. More... | |
pod_type | end () const |
Ending id of this space. More... | |
bool | is_gathered () const |
True if begin() == 0 and end() == ct(). More... | |
virtual bool | contains (pod_type xid) const =0 |
True if this space contains id xid. More... | |
bool | contains (const scoped_index &xid) const |
True if this space contains an id equivalent to xid. synonym for contains_hub(xid.hub_pod()). More... | |
bool | contains_hub (pod_type xid) const |
True if this space contains an id equivalent to xid in the unglued hub id space. synonym for contains_unglued_hub(xid) More... | |
virtual bool | contains_unglued_hub (pod_type xid) const =0 |
True if this space contains an id equivalent to xid in the unglued hub id space. More... | |
virtual bool | contains_glued_hub (pod_type xid) const |
True if this space contains an id equivalent to xid in the hub id space. More... | |
bool | contains (pod_type xid, const scoped_index &xhub_id) const |
True if this space contains an id xid equivalent to xhub_id in the hub id space. synonym for contains(xid, xhub_id.hub_pod()). More... | |
virtual bool | contains (pod_type xid, pod_type xhub_id) const |
True if this space contains an id xid equivalent to xhub_id in the hub id space. More... | |
virtual pod_type | pod (pod_type xid) const =0 |
The pod index in this space equivalent to xid in the unglued hub id space. More... | |
pod_type | pod (const scoped_index &xid) const |
The pod index in this space equivalent to xid. synonym for pod(xid.hub_pod()). More... | |
pod_type | hub_pod (pod_type xid) const |
The pod index in the unglued hub id space equivalent to xid in this id space. synonym for unglued_hub_pod(xid). More... | |
virtual pod_type | unglued_hub_pod (pod_type xid) const =0 |
The pod index in the unglued hub id space equivalent to xid in this id space. More... | |
virtual pod_type | glued_hub_pod (pod_type xid) const |
The pod index in the glued hub id space equivalent to xid in this id space. More... | |
bool | is_persistent () const |
True if this id space should be written to disk. More... | |
virtual void | new_product_structure (const abstract_product_structure &xproduct) |
Creates a new product structure for this id space by cloning the product structure, xproduct. More... | |
virtual void | delete_product_structure () |
Deletes the product structure for this id space. More... | |
const abstract_product_structure & | product_structure () const |
The product structure for this id space (const version). More... | |
abstract_product_structure & | product_structure () |
The product structure for this id space (mutable version). More... | |
bool | has_product_structure () const |
True if this id space has a product structure. More... | |
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... | |
Friends | |
class | array_index_space_iterator |
class | namespace_poset |
SHEAF_DLL_SPEC size_t | deep_size (const array_index_space_state &xn, bool xinclude_shallow) |
The deep size of array_index_space_state& xn. More... | |
SPACE FACTORY FACET | |
static array_index_space_handle | new_space (index_space_family &xid_spaces, const std::string &xname, bool xis_persistent, size_type xcapacity) |
Create a new array id space in the id space family xid_spaces at the next available id space index with name xname, persistence xis_persistent, and capacity xcapacity. Returns a handle to the id space created. More... | |
static array_index_space_handle | new_space (index_space_family &xid_spaces, pod_type xid, const std::string &xname, bool xis_persistent, size_type xcapacity) |
Create a new array id space in the id space family xid_spaces at the id space index xid with name xname, persistence xis_persistent, and capacity xcapacity Returns a handle to the id space created. More... | |
ARRAY_INDEX_SPACE_STATE FACET | |
array_index_space_state () | |
Default constructor. More... | |
array_index_space_state (const array_index_space_state &xother) | |
Copy constructor; disabled. More... | |
virtual | ~array_index_space_state () |
Destructor. More... | |
GATHERED_INSERTION_INDEX_SPACE FACET | |
virtual void | update_extrema_after_remove () |
Update the id extrema after a remove operation. More... | |
virtual void | update_extrema () |
Update the id extrema. More... | |
virtual void | reserve (size_type xcapacity) |
Reserve enough memory for xcapacity number of ids. More... | |
virtual size_type | capacity () const |
The number of ids reserved in memory. More... | |
MAP REPRESENTATION FACET | |
typedef unordered::unordered_map< pod_type, pod_type > | to_domain_type |
The type of the range id to domain id map. More... | |
typedef auto_block< pod_type, invalid_block_initialization_policy< pod_type > > | to_range_type |
The type of the domain id to range id map. More... | |
to_domain_type | _to_domain |
The representation of the range id to domain id map. More... | |
to_range_type | _to_range |
The representation of the domain id to range id map. More... | |
virtual void | map_rep_insert_entry (pod_type xdomain_id, pod_type xrange_id) |
Inserts entry (xdomain_id, xrange_id) into the map representation. More... | |
virtual void | map_rep_push_back (pod_type xrange_id) |
Inserts entry (next_id(), xrange_id) into the map representation. More... | |
virtual void | map_rep_push (index_space_iterator &xitr, pod_type xrange_id) |
Inserts entry (xitr.pod(), xrange_id) into the map representation. Increments all domain ids greater than xitr.pod() by one. Sets xitr to the entry at xitr.pod()+1. More... | |
virtual size_type | map_rep_remove_entry (pod_type xid, bool xis_range_id) |
Removes the entry containing range id xid (xis_range_id true) or domain id xid (xis_range_id false) from the map representation; returns the number of entries actully removed, either 0 or 1. More... | |
virtual void | map_rep_remove_entry (index_space_iterator &xitr) |
Removes the equivalence associated with id xitr.pod()/ Increments xitr to the next entry if any. More... | |
virtual void | map_rep_clear () |
Removes all entrires from the map representation. More... | |
virtual void | map_rep_gather () |
Gathers the map representation into an interval. More... | |
EXPLICIT_INDEX_SPACE_STATE FACET | |
virtual array_index_space_state & | operator= (const explicit_index_space_state &xother) |
Assignment operator. More... | |
virtual bool | operator== (const explicit_index_space_state &xother) const |
True if this is equivalent to xother. More... | |
virtual size_type | deep_size (bool xinclude_shallow) const |
The deep size of this. More... | |
INDEX SPACE FACET | |
virtual bool | contains (pod_type xid) const |
True if this space contains id xid. More... | |
virtual bool | contains_unglued_hub (pod_type xid) const |
True if this space contains an id equivalent to xid in the unglued hub id space. More... | |
virtual bool | contains (pod_type xid, pod_type xhub_id) const |
True if this space contains an id xid equivalent to xhub_id in the hub id space. More... | |
virtual pod_type | pod (pod_type xid) const |
The pod index in this space equivalent to xid in the hub id space. More... | |
virtual pod_type | unglued_hub_pod (pod_type xid) const |
The pod index in the unglued hub id space equivalent to xid in this id space. More... | |
HANDLE POOL FACET | |
static size_type | handle_pool_ct () |
The number of handles in the pool. More... | |
static size_type | handle_pool_deep_size () |
The deep size of the handle pool. More... | |
virtual index_space_handle & | get_id_space () const |
The id space handle with this state. More... | |
virtual void | release_id_space (index_space_handle &xid_space) const |
Release the id space handle xid_space. More... | |
virtual bool | allocated_id_space (const index_space_handle &xid_space) const |
True if and only if id space handle xid_space was allocated by the handle pool. More... | |
ITERATOR POOL FACET | |
static size_type | iterator_pool_ct () |
The number of iterators in the pool. More... | |
static size_type | iterator_pool_deep_size () |
The deep size of the iterator pool. More... | |
virtual index_space_iterator & | get_iterator () const |
Allocates an id space iterator from the iterator pool. More... | |
virtual void | release_iterator (index_space_iterator &xitr) const |
Returns the id space iterator xitr to the iterator pool. More... | |
virtual bool | allocated_iterator (const index_space_iterator &xitr) const |
True if and only if id space iterator xitr was allocated by the iterator pool. More... | |
ANY FACET | |
virtual bool | is_ancestor_of (const any *other) const |
Conformance test; true if other conforms to this. More... | |
virtual bool | invariant () const |
Class invariant. More... | |
Additional Inherited Members | |
Public Types inherited from sheaf::explicit_index_space_state | |
typedef pod_index_type | pod_type |
The "plain old data" index type for this. More... | |
Static Public Member Functions inherited from sheaf::explicit_index_space_state | |
static factory< explicit_index_space_state > & | id_space_factory () |
A factory for making descendants of this class. More... | |
Protected Member Functions inherited from sheaf::scattered_insertion_index_space_state | |
scattered_insertion_index_space_state () | |
Default constructor. More... | |
scattered_insertion_index_space_state (const scattered_insertion_index_space_state &xother) | |
Copy constructor; disabled. More... | |
virtual | ~scattered_insertion_index_space_state () |
Destructor. More... | |
virtual void | map_rep_insert_entry (pod_type xdomain_id, pod_type xrange_id)=0 |
Inserts entry (xdomain_id, xrange_id) into the map representation. More... | |
Protected Member Functions inherited from sheaf::gathered_insertion_index_space_state | |
gathered_insertion_index_space_state () | |
Default constructor. More... | |
gathered_insertion_index_space_state (const gathered_insertion_index_space_state &xother) | |
Copy constructor; disabled. More... | |
virtual | ~gathered_insertion_index_space_state () |
Destructor. More... | |
void | update_extrema (pod_type xid) |
Update the extrema for the inserted id xid. More... | |
virtual void | map_rep_push_back (pod_type xrange_id)=0 |
Inserts entry (next_id(), xrange_id) into the map representation. More... | |
virtual void | map_rep_push (index_space_iterator &xitr, pod_type xrange_id)=0 |
Inserts entry (xitr.pod(), xrange_id) into the map representation. Increments all domain ids greater than xitr.pod() by one. Sets xitr to the entry at xitr.pod()+1. More... | |
virtual size_type | map_rep_remove_entry (pod_type xid, bool xis_range_id)=0 |
Removes the entry containing range id xid (xis_range_id true) or domain id xid (xis_range_id false) from the map representation; returns the number of entries actully removed, either 0 or 1. More... | |
Protected Member Functions inherited from sheaf::explicit_index_space_state | |
explicit_index_space_state () | |
Default constructor. More... | |
explicit_index_space_state (const explicit_index_space_state &xother) | |
Copy constructor; disabled. More... | |
void | new_state (index_space_family &xid_spaces, const std::string &xname, bool xis_persistent) |
Create a new id space state in the id space family xid_spaces at the next available id space index with name xname, and persistence xis_persistent. More... | |
void | new_state (index_space_family &xid_spaces, pod_type xid, const std::string &xname, bool xis_persistent) |
Create a new id space state in the id space family xid_spaces at the id space index xid with name xname, and persistence xis_persistent. More... | |
void | invalidate_extrema () |
Invalidate the extrema. More... | |
void | attach (explicit_index_space_handle &xid_space) const |
Attach the id space handle xid_space to this state. More... | |
void | attach (explicit_index_space_iterator &xitr) const |
Attach the id space iterator xitr to this state. More... | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor More... | |
Protected Attributes inherited from sheaf::explicit_index_space_state | |
index_space_collection * | _host |
The host collection. More... | |
pod_type | _index |
The index of this id space. More... | |
size_type | _ct |
The number of members. More... | |
pod_type | _begin |
Beginning id of this space. More... | |
pod_type | _end |
Ending id of this space. More... | |
bool | _is_persistent |
True if this id space should be written to disk. More... | |
abstract_product_structure * | _product |
The product structure for this id space. More... | |
An array implementation of class scattered_insertion_index_space_state. This representation is intended to efficiently represent id spaces that are positive and dense, that is, the domain ids are in the domain (~0, ~end()) and hence the id to hub id map can be efficiently stored in an array. In particular it is intended for id spaces used to index arrays, in which case the ids are in the domain [0, end()).
Definition at line 60 of file array_index_space_state.h.
|
protected |
The type of the range id to domain id map.
Definition at line 234 of file array_index_space_state.h.
|
protected |
The type of the domain id to range id map.
Definition at line 244 of file array_index_space_state.h.
|
protected |
Default constructor.
Definition at line 132 of file array_index_space_state.cc.
References capacity(), invariant(), sheaf::explicit_index_space_state::is_empty(), reserve(), and ~array_index_space_state().
Referenced by clone(), and new_space().
|
inlineprotected |
Copy constructor; disabled.
Definition at line 121 of file array_index_space_state.h.
References sheaf::gathered_insertion_index_space_state::update_extrema().
|
protectedvirtual |
Destructor.
Definition at line 153 of file array_index_space_state.cc.
References update_extrema().
Referenced by array_index_space_state().
|
virtual |
True if and only if id space handle xid_space was allocated by the handle pool.
Implements sheaf::explicit_index_space_state.
Definition at line 907 of file array_index_space_state.cc.
References iterator_pool_ct().
Referenced by release_id_space().
|
virtual |
True if and only if id space iterator xitr was allocated by the iterator pool.
Implements sheaf::explicit_index_space_state.
Definition at line 1044 of file array_index_space_state.cc.
References class_name().
Referenced by map_rep_push(), map_rep_remove_entry(), and release_iterator().
|
virtual |
The number of ids reserved in memory.
Implements sheaf::gathered_insertion_index_space_state.
Definition at line 243 of file array_index_space_state.cc.
References _to_range, sheaf::auto_block< T, S >::ub(), and update_extrema_after_remove().
Referenced by array_index_space_state(), and reserve().
|
virtual |
The name of this class.
Reimplemented from sheaf::scattered_insertion_index_space_state.
Definition at line 1096 of file array_index_space_state.cc.
References clone().
Referenced by allocated_iterator().
|
virtual |
Virtual constructor; create a new instance of the same type at this.
Implements sheaf::explicit_index_space_state.
Definition at line 1104 of file array_index_space_state.cc.
References array_index_space_state(), sheaf::explicit_index_space_state::id_space_factory(), is_ancestor_of(), and sheaf::any::is_same_type().
Referenced by class_name().
|
virtual |
True if this space contains id xid.
Referenced by contains_unglued_hub(), map_rep_gather(), map_rep_insert_entry(), map_rep_push(), map_rep_push_back(), map_rep_remove_entry(), operator=(), and pod().
|
virtual |
True if this space contains an id xid equivalent to xhub_id in the hub id space.
|
virtual |
True if this space contains an id equivalent to xid in the unglued hub id space.
Definition at line 722 of file array_index_space_state.cc.
References _to_domain, _to_range, contains(), sheaf::is_valid(), pod(), and sheaf::auto_block< T, S >::ub().
Referenced by operator=(), and unglued_hub_pod().
|
virtual |
The deep size of this.
Reimplemented from sheaf::explicit_index_space_state.
Definition at line 644 of file array_index_space_state.cc.
References sheaf::deep_size(), and operator=().
|
virtual |
The id space handle with this state.
Implements sheaf::explicit_index_space_state.
Definition at line 860 of file array_index_space_state.cc.
References sheaf::explicit_index_space_state::attach(), sheaf::explicit_index_space_handle::is_attached(), and release_id_space().
Referenced by handle_pool_deep_size().
|
virtual |
Allocates an id space iterator from the iterator pool.
Implements sheaf::explicit_index_space_state.
Definition at line 997 of file array_index_space_state.cc.
References sheaf::explicit_index_space_state::attach(), sheaf::explicit_index_space_iterator::is_attached(), and release_iterator().
Referenced by iterator_pool_deep_size().
|
static |
The number of handles in the pool.
Definition at line 822 of file array_index_space_state.cc.
References handle_pool_deep_size().
Referenced by unglued_hub_pod().
|
static |
The deep size of the handle pool.
Definition at line 841 of file array_index_space_state.cc.
References sheaf::deep_size(), and get_id_space().
Referenced by handle_pool_ct().
|
virtual |
Class invariant.
Reimplemented from sheaf::scattered_insertion_index_space_state.
Definition at line 1175 of file array_index_space_state.cc.
References sheaf::deep_size(), sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), sheaf::scattered_insertion_index_space_state::invariant(), and sheaf::any::invariant_check().
Referenced by array_index_space_state(), is_ancestor_of(), operator=(), and reserve().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from sheaf::scattered_insertion_index_space_state.
Definition at line 1154 of file array_index_space_state.cc.
References invariant().
Referenced by clone(), operator=(), and operator==().
|
static |
The number of iterators in the pool.
Definition at line 959 of file array_index_space_state.cc.
References iterator_pool_deep_size().
Referenced by allocated_id_space().
|
static |
The deep size of the iterator pool.
Definition at line 978 of file array_index_space_state.cc.
References sheaf::deep_size(), and get_iterator().
Referenced by iterator_pool_ct().
|
protectedvirtual |
Removes all entrires from the map representation.
Implements sheaf::gathered_insertion_index_space_state.
Definition at line 526 of file array_index_space_state.cc.
References _to_domain, _to_range, sheaf::auto_block< T, S >::clear(), and map_rep_gather().
Referenced by map_rep_remove_entry().
|
protectedvirtual |
Gathers the map representation into an interval.
Implements sheaf::gathered_insertion_index_space_state.
Definition at line 549 of file array_index_space_state.cc.
References sheaf::explicit_index_space_state::_ct, sheaf::explicit_index_space_state::_end, _to_domain, _to_range, contains(), sheaf::explicit_index_space_state::hub_id_space(), sheaf::auto_block< T, S >::initialize(), sheaf::is_valid(), operator==(), and sheaf::auto_block< T, S >::ub().
Referenced by map_rep_clear().
|
protectedvirtual |
Inserts entry (xdomain_id, xrange_id) into the map representation.
Definition at line 339 of file array_index_space_state.cc.
References _to_domain, _to_range, contains(), sheaf::explicit_index_space_state::contains_hub(), sheaf::auto_block< T, S >::force_item(), and map_rep_push_back().
Referenced by update_extrema_after_remove().
|
protectedvirtual |
Inserts entry (xitr.pod(), xrange_id) into the map representation. Increments all domain ids greater than xitr.pod() by one. Sets xitr to the entry at xitr.pod()+1.
Not Implemented.
Definition at line 392 of file array_index_space_state.cc.
References _to_domain, _to_range, allocated_iterator(), contains(), sheaf::explicit_index_space_state::contains_hub(), sheaf::index_space_iterator::hub_pod(), sheaf::auto_block< T, S >::initialize(), map_rep_remove_entry(), and sheaf::index_space_iterator::pod().
Referenced by map_rep_push_back().
|
protectedvirtual |
Inserts entry (next_id(), xrange_id) into the map representation.
Definition at line 366 of file array_index_space_state.cc.
References _to_domain, _to_range, contains(), sheaf::explicit_index_space_state::contains_hub(), sheaf::auto_block< T, S >::force_item(), map_rep_push(), and sheaf::gathered_insertion_index_space_state::next_id().
Referenced by map_rep_insert_entry().
|
protectedvirtual |
Removes the entry containing range id xid (xis_range_id true) or domain id xid (xis_range_id false) from the map representation; returns the number of entries actully removed, either 0 or 1.
Referenced by map_rep_push().
|
protectedvirtual |
Removes the equivalence associated with id xitr.pod()/ Increments xitr to the next entry if any.
Not Implemented.
Implements sheaf::gathered_insertion_index_space_state.
Definition at line 496 of file array_index_space_state.cc.
References allocated_iterator(), contains(), sheaf::index_space_iterator::hub_pod(), sheaf::index_space_iterator::is_done(), map_rep_clear(), and sheaf::index_space_iterator::pod().
|
static |
Create a new array id space in the id space family xid_spaces at the next available id space index with name xname, persistence xis_persistent, and capacity xcapacity. Returns a handle to the id space created.
Definition at line 40 of file array_index_space_state.cc.
References array_index_space_state(), sheaf::gathered_insertion_index_space_handle::capacity(), sheaf::array_index_space_handle::conforms_to_state(), sheaf::index_space_family::contains(), sheaf::explicit_index_space_handle::id_spaces(), sheaf::explicit_index_space_handle::index(), sheaf::index_space_family::is_explicit_interval(), sheaf::explicit_index_space_handle::is_persistent(), sheaf::index_space_handle::name(), sheaf::explicit_index_space_state::new_state(), and reserve().
Referenced by sheaf::schema_poset_member::initialize_dof_id_space(), sheaf::namespace_poset::initialize_member_poset_id_space(), fiber_bundle::fiber_bundles_namespace::make_base_space_member_prototypes_poset(), fiber_bundle::sec_rep_space::multisection_id_space(), and sheaf::array_index_space_handle::new_space().
|
static |
Create a new array id space in the id space family xid_spaces at the id space index xid with name xname, persistence xis_persistent, and capacity xcapacity Returns a handle to the id space created.
|
protectedvirtual |
Assignment operator.
Reimplemented from sheaf::scattered_insertion_index_space_state.
Definition at line 665 of file array_index_space_state.cc.
References _to_domain, _to_range, contains(), contains_unglued_hub(), invariant(), is_ancestor_of(), sheaf::is_valid(), and sheaf::auto_block< T, S >::ub().
Referenced by deep_size().
|
virtual |
True if this is equivalent to xother.
Reimplemented from sheaf::scattered_insertion_index_space_state.
Definition at line 612 of file array_index_space_state.cc.
References _to_range, deep_size, is_ancestor_of(), sheaf::scattered_insertion_index_space_state::operator==(), and sheaf::auto_block< T, S >::ub().
Referenced by map_rep_gather().
|
virtual |
The pod index in this space equivalent to xid in the hub id space.
Definition at line 762 of file array_index_space_state.cc.
References _to_domain, contains(), sheaf::invalid_pod_index(), sheaf::is_valid(), and unglued_hub_pod().
Referenced by contains_unglued_hub().
|
virtual |
Release the id space handle xid_space.
Implements sheaf::explicit_index_space_state.
Definition at line 880 of file array_index_space_state.cc.
References allocated_id_space(), and sheaf::index_space_handle::detach().
Referenced by get_id_space().
|
virtual |
Returns the id space iterator xitr to the iterator pool.
Implements sheaf::explicit_index_space_state.
Definition at line 1017 of file array_index_space_state.cc.
References allocated_iterator(), and sheaf::index_space_iterator::detach().
Referenced by get_iterator().
|
virtual |
Reserve enough memory for xcapacity number of ids.
Implements sheaf::gathered_insertion_index_space_state.
Definition at line 219 of file array_index_space_state.cc.
References _to_domain, _to_range, capacity(), invariant(), and sheaf::auto_block< T, S >::reserve().
Referenced by array_index_space_state(), new_space(), and update_extrema().
|
virtual |
The pod index in the unglued hub id space equivalent to xid in this id space.
Definition at line 784 of file array_index_space_state.cc.
References _to_range, contains_unglued_hub(), handle_pool_ct(), sheaf::invalid_pod_index(), sheaf::is_valid(), and sheaf::auto_block< T, S >::ub().
Referenced by pod().
|
virtual |
Update the id extrema.
Implements sheaf::gathered_insertion_index_space_state.
Definition at line 179 of file array_index_space_state.cc.
References sheaf::explicit_index_space_state::_begin, sheaf::explicit_index_space_state::_ct, sheaf::explicit_index_space_state::_end, _to_domain, sheaf::explicit_index_space_state::invalidate_extrema(), sheaf::explicit_index_space_state::is_empty(), and reserve().
Referenced by ~array_index_space_state().
|
protectedvirtual |
Update the id extrema after a remove operation.
Reimplemented from sheaf::gathered_insertion_index_space_state.
Definition at line 264 of file array_index_space_state.cc.
References sheaf::explicit_index_space_state::_begin, sheaf::explicit_index_space_state::_ct, sheaf::explicit_index_space_state::_end, _to_range, sheaf::explicit_index_space_state::invalidate_extrema(), sheaf::explicit_index_space_state::is_empty(), sheaf::is_valid(), and map_rep_insert_entry().
Referenced by capacity().
|
friend |
The deep size of array_index_space_state& xn.
Referenced by sheaf::deep_size(), and operator==().
|
protected |
The representation of the range id to domain id map.
Definition at line 239 of file array_index_space_state.h.
Referenced by contains_unglued_hub(), sheaf::deep_size(), map_rep_clear(), map_rep_gather(), map_rep_insert_entry(), map_rep_push(), map_rep_push_back(), operator=(), pod(), reserve(), and update_extrema().
|
protected |
The representation of the domain id to range id map.
Definition at line 249 of file array_index_space_state.h.
Referenced by capacity(), contains_unglued_hub(), sheaf::deep_size(), map_rep_clear(), map_rep_gather(), map_rep_insert_entry(), map_rep_push(), map_rep_push_back(), operator=(), operator==(), reserve(), unglued_hub_pod(), and update_extrema_after_remove().