SheafSystem
0.0.0.0
|
Factory and container for a family of id spaces. More...
#include <index_space_family.h>
Friends | |
class | explicit_index_space_handle |
class | explicit_index_space_iterator |
class | explicit_index_space_state |
class | forwarding_index_space_handle |
class | id_space_names_record |
class | implicit_index_space_iterator |
class | index_space_family_iterator |
class | index_space_handle |
class | index_space_interval |
class | index_space_iterator |
class | poset_state_handle |
class | poset_crg_state |
class | primary_sum_index_space_state |
SHEAF_DLL_SPEC size_t | deep_size (const index_space_family &xfamily, bool xinclude_shallow) |
The deep size of index_space_family& xn. More... | |
INDEX_SPACE_FAMILY FACET | |
typedef pod_index_type | pod_type |
The "plain old data" index type for this. More... | |
name_multimap | _name_to_index |
Map from name to id space index. More... | |
pod_type | _end |
Ending index of the id spaces. More... | |
pod_type | _standard_end |
Ending index of the standard id spaces. More... | |
index_space_family () | |
Default constructor. More... | |
virtual | ~index_space_family () |
Destructor. More... | |
std::string | name (pod_type xid) const |
The name for id xid. More... | |
pod_type | index (const std::string &xname) const |
The index for name xname. More... | |
void | put_name (pod_type xid, const std::string &xname) |
Associate name xname with id space index xid. More... | |
bool | contains (pod_type xid) const |
True, if this contains an id space with id xid. More... | |
bool | contains (const std::string &xname) const |
True, if this contains an id space with name xname. More... | |
pod_type | begin () const |
The beginning index of the id spaces. More... | |
pod_type | end () const |
The ending index of the id spaces. More... | |
bool | has_only_standard_id_spaces () const |
True if and only if all the id spaces are standard id spaces. More... | |
void | update_standard_id_spaces () |
Update the initially allocated id spaces. More... | |
void | clear_id_spaces () |
Clear all the non-standard id spaces in this family. More... | |
static size_type & | max_rep_ids () |
Maximum number of representive ids which are permitted by the stream insertion operator to output the equivalence class. More... | |
index_space_family (const index_space_family &xother) | |
Copy constructor; disabled. More... | |
STATE FACET | |
typedef std::map< pod_type, index_space_interval * > | interval_map_type |
Type of interval map. More... | |
typedef interval_map_type::iterator | interval_iterator_type |
Type of interval map iterator. More... | |
typedef interval_map_type::const_iterator | const_interval_iterator_type |
Type of interval map iterator. More... | |
interval_map_type | _intervals |
Map from id to id space interval. More... | |
explicit_index_space_interval * | _explicit_interval |
The current explicit id space interval. More... | |
pod_type | _next_explicit_id |
The next available id for an explicit index space. More... | |
void | delete_space (pod_type xid) |
Delete the id space with index xid. More... | |
void | delete_space (const std::string &xname) |
Delete the id space with name xname. More... | |
bool | is_explicit_interval (pod_type xid) |
True, if and only if the id space interval that contains index xid is an explicit interval. More... | |
pod_type | new_primary_state (size_type xct) |
Creates a new primary id space state with xct number of ids. Returns the index of the id space state created. More... | |
pod_type | new_primary_state (pod_type xid, size_type xct) |
Creates a new primary id space state [xid, xid+xct). Returns the index of the id space state created. More... | |
void | delete_primary_state (pod_type xid) |
Delete the primary space state with id xid. More... | |
void | new_state (const std::string &xname, const std::string &xstate_class_name) |
Create a new id space with class type xstate_class_name and name xname. Used by the I/O system to read secondary id spaces. More... | |
void | delete_state (pod_type xid) |
Delete the state with id xid. More... | |
void | insert_interval (index_space_interval &xinterval) |
Inserts an id space interval into this family. More... | |
void | delete_interval (pod_type xid) |
Delete the interval that contains the id space with id xid. More... | |
const index_space_collection * | collection (pod_type xid) const |
Id space collection for id xid (const version). More... | |
index_space_collection * | collection (pod_type xid) |
Id space collection for id xid (mutable version). More... | |
pod_type | reserve_next_explicit_id () |
Reserve the next available id for an explicit index space. More... | |
static size_type | explicit_interval_size () |
Size of the explicit id space intervals. More... | |
HUB ID SPACE FACET | |
hub_index_space_handle | _hub_id_space |
The hub id space. More... | |
interval_index_space_handle | _gathered_hub_id_space |
The gathered hub id space. More... | |
pod_type | new_id () |
Allocate the next available id in this family. More... | |
pod_type | new_id (pod_type xid) |
Allocate an xid in this family. More... | |
void | delete_id (pod_type xid) |
Deallocate the id xid in this family. More... | |
const hub_index_space_handle & | hub_id_space () const |
The hub id space of this family. More... | |
const index_space_handle & | new_gathered_hub_id_space (bool xexclude_bottom) |
Create a gathered hub id space for this family. If xexclude_bottom, construct the id space without BOTTOM_INDEX. More... | |
void | update_gathered_hub_id_space () |
Update the gathered hub id space. More... | |
const index_space_handle & | gathered_hub_id_space () const |
A secondary id space that is a gathered version of the hub id space. More... | |
bool | has_gathered_hub_id_space () const |
True if there is a gathered hub id space for this family. More... | |
bool | gathered_hub_id_space_excludes_bottom () const |
True, if the gathered hub id space excludes BOTTOM_INDEX. More... | |
bool | is_valid_reserved_id (pod_type xid) const |
True if and only if the reserved term containing xid is already a reserved term or is available for allocation. More... | |
const index_space_handle & | term_of (pod_type xid) const |
The term in the hub id space containing id xid. More... | |
const index_space_handle & | term_of (const scoped_index &xid) const |
The term in the hub id space containing id xid. More... | |
const index_space_handle & | last_term () const |
The last term in the hub id space. More... | |
void | extend_last_term (size_type xct) |
Extends the last term to to ct == xct. More... | |
static const std::string & | hub_id_space_name () |
Name of the hub id space. More... | |
INDEX SPACE FACET | |
size_type | ct (const std::string &xname) const |
The number of members for the id space with name xname. More... | |
size_type | ct (pod_type xspace_id) const |
The number of members for the id space with id xspace_id. More... | |
bool | is_empty (const std::string &xname) const |
True if there are no ids in the space with name xname. More... | |
bool | is_empty (pod_type xspace_id) const |
True if there are no ids in the space with id xspace_id. More... | |
pod_type | begin (const std::string &xname) const |
Beginning id of the space with name xname. More... | |
pod_type | begin (pod_type xspace_id) const |
Beginning id of the space with id xspace_id. More... | |
pod_type | end (const std::string &xname) const |
Ending id of the space with name xname. More... | |
pod_type | end (pod_type xspace_id) const |
Ending id of this the with id xspace_id. More... | |
pod_type | hub_begin (const std::string &xname) const |
Beginning id of the space in the hub id space with name xname. More... | |
pod_type | hub_begin (pod_type xspace_id) const |
Beginning id of the space in the hub id space with id xspace_id. More... | |
bool | is_gathered (const std::string &xname) const |
True if begin(xspace_id) == 0 and end(xspace_id) == ct(xspace_id). More... | |
bool | is_gathered (pod_type xspace_id) const |
True if begin(xspace_id) == 0 and end(xspace_id) == ct(xspace_id). More... | |
bool | contains (const std::string &xname, pod_type xid) const |
True if the space with name xname contains id xid. More... | |
bool | contains (pod_type xspace_id, pod_type xid) const |
True if the space with id xspace_id contains id xid. More... | |
bool | contains (const std::string &xname, const scoped_index &xid) const |
True if the space with name xname contains an id equivalent to xid. synonym for contains_hub(xspace_id, xid.hub_pod()). More... | |
bool | contains (pod_type xspace_id, const scoped_index &xid) const |
True if the space with id xspace_id contains an id equivalent to xid. synonym for contains_hub(xspace_id, xid.hub_pod()). More... | |
bool | contains_hub (const std::string &xname, pod_type xid) const |
True if the space with name xname contains an id equivalent to xid in the unglued hub id space. synonym for contains_unglued_hub(xname, xid). More... | |
bool | contains_hub (pod_type xspace_id, pod_type xid) const |
True if the space with id xspace_id contains an id equivalent to xid in the unglued hub id space. synonym for contains_unglued_hub(xspace_id, xid). More... | |
bool | contains_unglued_hub (const std::string &xname, pod_type xid) const |
True if the space with name xname contains an id equivalent to xid in the unglued hub id space. More... | |
bool | contains_unglued_hub (pod_type xspace_id, pod_type xid) const |
True if the space with id xspace_id contains an id equivalent to xid in the unglued hub id space. More... | |
bool | contains_glued_hub (const std::string &xname, pod_type xid) const |
True if the space with name xname contains an id equivalent to xid in the glued hub id space. More... | |
bool | contains_glued_hub (pod_type xspace_id, pod_type xid) const |
True if the space with id xspace_id contains an id equivalent to xid in the glued hub id space. More... | |
bool | contains (const std::string &xname, pod_type xid, const scoped_index &xhub_id) const |
True if the space with name xname contains an id xid equivalent to xhub_id in the hub id space. synonym for contains(xspace_id, xid, xhub_id.hub_pod()). More... | |
bool | contains (pod_type xspace_id, pod_type xid, const scoped_index &xhub_id) const |
True if the space with id xspace_id contains an id xid equivalent to xhub_id in the hub id space. synonym for contains(xspace_id, xid, xhub_id.hub_pod()). More... | |
bool | contains (const std::string &xname, pod_type xid, pod_type xhub_id) const |
True if the space with name xname contains an id xid equivalent to xhub_id in the hub id space. More... | |
bool | contains (pod_type xspace_id, pod_type xid, pod_type xhub_id) const |
True if the space with id xspace_id contains an id xid equivalent to xhub_id in the hub id space. More... | |
pod_type | pod (const std::string &xname, pod_type xid) const |
The pod index in the space with name xname equivalent to xid in the hub id space. More... | |
pod_type | pod (pod_type xspace_id, pod_type xid) const |
The pod index in the space with id xspace_id equivalent to xid in the hub id space. More... | |
pod_type | pod (const std::string &xname, const scoped_index &xid) const |
The pod index in the space with name xname equivalent to xid. synonym for pod(xxspace_id, id.hub_pod()). More... | |
pod_type | pod (pod_type xspace_id, const scoped_index &xid) const |
The pod index in the space with id xspace_id equivalent to xid. synonym for pod(xxspace_id, id.hub_pod()). More... | |
pod_type | hub_pod (const std::string &xname, pod_type xid) const |
The pod index in the unglued hub id space equivalent to xid in the id space with name xname. synonym for unglued_hub_pod(xname, xid). More... | |
pod_type | hub_pod (pod_type xspace_id, pod_type xid) const |
The pod index in the unglued hub id space equivalent to xid in the id space with id xspace_id. synonym for unglued_hub_pod(xspace_id, xid). More... | |
pod_type | unglued_hub_pod (const std::string &xname, pod_type xid) const |
The pod index in the unglued hub id space equivalent to xid in the id space with name xname. More... | |
pod_type | unglued_hub_pod (pod_type xspace_id, pod_type xid) const |
The pod index in the unglued hub id space equivalent to xid in the id space with id xspace_id. More... | |
pod_type | glued_hub_pod (const std::string &xname, pod_type xid) const |
The pod index in the glued hub id space equivalent to xid in the id space with name xname. More... | |
pod_type | glued_hub_pod (pod_type xspace_id, pod_type xid) const |
The pod index in the glued hub id space equivalent to xid in the id space with id xspace_id. More... | |
bool | is_persistent (const std::string &xname) const |
True if the id space with name xname should be written to disk. More... | |
bool | is_persistent (pod_type xspace_id) const |
True if the id space with id xspace_id should be written to disk. More... | |
GLUING FACET | |
void | glue (pod_type xid, pod_type xrep) |
Glues xid to xrep; adds xid to the equivalence class with representative member xrep. More... | |
void | unglue (pod_type xid) |
Unglues xid; makes xid its own representative. More... | |
void | unglue_all (pod_type xrep_id) |
Unglue all ids glued to representative xrep_id; makes each id in the equivalence class of xrep_id its own representative. More... | |
bool | has_gluing () const |
Ture if there is any gluing in the hub id space. More... | |
PRODUCT STRUCTURE FACET | |
void | new_product_structure (const std::string &xname, const abstract_product_structure &xproduct) |
Creates a new product structure for the id space with name xname by cloning the product structure, xproduct. More... | |
void | new_product_structure (pod_type xspace_id, const abstract_product_structure &xproduct) |
Creates a new product structure for the id space with id xspace_id by cloning the product structure, xproduct. More... | |
void | delete_product_structure (const std::string &xname) |
Deletes the product structure for the id space with name xname. More... | |
void | delete_product_structure (pod_type xspace_id) |
Deletes the product structure for the id space with id xspace_id. More... | |
const abstract_product_structure & | product_structure (const std::string &xname) const |
The product structure for the id space with name xname (const version). More... | |
const abstract_product_structure & | product_structure (pod_type xspace_id) const |
The product structure for the id space with id xspace_id (const version). More... | |
abstract_product_structure & | product_structure (const std::string &xname) |
The product structure for the id space with name xname (mutable version). More... | |
abstract_product_structure & | product_structure (pod_type xspace_id) |
The product structure for the id space with id xspace_id (mutable version). More... | |
template<typename T > | |
const T & | product_structure (const std::string &xname) const |
The product structure of type T for the id space with name xname (const version). More... | |
template<typename T > | |
const T & | product_structure (pod_type xspace_id) const |
The product structure of type T for the id space with id xspace_id (const version). More... | |
template<typename T > | |
T & | product_structure (const std::string &xname) |
The product structure of type T for the id space with name xname (mutable version). More... | |
template<typename T > | |
T & | product_structure (pod_type xspace_id) |
The product structure of type T for the id space with id xspace_id (mutable version). More... | |
bool | has_product_structure (const std::string &xname) const |
True if the id space with name xname has a product structure. More... | |
bool | has_product_structure (pod_type xspace_id) const |
True if the id space with id xspace_id has a product structure. More... | |
template<typename T > | |
bool | product_structure_conforms_to (const std::string &xname) const |
True if the product structure for the id space with name xname conforms to type T. More... | |
template<typename T > | |
bool | product_structure_conforms_to (pod_type xspace_id) const |
True if the product structure for the id space with id xspace_id conforms to type T. More... | |
HANDLE POOL FACET | |
index_space_handle & | get_id_space (const std::string &xname) const |
Allocates an id space handle from the handle pool attached to state with name xname. More... | |
index_space_handle & | get_id_space (pod_type xspace_id) const |
Allocates an id space handle from the handle pool attached to state with id xspace_id. More... | |
template<typename T > | |
T & | get_id_space (const std::string &xname) const |
Allocates an id space handle of type T from the handle pool attached to state with name xname. More... | |
template<typename T > | |
T & | get_id_space (pod_type xspace_id) const |
Allocates an id space handle of type T from the handle pool attached to state with id xspace_id. More... | |
template<typename T > | |
bool | handle_conforms_to_state (const std::string &xname) const |
True if handle of type T conforms to the state with name xname. More... | |
template<typename T > | |
bool | handle_conforms_to_state (pod_type xspace_id) const |
True if handle of type T conforms to the state with id xspace_id. More... | |
void | release_id_space (index_space_handle &xid_space) const |
Returns the id space handle xid_space to the handle pool. More... | |
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 | |
index_space_iterator & | get_id_space_iterator (const std::string &xname) const |
Allocates an id space iterator from the iterator pool attached to state with name xname. More... | |
index_space_iterator & | get_id_space_iterator (pod_type xspace_id) const |
Allocates an id space iterator from the iterator pool attached to state with id xspace_id. More... | |
void | release_id_space_iterator (index_space_iterator &xitr) const |
Returns the id space iterator xitr to the iterator pool. More... | |
bool | allocated_id_space_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 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 * | clone () const |
Virtual constructor, makes a new instance of 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... | |
Factory and container for a family of id spaces.
Definition at line 77 of file index_space_family.h.
|
protected |
Type of interval map iterator.
Definition at line 297 of file index_space_family.h.
|
protected |
Type of interval map iterator.
Definition at line 292 of file index_space_family.h.
|
protected |
Type of interval map.
Definition at line 287 of file index_space_family.h.
The "plain old data" index type for this.
Definition at line 104 of file index_space_family.h.
sheaf::index_space_family::index_space_family | ( | ) |
Default constructor.
Definition at line 47 of file index_space_family.cc.
References _hub_id_space, hub_id_space_name(), invariant(), sheaf::primary_sum_index_space_state::new_space(), and ~index_space_family().
|
virtual |
Destructor.
Definition at line 73 of file index_space_family.cc.
References _intervals, and name().
Referenced by index_space_family().
|
inlineprotected |
Copy constructor; disabled.
Definition at line 179 of file index_space_family.h.
bool sheaf::index_space_family::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.
Definition at line 2410 of file index_space_family.cc.
References collection(), get_id_space_iterator(), and sheaf::index_space_handle::index().
Referenced by fiber_bundle::sec_rep_space::allocated_branch_handle(), and release_id_space().
bool sheaf::index_space_family::allocated_id_space_iterator | ( | const index_space_iterator & | xitr | ) | const |
True if and only if id space iterator xitr was allocated by the iterator pool.
Definition at line 2506 of file index_space_family.cc.
References collection(), sheaf::index_space_iterator::index(), and is_ancestor_of().
Referenced by fiber_bundle::sec_rep_space::allocated_branch_iterator(), and release_id_space_iterator().
sheaf::index_space_family::pod_type sheaf::index_space_family::begin | ( | ) | const |
The beginning index of the id spaces.
Definition at line 207 of file index_space_family.cc.
References end().
Referenced by begin(), contains(), extend_last_term(), invariant(), is_empty(), is_gathered(), and sheaf::operator<<().
sheaf::index_space_family::pod_type sheaf::index_space_family::begin | ( | const std::string & | xname | ) | const |
Beginning id of the space with name xname.
Definition at line 1244 of file index_space_family.cc.
References _name_to_index, begin(), contains(), and sheaf::name_multimap::index().
sheaf::index_space_family::pod_type sheaf::index_space_family::begin | ( | pod_type | xspace_id | ) | const |
Beginning id of the space with id xspace_id.
Definition at line 1265 of file index_space_family.cc.
References sheaf::index_space_collection::begin(), collection(), contains(), end(), and sheaf::index_space_collection::local_scope().
void sheaf::index_space_family::clear_id_spaces | ( | ) |
Clear all the non-standard id spaces in this family.
Definition at line 285 of file index_space_family.cc.
References _end, _hub_id_space, _intervals, _standard_end, sheaf::index_space_interval::begin(), sheaf::hub_index_space_handle::clear_ids(), sheaf::index_space_interval::end(), has_only_standard_id_spaces(), hub_id_space(), invariant(), sheaf::index_space_interval::local_scope(), max_rep_ids(), and sheaf::index_space_collection::remove().
Referenced by update_standard_id_spaces().
|
protected |
Id space collection for id xid (const version).
Definition at line 743 of file index_space_family.cc.
References _intervals.
Referenced by allocated_id_space(), allocated_id_space_iterator(), sheaf::implicit_index_space_iterator::attach_to(), sheaf::index_space_iterator::attach_to(), sheaf::forwarding_index_space_handle::attach_to(), sheaf::index_space_handle::attach_to(), begin(), sheaf::index_space_iterator::conforms_to_state(), sheaf::index_space_handle::conforms_to_state(), contains(), contains_unglued_hub(), ct(), delete_interval(), delete_product_structure(), delete_state(), end(), get_id_space(), get_id_space_iterator(), has_product_structure(), hub_begin(), is_explicit_interval(), is_persistent(), new_product_structure(), sheaf::explicit_index_space_state::new_state(), pod(), product_structure(), release_id_space(), release_id_space_iterator(), sheaf::explicit_index_space_iterator::state(), sheaf::explicit_index_space_handle::state(), and unglued_hub_pod().
|
protected |
Id space collection for id xid (mutable version).
Definition at line 765 of file index_space_family.cc.
References _intervals, and reserve_next_explicit_id().
bool sheaf::index_space_family::contains | ( | pod_type | xid | ) | const |
True, if this contains an id space with id xid.
Definition at line 165 of file index_space_family.cc.
References collection(), and sheaf::index_space_collection::contains_family().
Referenced by sheaf::array_index_space_handle::array_index_space_handle(), sheaf::schema_poset_member::attach_handle_data_members(), sheaf::index_space_iterator::attach_to(), sheaf::index_space_handle::attach_to(), begin(), tool::vtk_unstructured_grid_builder::build_pa(), sheaf::storage_agent::clear_all_id_spaces(), sheaf::index_space_iterator::conforms_to_state(), sheaf::index_space_handle::conforms_to_state(), contains(), contains_glued_hub(), contains_hub(), contains_unglued_hub(), ct(), delete_id(), delete_interval(), delete_primary_state(), delete_product_structure(), delete_space(), delete_state(), end(), sheaf::gathered_insertion_index_space_handle::gathered_insertion_index_space_handle(), get_id_space(), get_id_space_iterator(), glued_hub_pod(), handle_conforms_to_state(), has_product_structure(), sheaf::hash_index_space_handle::hash_index_space_handle(), hub_begin(), sheaf::hub_index_space_handle::hub_index_space_handle(), hub_pod(), sheaf::id_block::id_block(), index(), sheaf::poset_scaffold::initialize_dof_tuple_id_space(), sheaf::poset_scaffold::initialize_member_id_space(), sheaf::storage_agent::initialize_poset_id_spaces_for_write(), sheaf::poset_scaffold::initialize_subposet_id_space(), sheaf::interval_index_space_handle::interval_index_space_handle(), invariant(), is_empty(), is_gathered(), is_persistent(), fiber_bundle::section_space_schema_poset::is_valid_int_id(), sheaf::list_index_space_handle::list_index_space_handle(), name(), sheaf::index_space_iterator::name(), sheaf::index_space_handle::name(), new_id(), new_primary_state(), new_product_structure(), sheaf::singleton_index_space_handle::new_space(), sheaf::interval_index_space_handle::new_space(), sheaf::offset_index_space_handle::new_space(), sheaf::hash_index_space_handle::new_space(), sheaf::array_index_space_handle::new_space(), sheaf::primitives_index_space_state::new_space(), sheaf::reserved_primary_index_space_state::new_space(), sheaf::singleton_index_space_state::new_space(), sheaf::offset_index_space_state::new_space(), sheaf::primary_index_space_state::new_space(), fiber_bundle::section_space_schema_jims_index_space_handle::new_space(), sheaf::hash_index_space_state::new_space(), fiber_bundle::section_space_schema_jims_index_space_state::new_space(), sheaf::list_index_space_handle::new_space(), sheaf::array_index_space_state::new_space(), sheaf::list_index_space_state::new_space(), sheaf::interval_index_space_state::new_space(), sheaf::primary_sum_index_space_state::new_space(), sheaf::explicit_index_space_state::new_state(), new_state(), sheaf::offset_index_space_handle::offset_index_space_handle(), pod(), sheaf::primary_index_space_handle::primary_index_space_handle(), sheaf::primitives_index_space_handle::primitives_index_space_handle(), product_structure(), product_structure_conforms_to(), sheaf::subposet_state::put_id_space(), put_name(), sheaf::reserved_primary_index_space_handle::reserved_primary_index_space_handle(), sheaf::scattered_insertion_index_space_handle::scattered_insertion_index_space_handle(), sheaf::scoped_index::scoped_index(), fiber_bundle::section_space_schema_jims_index_space_handle::section_space_schema_jims_index_space_handle(), sheaf::singleton_index_space_handle::singleton_index_space_handle(), sheaf::storage_agent::state_is_consistent(), sheaf::sum_index_space_handle::sum_index_space_handle(), sheaf::id_space_names_record::transfer_internal_buffer_to_poset(), unglue(), unglued_hub_pod(), fiber_bundle::product_section_space_schema_member::update_row_cache(), fiber_bundle::section_space_schema_member::update_row_cache(), fiber_bundle::product_section_space_schema_member::update_row_cache_without_disc_id_space(), fiber_bundle::section_space_schema_member::update_row_cache_without_disc_id_space(), fiber_bundle::product_section_space_schema_member::update_row_dof_id_space(), and fiber_bundle::homogeneous_block_crg_interval::~homogeneous_block_crg_interval().
bool sheaf::index_space_family::contains | ( | const std::string & | xname | ) | const |
True, if this contains an id space with name xname.
Definition at line 186 of file index_space_family.cc.
References _name_to_index, begin(), contains(), sheaf::name_multimap::index(), and sheaf::is_valid().
bool sheaf::index_space_family::contains | ( | const std::string & | xname, |
pod_type | xid | ||
) | const |
True if the space with name xname contains id xid.
Definition at line 1421 of file index_space_family.cc.
References _name_to_index, contains(), and sheaf::name_multimap::index().
True if the space with id xspace_id contains id xid.
Definition at line 1442 of file index_space_family.cc.
References collection(), sheaf::index_space_collection::contains(), contains(), and sheaf::index_space_collection::local_scope().
bool sheaf::index_space_family::contains | ( | const std::string & | xname, |
const scoped_index & | xid | ||
) | const |
True if the space with name xname contains an id equivalent to xid. synonym for contains_hub(xspace_id, xid.hub_pod()).
Definition at line 1466 of file index_space_family.cc.
References _name_to_index, contains(), contains_hub(), sheaf::scoped_index::hub_pod(), and sheaf::name_multimap::index().
bool sheaf::index_space_family::contains | ( | pod_type | xspace_id, |
const scoped_index & | xid | ||
) | const |
True if the space with id xspace_id contains an id equivalent to xid. synonym for contains_hub(xspace_id, xid.hub_pod()).
Definition at line 1487 of file index_space_family.cc.
References contains(), contains_hub(), and sheaf::scoped_index::hub_pod().
bool sheaf::index_space_family::contains | ( | const std::string & | xname, |
pod_type | xid, | ||
const scoped_index & | xhub_id | ||
) | const |
True if the space with name xname contains an id xid equivalent to xhub_id in the hub id space. synonym for contains(xspace_id, xid, xhub_id.hub_pod()).
Definition at line 1638 of file index_space_family.cc.
References _name_to_index, contains(), sheaf::scoped_index::hub_pod(), and sheaf::name_multimap::index().
bool sheaf::index_space_family::contains | ( | pod_type | xspace_id, |
pod_type | xid, | ||
const scoped_index & | xhub_id | ||
) | const |
True if the space with id xspace_id contains an id xid equivalent to xhub_id in the hub id space. synonym for contains(xspace_id, xid, xhub_id.hub_pod()).
Definition at line 1659 of file index_space_family.cc.
References contains(), and sheaf::scoped_index::hub_pod().
bool sheaf::index_space_family::contains | ( | const std::string & | xname, |
pod_type | xid, | ||
pod_type | xhub_id | ||
) | const |
True if the space with name xname contains an id xid equivalent to xhub_id in the hub id space.
Definition at line 1680 of file index_space_family.cc.
References _name_to_index, contains(), and sheaf::name_multimap::index().
bool sheaf::index_space_family::contains | ( | pod_type | xspace_id, |
pod_type | xid, | ||
pod_type | xhub_id | ||
) | const |
True if the space with id xspace_id contains an id xid equivalent to xhub_id in the hub id space.
Definition at line 1701 of file index_space_family.cc.
References collection(), sheaf::index_space_collection::contains(), contains(), sheaf::index_space_collection::local_scope(), and pod().
bool sheaf::index_space_family::contains_glued_hub | ( | const std::string & | xname, |
pod_type | xid | ||
) | const |
True if the space with name xname contains an id equivalent to xid in the glued hub id space.
Definition at line 1595 of file index_space_family.cc.
References _name_to_index, contains(), and sheaf::name_multimap::index().
Referenced by contains_unglued_hub(), and glued_hub_pod().
True if the space with id xspace_id contains an id equivalent to xid in the glued hub id space.
Definition at line 1616 of file index_space_family.cc.
References contains(), contains_unglued_hub(), hub_id_space(), and unglued_hub_pod().
bool sheaf::index_space_family::contains_hub | ( | const std::string & | xname, |
pod_type | xid | ||
) | const |
True if the space with name xname contains an id equivalent to xid in the unglued hub id space. synonym for contains_unglued_hub(xname, xid).
Definition at line 1508 of file index_space_family.cc.
References contains(), and contains_unglued_hub().
Referenced by contains(), fiber_bundle::base_space_poset::contains_adjacency_id_space(), fiber_bundle::base_space_poset::contains_connectivity_id_space(), hub_pod(), fiber_bundle::section_space_schema_poset::is_valid_int_id(), and fiber_bundle::homogeneous_block_crg_interval::member_class().
True if the space with id xspace_id contains an id equivalent to xid in the unglued hub id space. synonym for contains_unglued_hub(xspace_id, xid).
Definition at line 1529 of file index_space_family.cc.
References contains(), and contains_unglued_hub().
bool sheaf::index_space_family::contains_unglued_hub | ( | const std::string & | xname, |
pod_type | xid | ||
) | const |
True if the space with name xname contains an id equivalent to xid in the unglued hub id space.
Definition at line 1550 of file index_space_family.cc.
References _name_to_index, contains(), and sheaf::name_multimap::index().
Referenced by contains_glued_hub(), contains_hub(), and unglued_hub_pod().
True if the space with id xspace_id contains an id equivalent to xid in the unglued hub id space.
Definition at line 1571 of file index_space_family.cc.
References collection(), contains(), contains_glued_hub(), sheaf::index_space_collection::contains_unglued_hub(), and sheaf::index_space_collection::local_scope().
sheaf::size_type sheaf::index_space_family::ct | ( | const std::string & | xname | ) | const |
The number of members for the id space with name xname.
Definition at line 1157 of file index_space_family.cc.
References _name_to_index, contains(), and sheaf::name_multimap::index().
Referenced by extend_last_term(), sheaf::implicit_crg_interval::get_private_data(), is_empty(), is_gathered(), sheaf::operator<<(), sheaf::implicit_crg_interval::private_data_size(), fiber_bundle::product_section_space_schema_member::update_row_cache_without_disc_id_space(), and fiber_bundle::section_space_schema_member::update_row_cache_without_disc_id_space().
sheaf::size_type sheaf::index_space_family::ct | ( | pod_type | xspace_id | ) | const |
The number of members for the id space with id xspace_id.
Definition at line 1178 of file index_space_family.cc.
References collection(), contains(), sheaf::index_space_collection::ct(), is_empty(), and sheaf::index_space_collection::local_scope().
void sheaf::index_space_family::delete_id | ( | pod_type | xid | ) |
Deallocate the id xid in this family.
Definition at line 881 of file index_space_family.cc.
References _hub_id_space, contains(), sheaf::hub_index_space_handle::delete_id(), and hub_id_space().
Referenced by new_id().
|
protected |
Delete the interval that contains the id space with id xid.
Definition at line 655 of file index_space_family.cc.
References _end, _intervals, collection(), contains(), hub_id_space(), index(), and invariant().
Referenced by delete_space(), and insert_interval().
|
protected |
Delete the primary space state with id xid.
Definition at line 507 of file index_space_family.cc.
References _hub_id_space, contains(), delete_state(), hub_id_space(), sheaf::primary_index_space_handle::hub_term_id(), index(), invariant(), new_state(), and sheaf::hub_index_space_handle::remove_term().
Referenced by new_primary_state().
void sheaf::index_space_family::delete_product_structure | ( | const std::string & | xname | ) |
Deletes the product structure for the id space with name xname.
Definition at line 2145 of file index_space_family.cc.
References _name_to_index, contains(), has_product_structure(), and sheaf::name_multimap::index().
Referenced by new_product_structure().
void sheaf::index_space_family::delete_product_structure | ( | pod_type | xspace_id | ) |
Deletes the product structure for the id space with id xspace_id.
Definition at line 2166 of file index_space_family.cc.
References collection(), contains(), sheaf::index_space_collection::delete_product_structure(), has_product_structure(), sheaf::index_space_collection::local_scope(), and product_structure().
void sheaf::index_space_family::delete_space | ( | pod_type | xid | ) |
Delete the id space with index xid.
Definition at line 382 of file index_space_family.cc.
References contains(), delete_interval(), delete_state(), hub_id_space(), index(), invariant(), and is_explicit_interval().
Referenced by delete_space(), max_rep_ids(), fiber_bundle::base_space_crg_interval::~base_space_crg_interval(), sheaf::crg_interval::~crg_interval(), sheaf::explicit_crg_interval::~explicit_crg_interval(), fiber_bundle::homogeneous_block_crg_interval::~homogeneous_block_crg_interval(), and sheaf::member_record_set::~member_record_set().
void sheaf::index_space_family::delete_space | ( | const std::string & | xname | ) |
Delete the id space with name xname.
Definition at line 419 of file index_space_family.cc.
References _name_to_index, contains(), sheaf::name_multimap::contains_name(), delete_space(), hub_id_space_name(), sheaf::name_multimap::index(), invariant(), and is_explicit_interval().
|
protected |
Delete the state with id xid.
Definition at line 575 of file index_space_family.cc.
References _name_to_index, collection(), contains(), sheaf::name_multimap::contains_index(), sheaf::name_multimap::delete_index(), sheaf::index_space_collection::explicit_state(), insert_interval(), invariant(), sheaf::index_space_collection::local_scope(), and sheaf::index_space_collection::remove().
Referenced by delete_primary_state(), delete_space(), and new_state().
sheaf::index_space_family::pod_type sheaf::index_space_family::end | ( | ) | const |
The ending index of the id spaces.
Definition at line 226 of file index_space_family.cc.
References _end, and has_only_standard_id_spaces().
Referenced by begin(), end(), insert_interval(), is_gathered(), sheaf::explicit_index_space_interval::new_space(), fiber_bundle::i_connectivity_index_space_interval::new_space(), fiber_bundle::i_adjacency_index_space_interval::new_space(), fiber_bundle::ijk_connectivity_index_space_interval::new_space(), fiber_bundle::ij_adjacency_index_space_interval::new_space(), fiber_bundle::ij_connectivity_index_space_interval::new_space(), fiber_bundle::ijk_adjacency_index_space_interval::new_space(), sheaf::singleton_index_space_interval::new_space(), sheaf::constant_index_space_interval::new_space(), sheaf::array_index_space_interval::new_space(), sheaf::ragged_array_index_space_interval::new_space(), sheaf::index_space_interval::new_state(), and sheaf::operator<<().
sheaf::index_space_family::pod_type sheaf::index_space_family::end | ( | const std::string & | xname | ) | const |
Ending id of the space with name xname.
Definition at line 1289 of file index_space_family.cc.
References _name_to_index, contains(), end(), and sheaf::name_multimap::index().
sheaf::index_space_family::pod_type sheaf::index_space_family::end | ( | pod_type | xspace_id | ) | const |
Ending id of this the with id xspace_id.
Definition at line 1310 of file index_space_family.cc.
References collection(), contains(), sheaf::index_space_collection::end(), hub_begin(), and sheaf::index_space_collection::local_scope().
|
staticprotected |
Size of the explicit id space intervals.
Definition at line 825 of file index_space_family.cc.
References sheaf::EXPLICIT_INTERVAL_SIZE, and new_id().
Referenced by reserve_next_explicit_id().
void sheaf::index_space_family::extend_last_term | ( | size_type | xct | ) |
Extends the last term to to ct == xct.
Definition at line 1121 of file index_space_family.cc.
References _hub_id_space, begin(), ct(), sheaf::hub_index_space_handle::extend_last_term(), hub_id_space(), sheaf::scoped_index::in_scope(), is_empty(), and last_term().
Referenced by last_term().
const sheaf::index_space_handle & sheaf::index_space_family::gathered_hub_id_space | ( | ) | const |
A secondary id space that is a gathered version of the hub id space.
Definition at line 964 of file index_space_family.cc.
References _hub_id_space, sheaf::hub_index_space_handle::gathered_id_space(), and has_gathered_hub_id_space().
Referenced by new_gathered_hub_id_space(), and update_gathered_hub_id_space().
bool sheaf::index_space_family::gathered_hub_id_space_excludes_bottom | ( | ) | const |
True, if the gathered hub id space excludes BOTTOM_INDEX.
Definition at line 1005 of file index_space_family.cc.
References _hub_id_space, sheaf::hub_index_space_handle::gathered_id_space_excludes_bottom(), and hub_id_space_name().
Referenced by has_gathered_hub_id_space(), and new_gathered_hub_id_space().
sheaf::index_space_handle & sheaf::index_space_family::get_id_space | ( | const std::string & | xname | ) | const |
Allocates an id space handle from the handle pool attached to state with name xname.
Definition at line 2344 of file index_space_family.cc.
References _name_to_index, contains(), sheaf::name_multimap::index(), and sheaf::index_space_handle::is_attached().
Referenced by sheaf::primary_sum_index_space_state::add_term(), sheaf::schema_poset_member::attach_handle_data_members(), fiber_bundle::base_space_poset::get_adjacency_id_space(), fiber_bundle::sec_rep_space::get_branch_id_space(), fiber_bundle::base_space_poset::get_connectivity_id_space(), get_id_space(), sheaf::namespace_poset::get_member_poset_id_space(), fiber_bundle::base_space_poset::get_vertex_client_id_space(), fiber_bundle::base_space_poset::get_vertex_id_space(), fiber_bundle::base_space_poset::get_zone_id_space(), handle_conforms_to_state(), has_product_structure(), sheaf::schema_poset_member::initialize_dof_id_space(), sheaf::namespace_poset::insert_poset(), product_structure_conforms_to(), sheaf::subposet_state::put_id_space(), sheaf::id_space_names_record::transfer_internal_buffer_to_poset(), sheaf::id_space_names_record::transfer_poset_to_internal_buffer(), fiber_bundle::product_section_space_schema_member::update_row_cache(), fiber_bundle::section_space_schema_member::update_row_cache(), and fiber_bundle::product_section_space_schema_member::update_row_dof_id_space().
sheaf::index_space_handle & sheaf::index_space_family::get_id_space | ( | pod_type | xspace_id | ) | const |
Allocates an id space handle from the handle pool attached to state with id xspace_id.
Definition at line 2365 of file index_space_family.cc.
References collection(), contains(), sheaf::index_space_collection::get_id_space(), sheaf::index_space_handle::is_attached(), sheaf::index_space_collection::local_scope(), and release_id_space().
T & sheaf::index_space_family::get_id_space | ( | const std::string & | xname | ) | const |
Allocates an id space handle of type T from the handle pool attached to state with name xname.
Definition at line 189 of file index_space_family.impl.h.
References contains(), and get_id_space().
T & sheaf::index_space_family::get_id_space | ( | pod_type | xspace_id | ) | const |
Allocates an id space handle of type T from the handle pool attached to state with id xspace_id.
Definition at line 212 of file index_space_family.impl.h.
References contains(), get_id_space(), and handle_conforms_to_state().
sheaf::index_space_iterator & sheaf::index_space_family::get_id_space_iterator | ( | const std::string & | xname | ) | const |
Allocates an id space iterator from the iterator pool attached to state with name xname.
Definition at line 2440 of file index_space_family.cc.
References _name_to_index, contains(), sheaf::name_multimap::index(), and sheaf::index_space_iterator::is_attached().
Referenced by allocated_id_space(), sheaf::crg_interval::force_explicit_cover(), fiber_bundle::base_space_poset::get_adjacency_id_space_iterator(), fiber_bundle::sec_rep_space::get_branch_id_space_iterator(), fiber_bundle::base_space_poset::get_connectivity_id_space_iterator(), sheaf::namespace_poset::get_member_poset_id_space_iterator(), sheaf::implicit_crg_interval::get_private_data(), fiber_bundle::base_space_poset::get_vertex_client_id_space_iterator(), fiber_bundle::base_space_poset::get_vertex_id_space_iterator(), and fiber_bundle::base_space_poset::get_zone_id_space_iterator().
sheaf::index_space_iterator & sheaf::index_space_family::get_id_space_iterator | ( | pod_type | xspace_id | ) | const |
Allocates an id space iterator from the iterator pool attached to state with id xspace_id.
Definition at line 2461 of file index_space_family.cc.
References collection(), contains(), sheaf::index_space_collection::get_id_space_iterator(), sheaf::index_space_iterator::is_attached(), sheaf::index_space_collection::local_scope(), and release_id_space_iterator().
Glues xid to xrep; adds xid to the equivalence class with representative member xrep.
Definition at line 1998 of file index_space_family.cc.
References _hub_id_space, sheaf::hub_index_space_handle::glue(), glued_hub_pod(), hub_id_space(), invariant(), and unglue().
Referenced by is_persistent().
sheaf::index_space_family::pod_type sheaf::index_space_family::glued_hub_pod | ( | const std::string & | xname, |
pod_type | xid | ||
) | const |
The pod index in the glued hub id space equivalent to xid in the id space with name xname.
Definition at line 1899 of file index_space_family.cc.
References _name_to_index, contains(), contains_glued_hub(), sheaf::name_multimap::index(), and sheaf::is_valid().
Referenced by glue(), sheaf::scoped_index::glued_hub_pod(), and unglued_hub_pod().
sheaf::index_space_family::pod_type sheaf::index_space_family::glued_hub_pod | ( | pod_type | xspace_id, |
pod_type | xid | ||
) | const |
The pod index in the glued hub id space equivalent to xid in the id space with id xspace_id.
Definition at line 1920 of file index_space_family.cc.
References contains(), contains_glued_hub(), sheaf::explicit_index_space_handle::glued_hub_pod(), hub_id_space(), is_persistent(), sheaf::is_valid(), and unglued_hub_pod().
bool sheaf::index_space_family::handle_conforms_to_state | ( | const std::string & | xname | ) | const |
True if handle of type T conforms to the state with name xname.
Definition at line 235 of file index_space_family.impl.h.
References contains(), get_id_space(), and release_id_space().
Referenced by sheaf::crg_interval::cover_is_explicit(), sheaf::crg_interval::force_explicit_cover(), get_id_space(), sheaf::subposet_state::put_id_space(), and sheaf::id_space_names_record::transfer_poset_to_internal_buffer().
bool sheaf::index_space_family::handle_conforms_to_state | ( | pod_type | xspace_id | ) | const |
True if handle of type T conforms to the state with id xspace_id.
Definition at line 261 of file index_space_family.impl.h.
References contains(), get_id_space(), and release_id_space().
bool sheaf::index_space_family::has_gathered_hub_id_space | ( | ) | const |
True if there is a gathered hub id space for this family.
Definition at line 986 of file index_space_family.cc.
References _hub_id_space, gathered_hub_id_space_excludes_bottom(), and sheaf::hub_index_space_handle::has_gathered_id_space().
Referenced by gathered_hub_id_space(), new_gathered_hub_id_space(), and update_gathered_hub_id_space().
bool sheaf::index_space_family::has_gluing | ( | ) | const |
Ture if there is any gluing in the hub id space.
Definition at line 2068 of file index_space_family.cc.
References _hub_id_space, sheaf::hub_index_space_handle::has_gluing(), and new_product_structure().
Referenced by unglue_all().
bool sheaf::index_space_family::has_only_standard_id_spaces | ( | ) | const |
True if and only if all the id spaces are standard id spaces.
Definition at line 245 of file index_space_family.cc.
References _end, _standard_end, and update_standard_id_spaces().
Referenced by clear_id_spaces(), end(), and update_standard_id_spaces().
bool sheaf::index_space_family::has_product_structure | ( | const std::string & | xname | ) | const |
True if the id space with name xname has a product structure.
Definition at line 2288 of file index_space_family.cc.
References _name_to_index, contains(), and sheaf::name_multimap::index().
Referenced by delete_product_structure(), new_product_structure(), product_structure(), and product_structure_conforms_to().
bool sheaf::index_space_family::has_product_structure | ( | pod_type | xspace_id | ) | const |
True if the id space with id xspace_id has a product structure.
Definition at line 2309 of file index_space_family.cc.
References collection(), contains(), get_id_space(), sheaf::index_space_collection::has_product_structure(), and sheaf::index_space_collection::local_scope().
sheaf::index_space_family::pod_type sheaf::index_space_family::hub_begin | ( | const std::string & | xname | ) | const |
Beginning id of the space in the hub id space with name xname.
Definition at line 1334 of file index_space_family.cc.
References _name_to_index, contains(), and sheaf::name_multimap::index().
Referenced by end().
sheaf::index_space_family::pod_type sheaf::index_space_family::hub_begin | ( | pod_type | xspace_id | ) | const |
Beginning id of the space in the hub id space with id xspace_id.
Definition at line 1355 of file index_space_family.cc.
References sheaf::index_space_collection::begin(), collection(), contains(), sheaf::index_space_collection::hub_pod(), is_gathered(), and sheaf::index_space_collection::local_scope().
const sheaf::hub_index_space_handle & sheaf::index_space_family::hub_id_space | ( | ) | const |
The hub id space of this family.
Definition at line 900 of file index_space_family.cc.
References _hub_id_space, and new_gathered_hub_id_space().
Referenced by clear_id_spaces(), contains_glued_hub(), delete_id(), delete_interval(), delete_primary_state(), delete_space(), sheaf::poset_state_handle::dof_tuple_hub_id_space(), extend_last_term(), glue(), glued_hub_pod(), sheaf::index_space_handle::hub_id_space(), sheaf::index_space_collection::hub_id_space(), sheaf::crg_interval::hub_id_space(), sheaf::explicit_index_space_state::hub_id_space(), sheaf::index_space_family_iterator::hub_id_space(), sheaf::index_space_interval_iterator::hub_id_space(), sheaf::index_space_iterator::hub_id_space(), sheaf::index_equivalence_class::index_equivalence_class(), sheaf::index_equivalence_iterator::index_equivalence_iterator(), last_term(), sheaf::poset_state_handle::member_hub_id_space(), new_id(), sheaf::singleton_index_space_handle::new_space(), sheaf::singleton_index_space_state::new_space(), fiber_bundle::i_connectivity_index_space_interval::new_space(), fiber_bundle::i_adjacency_index_space_interval::new_space(), fiber_bundle::ijk_connectivity_index_space_interval::new_space(), fiber_bundle::ij_adjacency_index_space_interval::new_space(), fiber_bundle::ij_connectivity_index_space_interval::new_space(), fiber_bundle::ijk_adjacency_index_space_interval::new_space(), sheaf::operator<<(), sheaf::index_equivalence_iterator::put_rep_id(), sheaf::index_equivalence_iterator::rep_id(), sheaf::poset_state_handle::subposet_hub_id_space(), unglue(), unglue_all(), and update_standard_id_spaces().
|
static |
Name of the hub id space.
Definition at line 1024 of file index_space_family.cc.
References is_valid_reserved_id(), and sheaf::poset_path::reserved_prefix().
Referenced by delete_space(), gathered_hub_id_space_excludes_bottom(), index_space_family(), and invariant().
sheaf::index_space_family::pod_type sheaf::index_space_family::hub_pod | ( | const std::string & | xname, |
pod_type | xid | ||
) | const |
The pod index in the unglued hub id space equivalent to xid in the id space with name xname. synonym for unglued_hub_pod(xname, xid).
Definition at line 1812 of file index_space_family.cc.
References contains(), contains_hub(), sheaf::is_valid(), and unglued_hub_pod().
Referenced by pod().
sheaf::index_space_family::pod_type sheaf::index_space_family::hub_pod | ( | pod_type | xspace_id, |
pod_type | xid | ||
) | const |
The pod index in the unglued hub id space equivalent to xid in the id space with id xspace_id. synonym for unglued_hub_pod(xspace_id, xid).
Definition at line 1833 of file index_space_family.cc.
References contains(), contains_hub(), sheaf::is_valid(), and unglued_hub_pod().
sheaf::index_space_family::pod_type sheaf::index_space_family::index | ( | const std::string & | xname | ) | const |
The index for name xname.
Definition at line 122 of file index_space_family.cc.
References _name_to_index, contains(), sheaf::name_multimap::index(), sheaf::is_valid(), and put_name().
Referenced by sheaf::index_space_iterator::attach_to(), sheaf::index_space_handle::attach_to(), sheaf::index_space_iterator::conforms_to_state(), sheaf::index_space_handle::conforms_to_state(), delete_interval(), delete_primary_state(), delete_space(), and name().
|
protected |
Inserts an id space interval into this family.
Definition at line 622 of file index_space_family.cc.
References _end, _intervals, sheaf::index_space_interval::begin(), delete_interval(), sheaf::index_space_interval::end(), and end().
Referenced by delete_state().
|
virtual |
Class invariant.
Reimplemented from sheaf::any.
Definition at line 2557 of file index_space_family.cc.
References begin(), contains(), sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), hub_id_space_name(), sheaf::any::invariant(), sheaf::any::invariant_check(), and sheaf::operator<<().
Referenced by clear_id_spaces(), delete_interval(), delete_primary_state(), delete_space(), delete_state(), glue(), index_space_family(), is_ancestor_of(), new_primary_state(), new_state(), unglue(), and unglue_all().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from sheaf::any.
Definition at line 2536 of file index_space_family.cc.
References invariant().
Referenced by allocated_id_space_iterator().
bool sheaf::index_space_family::is_empty | ( | const std::string & | xname | ) | const |
True if there are no ids in the space with name xname.
Definition at line 1202 of file index_space_family.cc.
References _name_to_index, contains(), and sheaf::name_multimap::index().
Referenced by ct(), extend_last_term(), last_term(), and sheaf::storage_agent::state_is_consistent().
bool sheaf::index_space_family::is_empty | ( | pod_type | xspace_id | ) | const |
True if there are no ids in the space with id xspace_id.
Definition at line 1223 of file index_space_family.cc.
References begin(), contains(), and ct().
bool sheaf::index_space_family::is_explicit_interval | ( | pod_type | xid | ) |
True, if and only if the id space interval that contains index xid is an explicit interval.
Definition at line 445 of file index_space_family.cc.
References collection(), and new_primary_state().
Referenced by delete_space(), sheaf::reserved_primary_index_space_state::new_space(), sheaf::singleton_index_space_state::new_space(), sheaf::offset_index_space_state::new_space(), sheaf::primary_index_space_state::new_space(), sheaf::primitives_index_space_state::new_space(), sheaf::array_index_space_state::new_space(), sheaf::list_index_space_state::new_space(), sheaf::hash_index_space_state::new_space(), fiber_bundle::section_space_schema_jims_index_space_state::new_space(), sheaf::interval_index_space_state::new_space(), sheaf::primary_sum_index_space_state::new_space(), sheaf::explicit_index_space_state::new_state(), and reserve_next_explicit_id().
bool sheaf::index_space_family::is_gathered | ( | const std::string & | xname | ) | const |
True if begin(xspace_id) == 0 and end(xspace_id) == ct(xspace_id).
Definition at line 1379 of file index_space_family.cc.
References _name_to_index, contains(), and sheaf::name_multimap::index().
Referenced by hub_begin(), new_gathered_hub_id_space(), and update_gathered_hub_id_space().
bool sheaf::index_space_family::is_gathered | ( | pod_type | xspace_id | ) | const |
True if begin(xspace_id) == 0 and end(xspace_id) == ct(xspace_id).
Definition at line 1400 of file index_space_family.cc.
References begin(), contains(), ct(), and end().
bool sheaf::index_space_family::is_persistent | ( | const std::string & | xname | ) | const |
True if the id space with name xname should be written to disk.
Definition at line 1942 of file index_space_family.cc.
References _name_to_index, contains(), and sheaf::name_multimap::index().
Referenced by glued_hub_pod(), sheaf::operator<<(), and fiber_bundle::section_space_schema_member::update_row_cache().
bool sheaf::index_space_family::is_persistent | ( | pod_type | xspace_id | ) | const |
True if the id space with id xspace_id should be written to disk.
Definition at line 1963 of file index_space_family.cc.
References collection(), contains(), glue(), sheaf::index_space_collection::is_persistent(), and sheaf::index_space_collection::local_scope().
bool sheaf::index_space_family::is_valid_reserved_id | ( | pod_type | xid | ) | const |
True if and only if the reserved term containing xid is already a reserved term or is available for allocation.
Definition at line 1043 of file index_space_family.cc.
References _hub_id_space, sheaf::hub_index_space_handle::is_valid_reserved_id(), and term_of().
Referenced by hub_id_space_name(), and new_id().
const sheaf::index_space_handle & sheaf::index_space_family::last_term | ( | ) | const |
The last term in the hub id space.
Definition at line 1100 of file index_space_family.cc.
References _hub_id_space, extend_last_term(), hub_id_space(), is_empty(), and sheaf::sum_index_space_handle::last_term().
Referenced by extend_last_term(), and term_of().
|
static |
Maximum number of representive ids which are permitted by the stream insertion operator to output the equivalence class.
Definition at line 354 of file index_space_family.cc.
References delete_space().
Referenced by clear_id_spaces(), and sheaf::operator<<().
std::string sheaf::index_space_family::name | ( | pod_type | xid | ) | const |
The name for id xid.
Definition at line 103 of file index_space_family.cc.
References _name_to_index, contains(), index(), and sheaf::name_multimap::name().
Referenced by sheaf::index_space_family_iterator::name(), sheaf::index_space_iterator::name(), sheaf::index_space_handle::name(), sheaf::explicit_index_space_state::new_state(), sheaf::operator<<(), and ~index_space_family().
const sheaf::index_space_handle & sheaf::index_space_family::new_gathered_hub_id_space | ( | bool | xexclude_bottom | ) |
Create a gathered hub id space for this family. If xexclude_bottom, construct the id space without BOTTOM_INDEX.
Definition at line 919 of file index_space_family.cc.
References _hub_id_space, gathered_hub_id_space(), gathered_hub_id_space_excludes_bottom(), has_gathered_hub_id_space(), is_gathered(), sheaf::hub_index_space_handle::new_gathered_id_space(), and update_gathered_hub_id_space().
Referenced by hub_id_space().
sheaf::index_space_family::pod_type sheaf::index_space_family::new_id | ( | ) |
Allocate the next available id in this family.
Definition at line 841 of file index_space_family.cc.
References _hub_id_space, contains(), hub_id_space(), and sheaf::hub_index_space_handle::new_id().
Referenced by explicit_interval_size().
sheaf::index_space_family::pod_type sheaf::index_space_family::new_id | ( | pod_type | xid | ) |
Allocate an xid in this family.
Definition at line 860 of file index_space_family.cc.
References _hub_id_space, contains(), delete_id(), hub_id_space(), is_valid_reserved_id(), and sheaf::hub_index_space_handle::new_id().
|
protected |
Creates a new primary id space state with xct number of ids. Returns the index of the id space state created.
Definition at line 467 of file index_space_family.cc.
References _hub_id_space, contains(), invariant(), and sheaf::hub_index_space_handle::new_primary_term().
Referenced by is_explicit_interval().
|
protected |
Creates a new primary id space state [xid, xid+xct). Returns the index of the id space state created.
Definition at line 487 of file index_space_family.cc.
References _hub_id_space, contains(), delete_primary_state(), invariant(), and sheaf::hub_index_space_handle::new_primary_term().
void sheaf::index_space_family::new_product_structure | ( | const std::string & | xname, |
const abstract_product_structure & | xproduct | ||
) |
Creates a new product structure for the id space with name xname by cloning the product structure, xproduct.
Definition at line 2098 of file index_space_family.cc.
References _name_to_index, contains(), has_product_structure(), and sheaf::name_multimap::index().
Referenced by has_gluing().
void sheaf::index_space_family::new_product_structure | ( | pod_type | xspace_id, |
const abstract_product_structure & | xproduct | ||
) |
Creates a new product structure for the id space with id xspace_id by cloning the product structure, xproduct.
Definition at line 2120 of file index_space_family.cc.
References collection(), contains(), delete_product_structure(), has_product_structure(), sheaf::index_space_collection::local_scope(), and sheaf::index_space_collection::new_product_structure().
|
protected |
Create a new id space with class type xstate_class_name and name xname. Used by the I/O system to read secondary id spaces.
Definition at line 540 of file index_space_family.cc.
References contains(), delete_state(), sheaf::explicit_index_space_state::id_space_factory(), invariant(), and sheaf::explicit_index_space_state::new_state().
Referenced by delete_primary_state(), and sheaf::id_space_names_record::transfer_internal_buffer_to_poset().
sheaf::index_space_family::pod_type sheaf::index_space_family::pod | ( | const std::string & | xname, |
pod_type | xid | ||
) | const |
The pod index in the space with name xname equivalent to xid in the hub id space.
Definition at line 1725 of file index_space_family.cc.
References _name_to_index, contains(), sheaf::name_multimap::index(), and sheaf::is_valid().
Referenced by fiber_bundle::homogeneous_block_crg_interval::adjacency_space_id(), fiber_bundle::homogeneous_block_crg_interval::connectivity_space_id(), contains(), sheaf::scoped_index::in_range(), sheaf::scoped_index::operator%=(), sheaf::scoped_index::operator*=(), sheaf::scoped_index::operator+=(), sheaf::scoped_index::operator-=(), sheaf::scoped_index::operator/=(), sheaf::scoped_index::operator>>(), pod(), and sheaf::scoped_index::scoped_index().
sheaf::index_space_family::pod_type sheaf::index_space_family::pod | ( | pod_type | xspace_id, |
pod_type | xid | ||
) | const |
The pod index in the space with id xspace_id equivalent to xid in the hub id space.
Definition at line 1746 of file index_space_family.cc.
References collection(), contains(), sheaf::is_valid(), sheaf::index_space_collection::local_scope(), sheaf::index_space_collection::pod(), and pod().
sheaf::index_space_family::pod_type sheaf::index_space_family::pod | ( | const std::string & | xname, |
const scoped_index & | xid | ||
) | const |
The pod index in the space with name xname equivalent to xid. synonym for pod(xxspace_id, id.hub_pod()).
Definition at line 1770 of file index_space_family.cc.
References _name_to_index, contains(), sheaf::scoped_index::hub_pod(), sheaf::name_multimap::index(), sheaf::is_valid(), and pod().
sheaf::index_space_family::pod_type sheaf::index_space_family::pod | ( | pod_type | xspace_id, |
const scoped_index & | xid | ||
) | const |
The pod index in the space with id xspace_id equivalent to xid. synonym for pod(xxspace_id, id.hub_pod()).
Definition at line 1791 of file index_space_family.cc.
References contains(), hub_pod(), sheaf::scoped_index::hub_pod(), sheaf::is_valid(), and pod().
const sheaf::abstract_product_structure & sheaf::index_space_family::product_structure | ( | const std::string & | xname | ) | const |
The product structure for the id space with name xname (const version).
Definition at line 2190 of file index_space_family.cc.
References _name_to_index, contains(), has_product_structure(), and sheaf::name_multimap::index().
Referenced by delete_product_structure(), product_structure(), and product_structure_conforms_to().
const sheaf::abstract_product_structure & sheaf::index_space_family::product_structure | ( | pod_type | xspace_id | ) | const |
The product structure for the id space with id xspace_id (const version).
Definition at line 2213 of file index_space_family.cc.
References collection(), contains(), has_product_structure(), sheaf::index_space_collection::local_scope(), sheaf::index_space_collection::product_structure(), and product_structure().
sheaf::abstract_product_structure & sheaf::index_space_family::product_structure | ( | const std::string & | xname | ) |
The product structure for the id space with name xname (mutable version).
Definition at line 2239 of file index_space_family.cc.
References _name_to_index, contains(), has_product_structure(), sheaf::name_multimap::index(), and product_structure().
sheaf::abstract_product_structure & sheaf::index_space_family::product_structure | ( | pod_type | xspace_id | ) |
The product structure for the id space with id xspace_id (mutable version).
Definition at line 2262 of file index_space_family.cc.
References collection(), contains(), has_product_structure(), sheaf::index_space_collection::local_scope(), and sheaf::index_space_collection::product_structure().
const T & sheaf::index_space_family::product_structure | ( | const std::string & | xname | ) | const |
The product structure of type T for the id space with name xname (const version).
Definition at line 43 of file index_space_family.impl.h.
References contains(), has_product_structure(), and product_structure().
const T & sheaf::index_space_family::product_structure | ( | pod_type | xspace_id | ) | const |
The product structure of type T for the id space with id xspace_id (const version).
Definition at line 67 of file index_space_family.impl.h.
References contains(), has_product_structure(), and product_structure().
T & sheaf::index_space_family::product_structure | ( | const std::string & | xname | ) |
The product structure of type T for the id space with name xname (mutable version).
Definition at line 91 of file index_space_family.impl.h.
References contains(), has_product_structure(), and product_structure().
T & sheaf::index_space_family::product_structure | ( | pod_type | xspace_id | ) |
The product structure of type T for the id space with id xspace_id (mutable version).
Definition at line 115 of file index_space_family.impl.h.
References contains(), has_product_structure(), product_structure(), and product_structure_conforms_to().
bool sheaf::index_space_family::product_structure_conforms_to | ( | const std::string & | xname | ) | const |
True if the product structure for the id space with name xname conforms to type T.
Definition at line 139 of file index_space_family.impl.h.
References contains(), has_product_structure(), and product_structure().
Referenced by product_structure().
bool sheaf::index_space_family::product_structure_conforms_to | ( | pod_type | xspace_id | ) | const |
True if the product structure for the id space with id xspace_id conforms to type T.
Definition at line 162 of file index_space_family.impl.h.
References contains(), get_id_space(), has_product_structure(), and product_structure().
void sheaf::index_space_family::put_name | ( | pod_type | xid, |
const std::string & | xname | ||
) |
Associate name xname with id space index xid.
Definition at line 143 of file index_space_family.cc.
References _name_to_index, contains(), and sheaf::name_multimap::put_entry().
Referenced by index(), sheaf::explicit_index_space_state::new_state(), and sheaf::index_space_handle::put_name().
void sheaf::index_space_family::release_id_space | ( | index_space_handle & | xid_space | ) | const |
Returns the id space handle xid_space to the handle pool.
Definition at line 2389 of file index_space_family.cc.
References allocated_id_space(), collection(), and sheaf::index_space_handle::index().
Referenced by sheaf::sum_index_space_state::clear(), get_id_space(), handle_conforms_to_state(), fiber_bundle::sec_rep_space::release_branch_id_space(), sheaf::namespace_poset::release_member_poset_id_space(), sheaf::primary_sum_index_space_state::remove_term(), and sheaf::sum_index_space_state::~sum_index_space_state().
void sheaf::index_space_family::release_id_space_iterator | ( | index_space_iterator & | xitr | ) | const |
Returns the id space iterator xitr to the iterator pool.
Definition at line 2485 of file index_space_family.cc.
References allocated_id_space_iterator(), collection(), and sheaf::index_space_iterator::index().
Referenced by sheaf::crg_interval::force_explicit_cover(), get_id_space_iterator(), sheaf::implicit_crg_interval::get_private_data(), fiber_bundle::sec_rep_space::release_branch_id_space_iterator(), and sheaf::namespace_poset::release_member_poset_id_space_iterator().
|
protected |
Reserve the next available id for an explicit index space.
Definition at line 787 of file index_space_family.cc.
References _explicit_interval, _next_explicit_id, sheaf::explicit_index_space_interval::begin(), sheaf::explicit_index_space_interval::end(), explicit_interval_size(), is_explicit_interval(), and sheaf::explicit_index_space_interval::new_space().
Referenced by collection(), and sheaf::explicit_index_space_state::new_state().
const sheaf::index_space_handle & sheaf::index_space_family::term_of | ( | pod_type | xid | ) | const |
The term in the hub id space containing id xid.
Definition at line 1062 of file index_space_family.cc.
References _hub_id_space, and sheaf::sum_index_space_handle::term_of().
Referenced by is_valid_reserved_id().
const sheaf::index_space_handle & sheaf::index_space_family::term_of | ( | const scoped_index & | xid | ) | const |
The term in the hub id space containing id xid.
Definition at line 1081 of file index_space_family.cc.
References _hub_id_space, last_term(), and sheaf::sum_index_space_handle::term_of().
void sheaf::index_space_family::unglue | ( | pod_type | xid | ) |
Unglues xid; makes xid its own representative.
Definition at line 2023 of file index_space_family.cc.
References _hub_id_space, contains(), hub_id_space(), invariant(), sheaf::hub_index_space_handle::unglue(), and unglue_all().
Referenced by glue().
void sheaf::index_space_family::unglue_all | ( | pod_type | xrep_id | ) |
Unglue all ids glued to representative xrep_id; makes each id in the equivalence class of xrep_id its own representative.
Definition at line 2046 of file index_space_family.cc.
References _hub_id_space, has_gluing(), hub_id_space(), invariant(), and sheaf::hub_index_space_handle::unglue_all().
Referenced by unglue().
sheaf::index_space_family::pod_type sheaf::index_space_family::unglued_hub_pod | ( | const std::string & | xname, |
pod_type | xid | ||
) | const |
The pod index in the unglued hub id space equivalent to xid in the id space with name xname.
Definition at line 1854 of file index_space_family.cc.
References _name_to_index, contains(), contains_unglued_hub(), sheaf::name_multimap::index(), and sheaf::is_valid().
Referenced by contains_glued_hub(), glued_hub_pod(), hub_pod(), sheaf::scoped_index::hub_pod(), and sheaf::scoped_index::unglued_hub_pod().
sheaf::index_space_family::pod_type sheaf::index_space_family::unglued_hub_pod | ( | pod_type | xspace_id, |
pod_type | xid | ||
) | const |
The pod index in the unglued hub id space equivalent to xid in the id space with id xspace_id.
Definition at line 1875 of file index_space_family.cc.
References collection(), contains(), contains_unglued_hub(), glued_hub_pod(), sheaf::index_space_collection::hub_pod(), sheaf::is_valid(), and sheaf::index_space_collection::local_scope().
void sheaf::index_space_family::update_gathered_hub_id_space | ( | ) |
Update the gathered hub id space.
Definition at line 943 of file index_space_family.cc.
References _hub_id_space, gathered_hub_id_space(), has_gathered_hub_id_space(), is_gathered(), and sheaf::hub_index_space_handle::update_gathered_id_space().
Referenced by new_gathered_hub_id_space().
void sheaf::index_space_family::update_standard_id_spaces | ( | ) |
Update the initially allocated id spaces.
Definition at line 264 of file index_space_family.cc.
References _end, _hub_id_space, _standard_end, clear_id_spaces(), has_only_standard_id_spaces(), hub_id_space(), and sheaf::hub_index_space_handle::update_standard_ids().
Referenced by has_only_standard_id_spaces().
|
friend |
The deep size of index_space_family& xn.
Referenced by sheaf::deep_size().
|
protected |
Ending index of the id spaces.
Definition at line 189 of file index_space_family.h.
Referenced by clear_id_spaces(), delete_interval(), end(), has_only_standard_id_spaces(), insert_interval(), and update_standard_id_spaces().
|
protected |
The current explicit id space interval.
Definition at line 307 of file index_space_family.h.
Referenced by reserve_next_explicit_id().
|
protected |
The gathered hub id space.
Definition at line 416 of file index_space_family.h.
|
protected |
The hub id space.
Definition at line 411 of file index_space_family.h.
Referenced by clear_id_spaces(), delete_id(), delete_primary_state(), extend_last_term(), gathered_hub_id_space(), gathered_hub_id_space_excludes_bottom(), glue(), has_gathered_hub_id_space(), has_gluing(), hub_id_space(), index_space_family(), is_valid_reserved_id(), last_term(), new_gathered_hub_id_space(), new_id(), new_primary_state(), term_of(), unglue(), unglue_all(), update_gathered_hub_id_space(), and update_standard_id_spaces().
|
protected |
Map from id to id space interval.
Definition at line 302 of file index_space_family.h.
Referenced by clear_id_spaces(), collection(), sheaf::deep_size(), delete_interval(), insert_interval(), sheaf::index_space_family_iterator::next(), sheaf::index_space_family_iterator::reset(), and ~index_space_family().
|
protected |
Map from name to id space index.
Definition at line 179 of file index_space_family.h.
Referenced by begin(), contains(), contains_glued_hub(), contains_unglued_hub(), ct(), sheaf::deep_size(), delete_product_structure(), delete_space(), delete_state(), end(), get_id_space(), get_id_space_iterator(), glued_hub_pod(), has_product_structure(), hub_begin(), index(), is_empty(), is_gathered(), is_persistent(), name(), new_product_structure(), pod(), product_structure(), put_name(), and unglued_hub_pod().
|
protected |
The next available id for an explicit index space.
Definition at line 312 of file index_space_family.h.
Referenced by reserve_next_explicit_id().
|
protected |
Ending index of the standard id spaces.
Definition at line 194 of file index_space_family.h.
Referenced by clear_id_spaces(), has_only_standard_id_spaces(), and update_standard_id_spaces().