SheafSystem
0.0.0.0
|
An immutable abstract state for a space of alternate integer identifiers (aliases) for a subset of the hub set of integer identifiers. More...
#include <explicit_index_space_state.h>
Public Member Functions | |
virtual const std::string & | class_name () const |
The name of this class. More... | |
virtual explicit_index_space_state * | clone () const =0 |
Virtual constructor; create a new instance of the same type at this. 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... | |
Static Public Member Functions | |
static factory< explicit_index_space_state > & | id_space_factory () |
A factory for making descendants of this class. More... | |
Friends | |
class | explicit_index_space_collection |
class | explicit_index_space_interval |
class | index_space_family |
EXPLICIT_INDEX_SPACE_STATE FACET | |
typedef pod_index_type | pod_type |
The "plain old data" index type for this. More... | |
index_space_collection * | _host |
The host collection. More... | |
pod_type | _index |
The index of this id space. More... | |
virtual | ~explicit_index_space_state () |
Destructor. More... | |
virtual bool | operator== (const explicit_index_space_state &xother) const |
True if this is equivalent to xother. 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... | |
virtual size_type | deep_size (bool xinclude_shallow) const |
The deep size of this. More... | |
explicit_index_space_state () | |
Default constructor. More... | |
explicit_index_space_state (const explicit_index_space_state &xother) | |
Copy constructor; disabled. More... | |
virtual explicit_index_space_state & | operator= (const explicit_index_space_state &xother) |
Assignment operator. 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... | |
INDEX SPACE FACET | |
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... | |
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... | |
void | invalidate_extrema () |
Invalidate the extrema. More... | |
PRODUCT STRUCTURE FACET | |
abstract_product_structure * | _product |
The product structure for this id space. 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... | |
HANDLE POOL FACET | |
virtual index_space_handle & | get_id_space () const =0 |
Allocates an id space handle from the handle pool. More... | |
virtual void | release_id_space (index_space_handle &xid_space) const =0 |
Returns the id space handle xid_space to the handle pool. More... | |
virtual bool | allocated_id_space (const index_space_handle &xid_space) const =0 |
True if and only if id space handle xid_space was allocated by the handle pool. More... | |
void | attach (explicit_index_space_handle &xid_space) const |
Attach the id space handle xid_space to this state. More... | |
ITERATOR POOL FACET | |
virtual index_space_iterator & | get_iterator () const =0 |
Allocates an id space iterator from the iterator pool. More... | |
virtual void | release_iterator (index_space_iterator &xitr) const =0 |
Returns the id space iterator xitr to the iterator pool. More... | |
virtual bool | allocated_iterator (const index_space_iterator &xitr) const =0 |
True if and only if id space iterator xitr was allocated by the iterator pool. More... | |
void | attach (explicit_index_space_iterator &xitr) const |
Attach the id space iterator xitr to this state. 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 | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor More... | |
An immutable abstract state for a space of alternate integer identifiers (aliases) for a subset of the hub set of integer identifiers.
Definition at line 57 of file explicit_index_space_state.h.
The "plain old data" index type for this.
Definition at line 74 of file explicit_index_space_state.h.
|
virtual |
Destructor.
Definition at line 41 of file explicit_index_space_state.cc.
References _product, and operator==().
|
protected |
Default constructor.
Definition at line 149 of file explicit_index_space_state.cc.
References invariant(), and operator=().
Referenced by index().
|
inlineprotected |
Copy constructor; disabled.
Definition at line 116 of file explicit_index_space_state.h.
|
pure virtual |
True if and only if id space handle xid_space was allocated by the handle pool.
Is Abstract.
Implemented in sheaf::primary_sum_index_space_state, sheaf::interval_index_space_state, sheaf::list_index_space_state, sheaf::array_index_space_state, sheaf::hash_index_space_state, fiber_bundle::section_space_schema_jims_index_space_state, sheaf::primary_index_space_state, sheaf::reserved_primary_index_space_state, sheaf::offset_index_space_state, sheaf::singleton_index_space_state, and sheaf::primitives_index_space_state.
Definition at line 917 of file explicit_index_space_state.cc.
References attach().
Referenced by sheaf::explicit_index_space_handle::allocated_id_space(), and release_id_space().
|
pure virtual |
True if and only if id space iterator xitr was allocated by the iterator pool.
Is Abstract.
Implemented in sheaf::primary_sum_index_space_state, sheaf::interval_index_space_state, sheaf::list_index_space_state, sheaf::array_index_space_state, sheaf::hash_index_space_state, fiber_bundle::section_space_schema_jims_index_space_state, sheaf::primary_index_space_state, sheaf::reserved_primary_index_space_state, sheaf::offset_index_space_state, sheaf::singleton_index_space_state, and sheaf::primitives_index_space_state.
Definition at line 1016 of file explicit_index_space_state.cc.
References attach().
Referenced by sheaf::explicit_index_space_handle::allocated_iterator(), sheaf::gathered_insertion_index_space_state::map_rep_push(), sheaf::gathered_insertion_index_space_state::map_rep_remove_entry(), sheaf::gathered_insertion_index_space_state::push(), release_iterator(), and sheaf::gathered_insertion_index_space_state::remove().
|
protected |
Attach the id space handle xid_space to this state.
Definition at line 940 of file explicit_index_space_state.cc.
References sheaf::explicit_index_space_handle::attach_to(), get_iterator(), and sheaf::explicit_index_space_handle::is_attached().
Referenced by allocated_id_space(), allocated_iterator(), sheaf::primitives_index_space_state::get_id_space(), sheaf::singleton_index_space_state::get_id_space(), sheaf::offset_index_space_state::get_id_space(), sheaf::reserved_primary_index_space_state::get_id_space(), sheaf::primary_index_space_state::get_id_space(), fiber_bundle::section_space_schema_jims_index_space_state::get_id_space(), sheaf::hash_index_space_state::get_id_space(), sheaf::array_index_space_state::get_id_space(), sheaf::list_index_space_state::get_id_space(), sheaf::interval_index_space_state::get_id_space(), sheaf::primary_sum_index_space_state::get_id_space(), sheaf::primitives_index_space_state::get_iterator(), sheaf::singleton_index_space_state::get_iterator(), sheaf::offset_index_space_state::get_iterator(), sheaf::reserved_primary_index_space_state::get_iterator(), sheaf::primary_index_space_state::get_iterator(), fiber_bundle::section_space_schema_jims_index_space_state::get_iterator(), sheaf::hash_index_space_state::get_iterator(), sheaf::array_index_space_state::get_iterator(), sheaf::list_index_space_state::get_iterator(), sheaf::interval_index_space_state::get_iterator(), and sheaf::primary_sum_index_space_state::get_iterator().
|
protected |
Attach the id space iterator xitr to this state.
Definition at line 1039 of file explicit_index_space_state.cc.
References sheaf::explicit_index_space_iterator::attach_to(), class_name(), and sheaf::explicit_index_space_iterator::is_attached().
sheaf::explicit_index_space_state::pod_type sheaf::explicit_index_space_state::begin | ( | ) | const |
Beginning id of this space.
Definition at line 415 of file explicit_index_space_state.cc.
Referenced by sheaf::explicit_index_space_handle::begin(), sheaf::scattered_insertion_index_space_state::insert(), invalidate_extrema(), invariant(), sheaf::list_index_space_state::invariant(), is_empty(), is_gathered(), sheaf::offset_index_space_state::offset_index_space_state(), sheaf::operator<<(), sheaf::primary_index_space_state::primary_index_space_state(), sheaf::gathered_insertion_index_space_state::push(), sheaf::gathered_insertion_index_space_state::push_back(), sheaf::list_index_space_state::push_front(), sheaf::gathered_insertion_index_space_state::remove(), sheaf::gathered_insertion_index_space_state::remove_hub(), and sheaf::singleton_index_space_state::singleton_index_space_state().
|
virtual |
The name of this class.
Reimplemented in sheaf::primary_sum_index_space_state, sheaf::interval_index_space_state, sheaf::list_index_space_state, sheaf::array_index_space_state, sheaf::hash_index_space_state, fiber_bundle::section_space_schema_jims_index_space_state, sheaf::sum_index_space_state, sheaf::primary_index_space_state, sheaf::reserved_primary_index_space_state, sheaf::offset_index_space_state, sheaf::singleton_index_space_state, sheaf::gathered_insertion_index_space_state, sheaf::primitives_index_space_state, and sheaf::scattered_insertion_index_space_state.
Definition at line 1073 of file explicit_index_space_state.cc.
References id_space_factory().
Referenced by attach(), and sheaf::operator<<().
|
pure virtual |
Virtual constructor; create a new instance of the same type at this.
Is Abstract.
Reimplemented from sheaf::any.
Implemented in sheaf::primary_sum_index_space_state, sheaf::interval_index_space_state, sheaf::list_index_space_state, sheaf::array_index_space_state, sheaf::hash_index_space_state, fiber_bundle::section_space_schema_jims_index_space_state, sheaf::primary_index_space_state, sheaf::reserved_primary_index_space_state, sheaf::offset_index_space_state, sheaf::singleton_index_space_state, and sheaf::primitives_index_space_state.
Definition at line 1098 of file explicit_index_space_state.cc.
References is_ancestor_of(), and sheaf::any::is_same_type().
Referenced by id_space_factory().
|
pure virtual |
True if this space contains id xid.
Is Abstract.
Implemented in sheaf::primary_sum_index_space_state, sheaf::interval_index_space_state, sheaf::hash_index_space_state, fiber_bundle::section_space_schema_jims_index_space_state, and sheaf::primitives_index_space_state.
Definition at line 472 of file explicit_index_space_state.cc.
Referenced by sheaf::sum_index_space_state::binary(), sheaf::explicit_index_space_handle::contains(), contains(), contains_glued_hub(), sheaf::sum_index_space_state::host_rep(), sheaf::scattered_insertion_index_space_state::insert(), invariant(), is_gathered(), sheaf::scattered_insertion_index_space_state::map_rep_insert_entry(), sheaf::gathered_insertion_index_space_state::map_rep_push(), sheaf::gathered_insertion_index_space_state::map_rep_push_back(), sheaf::gathered_insertion_index_space_state::map_rep_remove_entry(), pod(), sheaf::gathered_insertion_index_space_state::push(), sheaf::gathered_insertion_index_space_state::push_back(), sheaf::gathered_insertion_index_space_state::remove(), sheaf::sum_index_space_state::simple(), and sheaf::sum_index_space_state::term_of().
bool sheaf::explicit_index_space_state::contains | ( | const scoped_index & | xid | ) | const |
True if this space contains an id equivalent to xid. synonym for contains_hub(xid.hub_pod()).
Definition at line 493 of file explicit_index_space_state.cc.
References contains_hub(), and sheaf::scoped_index::hub_pod().
bool sheaf::explicit_index_space_state::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()).
Definition at line 572 of file explicit_index_space_state.cc.
References contains(), and sheaf::scoped_index::hub_pod().
True if this space contains an id xid equivalent to xhub_id in the hub id space.
Reimplemented in sheaf::hash_index_space_state.
Definition at line 591 of file explicit_index_space_state.cc.
References contains(), hub_pod(), and pod().
|
virtual |
True if this space contains an id equivalent to xid in the hub id space.
Reimplemented in sheaf::primary_sum_index_space_state.
Definition at line 552 of file explicit_index_space_state.cc.
References contains(), contains_unglued_hub(), hub_id_space(), and unglued_hub_pod().
Referenced by sheaf::explicit_index_space_handle::contains_glued_hub(), contains_unglued_hub(), and glued_hub_pod().
bool sheaf::explicit_index_space_state::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)
Definition at line 512 of file explicit_index_space_state.cc.
References contains_unglued_hub().
Referenced by sheaf::sum_index_space_state::binary(), contains(), sheaf::sum_index_space_state::contains_rep(), sheaf::primary_sum_index_space_state::contains_rep(), sheaf::sum_index_space_state::contains_unique_rep(), sheaf::sum_index_space_state::equivalence_class(), sheaf::sum_index_space_state::equivalence_ct(), sheaf::sum_index_space_state::host_rep(), sheaf::primary_sum_index_space_state::host_rep(), hub_pod(), sheaf::scattered_insertion_index_space_state::insert(), sheaf::interval_index_space_state::interval_begin(), sheaf::interval_index_space_state::interval_end(), sheaf::scattered_insertion_index_space_state::map_rep_insert_entry(), sheaf::hash_index_space_state::map_rep_insert_entry(), sheaf::array_index_space_state::map_rep_insert_entry(), sheaf::interval_index_space_state::map_rep_insert_entry(), sheaf::hash_index_space_state::map_rep_push(), sheaf::gathered_insertion_index_space_state::map_rep_push(), sheaf::array_index_space_state::map_rep_push(), sheaf::list_index_space_state::map_rep_push(), sheaf::interval_index_space_state::map_rep_push(), sheaf::hash_index_space_state::map_rep_push_back(), sheaf::gathered_insertion_index_space_state::map_rep_push_back(), sheaf::array_index_space_state::map_rep_push_back(), sheaf::list_index_space_state::map_rep_push_back(), sheaf::interval_index_space_state::map_rep_push_back(), sheaf::hash_index_space_state::map_rep_remove_entry(), sheaf::gathered_insertion_index_space_state::map_rep_remove_entry(), sheaf::list_index_space_state::map_rep_remove_entry(), sheaf::interval_index_space_state::map_rep_remove_entry(), sheaf::primary_sum_index_space_state::new_id(), sheaf::primitives_index_space_state::pod(), sheaf::singleton_index_space_state::pod(), sheaf::offset_index_space_state::pod(), sheaf::primary_index_space_state::pod(), sheaf::primary_sum_index_space_state::pod(), sheaf::gathered_insertion_index_space_state::push(), sheaf::gathered_insertion_index_space_state::remove(), sheaf::gathered_insertion_index_space_state::remove_hub(), sheaf::interval_index_space_state::remove_hub_interval(), sheaf::sum_index_space_state::rep(), sheaf::primary_sum_index_space_state::rep(), and sheaf::sum_index_space_state::simple().
|
pure virtual |
True if this space contains an id equivalent to xid in the unglued hub id space.
Is Abstract.
Implemented in sheaf::primary_sum_index_space_state, sheaf::interval_index_space_state, sheaf::hash_index_space_state, fiber_bundle::section_space_schema_jims_index_space_state, and sheaf::primitives_index_space_state.
Definition at line 531 of file explicit_index_space_state.cc.
References contains_glued_hub().
Referenced by contains_glued_hub(), contains_hub(), sheaf::explicit_index_space_handle::contains_unglued_hub(), and unglued_hub_pod().
sheaf::size_type sheaf::explicit_index_space_state::ct | ( | ) | const |
The number of members.
Definition at line 377 of file explicit_index_space_state.cc.
References _ct, and is_empty().
Referenced by sheaf::primary_sum_index_space_state::add_term(), sheaf::offset_index_space_iterator::attach_to(), sheaf::primary_index_space_iterator::attach_to(), sheaf::reserved_primary_index_space_iterator::attach_to(), sheaf::explicit_index_space_handle::ct(), sheaf::primary_index_space_state::extend(), sheaf::primary_sum_index_space_state::extend_last_term(), hub_id_space(), sheaf::scattered_insertion_index_space_state::insert(), sheaf::interval_index_space_state::insert_interval(), is_gathered(), sheaf::reserved_primary_index_space_state::new_hub_id(), sheaf::reserved_primary_index_space_state::new_id(), sheaf::primary_sum_index_space_state::new_primary_term(), sheaf::operator<<(), sheaf::gathered_insertion_index_space_state::push(), sheaf::gathered_insertion_index_space_state::push_back(), sheaf::list_index_space_state::push_front(), sheaf::interval_index_space_state::push_interval(), sheaf::reserved_primary_index_space_iterator::put_is_active_only(), sheaf::gathered_insertion_index_space_state::remove(), sheaf::gathered_insertion_index_space_state::remove_hub(), sheaf::primary_sum_index_space_state::remove_term(), and sheaf::singleton_index_space_state::singleton_index_space_state().
|
virtual |
The deep size of this.
Reimplemented in sheaf::primary_sum_index_space_state, sheaf::interval_index_space_state, sheaf::sum_index_space_state, sheaf::list_index_space_state, sheaf::array_index_space_state, sheaf::hash_index_space_state, fiber_bundle::section_space_schema_jims_index_space_state, sheaf::reserved_primary_index_space_state, sheaf::primary_index_space_state, sheaf::offset_index_space_state, sheaf::singleton_index_space_state, and sheaf::primitives_index_space_state.
Definition at line 292 of file explicit_index_space_state.cc.
References sheaf::deep_size(), and id_spaces().
Referenced by sheaf::deep_size(), and new_state().
|
virtual |
Deletes the product structure for this id space.
Reimplemented in fiber_bundle::section_space_schema_jims_index_space_state.
Definition at line 780 of file explicit_index_space_state.cc.
References _product, has_product_structure(), and product_structure().
Referenced by sheaf::explicit_index_space_handle::delete_product_structure(), and new_product_structure().
sheaf::explicit_index_space_state::pod_type sheaf::explicit_index_space_state::end | ( | ) | const |
Ending id of this space.
Definition at line 434 of file explicit_index_space_state.cc.
References _end, and is_gathered().
Referenced by sheaf::array_index_space_iterator::attach_to(), begin(), sheaf::primary_sum_index_space_state::clear_ids(), sheaf::explicit_index_space_handle::end(), sheaf::primary_index_space_state::extend(), sheaf::primary_sum_index_space_state::has_only_standard_ids(), sheaf::scattered_insertion_index_space_state::insert(), invalidate_extrema(), fiber_bundle::section_space_schema_jims_index_space_state::invariant(), invariant(), sheaf::list_index_space_state::invariant(), is_gathered(), sheaf::gathered_insertion_index_space_state::next_id(), sheaf::offset_index_space_state::offset_index_space_state(), sheaf::operator<<(), sheaf::primary_index_space_state::primary_index_space_state(), sheaf::gathered_insertion_index_space_state::push(), sheaf::gathered_insertion_index_space_state::push_back(), sheaf::list_index_space_state::push_front(), sheaf::gathered_insertion_index_space_state::remove(), sheaf::gathered_insertion_index_space_state::remove_hub(), sheaf::singleton_index_space_state::singleton_index_space_state(), and sheaf::primary_sum_index_space_state::update_standard_ids().
|
pure virtual |
Allocates an id space handle from the handle pool.
Is Abstract.
Implemented in sheaf::primary_sum_index_space_state, sheaf::interval_index_space_state, sheaf::list_index_space_state, sheaf::array_index_space_state, sheaf::hash_index_space_state, fiber_bundle::section_space_schema_jims_index_space_state, sheaf::primary_index_space_state, sheaf::reserved_primary_index_space_state, sheaf::offset_index_space_state, sheaf::singleton_index_space_state, and sheaf::primitives_index_space_state.
Definition at line 875 of file explicit_index_space_state.cc.
References sheaf::index_space_handle::is_attached(), and release_id_space().
Referenced by sheaf::explicit_index_space_handle::get_id_space(), and has_product_structure().
|
pure virtual |
Allocates an id space iterator from the iterator pool.
Is Abstract.
Implemented in sheaf::primary_sum_index_space_state, sheaf::interval_index_space_state, sheaf::list_index_space_state, sheaf::array_index_space_state, sheaf::hash_index_space_state, fiber_bundle::section_space_schema_jims_index_space_state, sheaf::primary_index_space_state, sheaf::reserved_primary_index_space_state, sheaf::offset_index_space_state, sheaf::singleton_index_space_state, and sheaf::primitives_index_space_state.
Definition at line 974 of file explicit_index_space_state.cc.
References sheaf::index_space_iterator::is_attached(), and release_iterator().
Referenced by attach(), fiber_bundle::section_space_schema_jims_index_space_iterator::attach_to(), sheaf::explicit_index_space_handle::get_iterator(), and sheaf::operator<<().
|
virtual |
The pod index in the glued hub id space equivalent to xid in this id space.
Reimplemented in sheaf::primary_sum_index_space_state.
Definition at line 690 of file explicit_index_space_state.cc.
References contains_glued_hub(), sheaf::explicit_index_space_handle::glued_hub_pod(), hub_id_space(), is_persistent(), sheaf::is_valid(), and unglued_hub_pod().
Referenced by sheaf::explicit_index_space_handle::glued_hub_pod(), and unglued_hub_pod().
bool sheaf::explicit_index_space_state::has_product_structure | ( | ) | const |
True if this id space has a product structure.
Definition at line 845 of file explicit_index_space_state.cc.
References _product, and get_id_space().
Referenced by sheaf::deep_size(), fiber_bundle::section_space_schema_jims_index_space_state::delete_product_structure(), delete_product_structure(), sheaf::explicit_index_space_handle::has_product_structure(), fiber_bundle::section_space_schema_jims_index_space_state::invariant(), fiber_bundle::section_space_schema_jims_index_space_state::new_product_structure(), new_product_structure(), fiber_bundle::section_space_schema_jims_index_space_state::product_structure(), and product_structure().
const sheaf::index_space_collection & sheaf::explicit_index_space_state::host | ( | ) | const |
The host collection (const version).
Definition at line 91 of file explicit_index_space_state.cc.
References _host.
Referenced by sheaf::explicit_index_space_iterator::host(), sheaf::explicit_index_space_handle::host(), and operator==().
sheaf::index_space_collection & sheaf::explicit_index_space_state::host | ( | ) |
The host collection (mutable version).
Definition at line 110 of file explicit_index_space_state.cc.
const sheaf::hub_index_space_handle & sheaf::explicit_index_space_state::hub_id_space | ( | ) | const |
The hub id space.
Definition at line 358 of file explicit_index_space_state.cc.
References ct(), sheaf::index_space_family::hub_id_space(), and id_spaces().
Referenced by contains_glued_hub(), sheaf::primary_index_space_state::extend(), glued_hub_pod(), id_spaces(), sheaf::scattered_insertion_index_space_state::insert(), sheaf::reserved_primary_index_space_state::is_hub_id_available(), sheaf::hash_index_space_state::map_rep_gather(), sheaf::array_index_space_state::map_rep_gather(), and sheaf::gathered_insertion_index_space_state::push().
sheaf::explicit_index_space_state::pod_type sheaf::explicit_index_space_state::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).
Definition at line 650 of file explicit_index_space_state.cc.
References contains_hub(), sheaf::is_valid(), and unglued_hub_pod().
Referenced by contains(), sheaf::interval_index_space_state::insert_interval(), sheaf::interval_index_space_state::map_rep_insert_interval(), sheaf::gathered_insertion_index_space_state::map_rep_remove_entry(), sheaf::list_index_space_state::map_rep_remove_entry(), pod(), sheaf::gathered_insertion_index_space_state::remove(), sheaf::sum_index_space_state::term_hub_begin(), sheaf::sum_index_space_state::term_hub_end(), and sheaf::primary_sum_index_space_state::unglue().
|
static |
A factory for making descendants of this class.
Definition at line 1081 of file explicit_index_space_state.cc.
References clone().
Referenced by class_name(), sheaf::primitives_index_space_state::clone(), sheaf::singleton_index_space_state::clone(), sheaf::offset_index_space_state::clone(), sheaf::reserved_primary_index_space_state::clone(), sheaf::primary_index_space_state::clone(), fiber_bundle::section_space_schema_jims_index_space_state::clone(), sheaf::hash_index_space_state::clone(), sheaf::array_index_space_state::clone(), sheaf::list_index_space_state::clone(), sheaf::interval_index_space_state::clone(), sheaf::primary_sum_index_space_state::clone(), and sheaf::index_space_family::new_state().
const sheaf::index_space_family & sheaf::explicit_index_space_state::id_spaces | ( | ) | const |
The id space family for this (const version).
Definition at line 320 of file explicit_index_space_state.cc.
References _host, and sheaf::index_space_collection::id_spaces().
Referenced by sheaf::primary_sum_index_space_state::add_term(), sheaf::sum_index_space_state::clear(), deep_size(), hub_id_space(), sheaf::explicit_index_space_handle::id_spaces(), sheaf::primary_sum_index_space_state::new_gathered_id_space(), sheaf::primary_sum_index_space_state::new_primary_term(), sheaf::primary_sum_index_space_state::new_reserved_term(), new_state(), sheaf::primary_sum_index_space_state::remove_term(), and sheaf::sum_index_space_state::~sum_index_space_state().
sheaf::index_space_family & sheaf::explicit_index_space_state::id_spaces | ( | ) |
The id space family for this (mutable version).
Definition at line 339 of file explicit_index_space_state.cc.
References _host, hub_id_space(), and sheaf::index_space_collection::id_spaces().
sheaf::explicit_index_space_state::pod_type sheaf::explicit_index_space_state::index | ( | ) | const |
The index of this id space.
Definition at line 129 of file explicit_index_space_state.cc.
References _index, and explicit_index_space_state().
Referenced by host(), sheaf::explicit_index_space_iterator::index(), sheaf::explicit_index_space_handle::index(), sheaf::explicit_index_space_collection::insert(), sheaf::explicit_index_space_interval::insert(), new_state(), and sheaf::operator<<().
|
protected |
Invalidate the extrema.
Definition at line 731 of file explicit_index_space_state.cc.
References _begin, _end, begin(), end(), sheaf::invalid_pod_index(), sheaf::is_valid(), and new_product_structure().
Referenced by sheaf::gathered_insertion_index_space_state::clear(), sheaf::sum_index_space_state::clear(), sheaf::gathered_insertion_index_space_state::gather(), is_persistent(), sheaf::array_index_space_state::update_extrema(), sheaf::primary_sum_index_space_state::update_extrema(), sheaf::interval_index_space_state::update_extrema(), and sheaf::array_index_space_state::update_extrema_after_remove().
|
virtual |
Class invariant.
Reimplemented from sheaf::any.
Reimplemented in sheaf::primary_sum_index_space_state, sheaf::interval_index_space_state, sheaf::list_index_space_state, sheaf::array_index_space_state, sheaf::hash_index_space_state, fiber_bundle::section_space_schema_jims_index_space_state, sheaf::primary_index_space_state, sheaf::sum_index_space_state, sheaf::reserved_primary_index_space_state, sheaf::offset_index_space_state, sheaf::singleton_index_space_state, sheaf::primitives_index_space_state, sheaf::gathered_insertion_index_space_state, and sheaf::scattered_insertion_index_space_state.
Definition at line 1152 of file explicit_index_space_state.cc.
References begin(), contains(), sheaf::deep_size(), sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), end(), sheaf::any::invariant(), sheaf::any::invariant_check(), is_empty(), and sheaf::is_valid().
Referenced by explicit_index_space_state(), sheaf::gathered_insertion_index_space_state::invariant(), sheaf::primitives_index_space_state::invariant(), sheaf::singleton_index_space_state::invariant(), sheaf::offset_index_space_state::invariant(), sheaf::sum_index_space_state::invariant(), sheaf::primary_index_space_state::invariant(), fiber_bundle::section_space_schema_jims_index_space_state::invariant(), is_ancestor_of(), new_state(), and operator=().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from sheaf::any.
Reimplemented in sheaf::primary_sum_index_space_state, sheaf::interval_index_space_state, sheaf::list_index_space_state, sheaf::array_index_space_state, sheaf::hash_index_space_state, fiber_bundle::section_space_schema_jims_index_space_state, sheaf::primary_index_space_state, sheaf::sum_index_space_state, sheaf::reserved_primary_index_space_state, sheaf::offset_index_space_state, sheaf::singleton_index_space_state, sheaf::primitives_index_space_state, sheaf::gathered_insertion_index_space_state, and sheaf::scattered_insertion_index_space_state.
Definition at line 1131 of file explicit_index_space_state.cc.
References invariant().
Referenced by clone(), operator=(), and operator==().
bool sheaf::explicit_index_space_state::is_empty | ( | ) | const |
True if there are no ids in the space.
Definition at line 396 of file explicit_index_space_state.cc.
Referenced by sheaf::array_index_space_state::array_index_space_state(), sheaf::gathered_insertion_index_space_state::clear(), sheaf::sum_index_space_state::clear(), sheaf::primary_sum_index_space_state::clear(), ct(), sheaf::gathered_insertion_index_space_state::gathered_insertion_index_space_state(), sheaf::hash_index_space_state::hash_index_space_state(), sheaf::interval_index_space_state::interval_index_space_state(), invariant(), sheaf::sum_index_space_state::last_term(), sheaf::list_index_space_state::list_index_space_state(), sheaf::gathered_insertion_index_space_state::next_id(), sheaf::offset_index_space_state::offset_index_space_state(), sheaf::primary_index_space_state::primary_index_space_state(), sheaf::primary_sum_index_space_state::primary_sum_index_space_state(), sheaf::gathered_insertion_index_space_state::remove(), sheaf::gathered_insertion_index_space_state::remove_hub(), sheaf::reserved_primary_index_space_state::reserved_primary_index_space_state(), sheaf::scattered_insertion_index_space_state::scattered_insertion_index_space_state(), fiber_bundle::section_space_schema_jims_index_space_state::section_space_schema_jims_index_space_state(), sheaf::singleton_index_space_state::singleton_index_space_state(), sheaf::sum_index_space_state::sum_index_space_state(), sheaf::array_index_space_state::update_extrema(), sheaf::gathered_insertion_index_space_state::update_extrema(), and sheaf::array_index_space_state::update_extrema_after_remove().
bool sheaf::explicit_index_space_state::is_gathered | ( | ) | const |
True if begin() == 0 and end() == ct().
Definition at line 453 of file explicit_index_space_state.cc.
References begin(), contains(), ct(), and end().
Referenced by end(), sheaf::gathered_insertion_index_space_state::gather(), sheaf::primitives_index_space_state::invariant(), sheaf::singleton_index_space_state::invariant(), sheaf::offset_index_space_state::invariant(), sheaf::primary_index_space_state::invariant(), sheaf::primary_sum_index_space_state::new_gathered_id_space(), and sheaf::primary_sum_index_space_state::update_gathered_id_space().
bool sheaf::explicit_index_space_state::is_persistent | ( | ) | const |
True if this id space should be written to disk.
Definition at line 710 of file explicit_index_space_state.cc.
References _is_persistent, and invalidate_extrema().
Referenced by glued_hub_pod(), sheaf::explicit_index_space_handle::is_persistent(), new_state(), sheaf::operator<<(), and sheaf::gathered_insertion_index_space_state::put_is_persistent().
|
virtual |
Creates a new product structure for this id space by cloning the product structure, xproduct.
Reimplemented in fiber_bundle::section_space_schema_jims_index_space_state.
Definition at line 761 of file explicit_index_space_state.cc.
References _product, sheaf::abstract_product_structure::clone(), delete_product_structure(), and has_product_structure().
Referenced by invalidate_extrema(), and sheaf::explicit_index_space_handle::new_product_structure().
|
protected |
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.
Definition at line 201 of file explicit_index_space_state.cc.
References sheaf::index_space_family::contains(), id_spaces(), index(), invariant(), is_persistent(), sheaf::index_space_family::name(), and sheaf::index_space_family::reserve_next_explicit_id().
Referenced by sheaf::reserved_primary_index_space_state::new_space(), sheaf::offset_index_space_state::new_space(), sheaf::primary_index_space_state::new_space(), sheaf::hash_index_space_state::new_space(), sheaf::array_index_space_state::new_space(), sheaf::index_space_family::new_state(), and operator=().
|
protected |
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.
Definition at line 238 of file explicit_index_space_state.cc.
References _host, _index, _is_persistent, sheaf::index_space_family::collection(), sheaf::index_space_family::contains(), deep_size(), id_spaces(), index(), sheaf::explicit_index_space_interval::insert(), invariant(), sheaf::index_space_family::is_explicit_interval(), is_persistent(), sheaf::index_space_family::name(), and sheaf::index_space_family::put_name().
|
protectedvirtual |
Assignment operator.
Reimplemented in sheaf::primary_sum_index_space_state, sheaf::interval_index_space_state, sheaf::sum_index_space_state, sheaf::list_index_space_state, sheaf::array_index_space_state, sheaf::hash_index_space_state, sheaf::gathered_insertion_index_space_state, fiber_bundle::section_space_schema_jims_index_space_state, sheaf::reserved_primary_index_space_state, sheaf::primary_index_space_state, sheaf::offset_index_space_state, sheaf::singleton_index_space_state, sheaf::scattered_insertion_index_space_state, and sheaf::primitives_index_space_state.
Definition at line 173 of file explicit_index_space_state.cc.
References _begin, _ct, _end, _host, _index, _is_persistent, _product, sheaf::abstract_product_structure::clone(), invariant(), is_ancestor_of(), and new_state().
Referenced by explicit_index_space_state().
|
virtual |
True if this is equivalent to xother.
Reimplemented in sheaf::primary_sum_index_space_state, sheaf::interval_index_space_state, sheaf::sum_index_space_state, sheaf::list_index_space_state, sheaf::array_index_space_state, sheaf::hash_index_space_state, sheaf::gathered_insertion_index_space_state, fiber_bundle::section_space_schema_jims_index_space_state, sheaf::reserved_primary_index_space_state, sheaf::primary_index_space_state, sheaf::offset_index_space_state, sheaf::singleton_index_space_state, sheaf::scattered_insertion_index_space_state, and sheaf::primitives_index_space_state.
Definition at line 61 of file explicit_index_space_state.cc.
References _begin, _ct, _end, _host, _index, _is_persistent, _product, host(), and is_ancestor_of().
Referenced by sheaf::primitives_index_space_state::operator==(), sheaf::scattered_insertion_index_space_state::operator==(), sheaf::singleton_index_space_state::operator==(), sheaf::offset_index_space_state::operator==(), sheaf::primary_index_space_state::operator==(), fiber_bundle::section_space_schema_jims_index_space_state::operator==(), sheaf::gathered_insertion_index_space_state::operator==(), sheaf::sum_index_space_state::operator==(), and ~explicit_index_space_state().
|
pure virtual |
The pod index in this space equivalent to xid in the unglued hub id space.
Is Abstract.
Implemented in sheaf::primary_sum_index_space_state, sheaf::interval_index_space_state, sheaf::hash_index_space_state, fiber_bundle::section_space_schema_jims_index_space_state, and sheaf::primitives_index_space_state.
Definition at line 610 of file explicit_index_space_state.cc.
References contains(), and sheaf::is_valid().
Referenced by contains(), sheaf::gathered_insertion_index_space_state::map_rep_remove_entry(), sheaf::explicit_index_space_handle::pod(), pod(), sheaf::gathered_insertion_index_space_state::remove_hub(), and sheaf::sum_index_space_state::term_of().
sheaf::explicit_index_space_state::pod_type sheaf::explicit_index_space_state::pod | ( | const scoped_index & | xid | ) | const |
The pod index in this space equivalent to xid. synonym for pod(xid.hub_pod()).
Definition at line 631 of file explicit_index_space_state.cc.
References contains(), hub_pod(), sheaf::scoped_index::hub_pod(), sheaf::is_valid(), and pod().
const sheaf::abstract_product_structure & sheaf::explicit_index_space_state::product_structure | ( | ) | const |
The product structure for this id space (const version).
Definition at line 803 of file explicit_index_space_state.cc.
References _product, and has_product_structure().
Referenced by sheaf::deep_size(), delete_product_structure(), and sheaf::explicit_index_space_handle::product_structure().
sheaf::abstract_product_structure & sheaf::explicit_index_space_state::product_structure | ( | ) |
The product structure for this id space (mutable version).
Definition at line 824 of file explicit_index_space_state.cc.
References _product, and has_product_structure().
|
pure virtual |
Returns the id space handle xid_space to the handle pool.
Implemented in sheaf::primary_sum_index_space_state, sheaf::interval_index_space_state, sheaf::list_index_space_state, sheaf::array_index_space_state, sheaf::hash_index_space_state, fiber_bundle::section_space_schema_jims_index_space_state, sheaf::primary_index_space_state, sheaf::reserved_primary_index_space_state, sheaf::offset_index_space_state, sheaf::singleton_index_space_state, and sheaf::primitives_index_space_state.
Definition at line 896 of file explicit_index_space_state.cc.
References allocated_id_space().
Referenced by get_id_space(), and sheaf::explicit_index_space_handle::release_id_space().
|
pure virtual |
Returns the id space iterator xitr to the iterator pool.
Implemented in sheaf::primary_sum_index_space_state, sheaf::interval_index_space_state, sheaf::list_index_space_state, sheaf::array_index_space_state, sheaf::hash_index_space_state, fiber_bundle::section_space_schema_jims_index_space_state, sheaf::primary_index_space_state, sheaf::reserved_primary_index_space_state, sheaf::offset_index_space_state, sheaf::singleton_index_space_state, and sheaf::primitives_index_space_state.
Definition at line 995 of file explicit_index_space_state.cc.
References allocated_iterator().
Referenced by get_iterator(), sheaf::operator<<(), and sheaf::explicit_index_space_handle::release_iterator().
|
pure virtual |
The pod index in the unglued hub id space equivalent to xid in this id space.
Is Abstract.
Implemented in sheaf::primary_sum_index_space_state, sheaf::interval_index_space_state, sheaf::hash_index_space_state, fiber_bundle::section_space_schema_jims_index_space_state, and sheaf::primitives_index_space_state.
Definition at line 669 of file explicit_index_space_state.cc.
References contains_unglued_hub(), glued_hub_pod(), and sheaf::is_valid().
Referenced by contains_glued_hub(), glued_hub_pod(), hub_pod(), and sheaf::explicit_index_space_handle::unglued_hub_pod().
|
protected |
Beginning id of this space.
Definition at line 291 of file explicit_index_space_state.h.
Referenced by begin(), sheaf::list_index_space_state::contains(), sheaf::gathered_insertion_index_space_state::gather(), sheaf::scattered_insertion_index_space_state::insert(), sheaf::interval_index_space_state::insert_interval(), invalidate_extrema(), sheaf::reserved_primary_index_space_state::new_space(), sheaf::offset_index_space_state::new_space(), sheaf::primary_index_space_state::new_space(), sheaf::offset_index_space_state::offset_index_space_state(), operator=(), operator==(), sheaf::primary_index_space_state::primary_index_space_state(), sheaf::primitives_index_space_state::primitives_index_space_state(), sheaf::gathered_insertion_index_space_state::push(), sheaf::gathered_insertion_index_space_state::push_back(), sheaf::list_index_space_state::push_front(), sheaf::gathered_insertion_index_space_state::remove(), sheaf::gathered_insertion_index_space_state::remove_hub(), sheaf::singleton_index_space_state::singleton_index_space_state(), sheaf::hash_index_space_state::update_extrema(), sheaf::array_index_space_state::update_extrema(), sheaf::list_index_space_state::update_extrema(), sheaf::gathered_insertion_index_space_state::update_extrema(), sheaf::primary_sum_index_space_state::update_extrema(), sheaf::interval_index_space_state::update_extrema(), and sheaf::array_index_space_state::update_extrema_after_remove().
|
protected |
The number of members.
Definition at line 286 of file explicit_index_space_state.h.
Referenced by sheaf::gathered_insertion_index_space_state::clear(), sheaf::sum_index_space_state::clear(), sheaf::primary_sum_index_space_state::clear_ids(), ct(), sheaf::primary_sum_index_space_state::delete_id(), sheaf::primary_index_space_state::extend(), sheaf::primary_sum_index_space_state::extend_last_term(), sheaf::gathered_insertion_index_space_state::gather(), sheaf::scattered_insertion_index_space_state::insert(), sheaf::interval_index_space_state::insert_interval(), fiber_bundle::section_space_schema_jims_index_space_state::is_consistent(), is_empty(), sheaf::hash_index_space_state::map_rep_gather(), sheaf::array_index_space_state::map_rep_gather(), sheaf::primary_sum_index_space_state::new_id(), sheaf::primary_sum_index_space_state::new_primary_term(), sheaf::reserved_primary_index_space_state::new_space(), sheaf::offset_index_space_state::new_space(), sheaf::primary_index_space_state::new_space(), sheaf::offset_index_space_state::offset_index_space_state(), operator=(), operator==(), sheaf::primary_index_space_state::primary_index_space_state(), sheaf::primitives_index_space_state::primitives_index_space_state(), sheaf::gathered_insertion_index_space_state::push(), sheaf::gathered_insertion_index_space_state::push_back(), sheaf::list_index_space_state::push_front(), sheaf::gathered_insertion_index_space_state::remove(), sheaf::gathered_insertion_index_space_state::remove_hub(), sheaf::interval_index_space_state::remove_hub_interval(), sheaf::interval_index_space_state::remove_interval(), sheaf::primary_sum_index_space_state::remove_term(), sheaf::singleton_index_space_state::singleton_index_space_state(), fiber_bundle::section_space_schema_jims_index_space_state::update(), sheaf::array_index_space_state::update_extrema(), sheaf::gathered_insertion_index_space_state::update_extrema(), sheaf::list_index_space_state::update_extrema(), sheaf::primary_sum_index_space_state::update_extrema(), sheaf::interval_index_space_state::update_extrema(), and sheaf::array_index_space_state::update_extrema_after_remove().
|
protected |
Ending id of this space.
Definition at line 296 of file explicit_index_space_state.h.
Referenced by sheaf::primary_sum_index_space_state::clear_ids(), sheaf::primitives_index_space_state::contains(), sheaf::offset_index_space_state::contains(), sheaf::primary_index_space_state::contains(), sheaf::list_index_space_state::contains(), sheaf::offset_index_space_state::contains_unglued_hub(), sheaf::primary_index_space_state::contains_unglued_hub(), end(), sheaf::primary_index_space_state::extend(), sheaf::gathered_insertion_index_space_state::gather(), sheaf::scattered_insertion_index_space_state::insert(), sheaf::interval_index_space_state::insert_interval(), invalidate_extrema(), sheaf::reserved_primary_index_space_state::is_hub_id_available(), sheaf::reserved_primary_index_space_state::is_next_id_available(), sheaf::array_index_space_state::map_rep_gather(), sheaf::reserved_primary_index_space_state::new_space(), sheaf::offset_index_space_state::new_space(), sheaf::primary_index_space_state::new_space(), sheaf::offset_index_space_state::offset_index_space_state(), operator=(), operator==(), sheaf::primary_index_space_state::primary_index_space_state(), sheaf::primitives_index_space_state::primitives_index_space_state(), sheaf::gathered_insertion_index_space_state::push(), sheaf::gathered_insertion_index_space_state::push_back(), sheaf::list_index_space_state::push_front(), sheaf::gathered_insertion_index_space_state::remove(), sheaf::gathered_insertion_index_space_state::remove_hub(), sheaf::singleton_index_space_state::singleton_index_space_state(), fiber_bundle::section_space_schema_jims_index_space_state::update(), sheaf::hash_index_space_state::update_extrema(), sheaf::array_index_space_state::update_extrema(), sheaf::gathered_insertion_index_space_state::update_extrema(), sheaf::list_index_space_state::update_extrema(), sheaf::primary_sum_index_space_state::update_extrema(), sheaf::interval_index_space_state::update_extrema(), and sheaf::array_index_space_state::update_extrema_after_remove().
|
protected |
The host collection.
Definition at line 145 of file explicit_index_space_state.h.
Referenced by host(), id_spaces(), new_state(), operator=(), and operator==().
|
protected |
The index of this id space.
Definition at line 150 of file explicit_index_space_state.h.
Referenced by index(), new_state(), operator=(), and operator==().
|
protected |
True if this id space should be written to disk.
Definition at line 301 of file explicit_index_space_state.h.
Referenced by is_persistent(), new_state(), operator=(), operator==(), and sheaf::gathered_insertion_index_space_state::put_is_persistent().
|
protected |
The product structure for this id space.
Definition at line 346 of file explicit_index_space_state.h.
Referenced by delete_product_structure(), has_product_structure(), fiber_bundle::section_space_schema_jims_index_space_state::is_consistent(), new_product_structure(), operator=(), operator==(), product_structure(), and ~explicit_index_space_state().