SheafSystem
0.0.0.0
|
Implementation of explicit_crg_interval intended only to support the product poset hack in section_space_schema_poset. More...
#include <standard_member_hack_crg_interval.h>
Friends | |
class | namespace_poset |
STANDARD_MEMBER_HACK_CRG_INTERVAL FACET | |
standard_member_hack_crg_interval () | |
Default Constructor; constructs an uninitialized interval. More... | |
virtual | ~standard_member_hack_crg_interval () |
Destructor. More... | |
COVER SET FACET | |
virtual void | initialize_lower_covers () |
Initialize the lower covers for this interval. More... | |
virtual void | initialize_upper_covers () |
Initialize the upper covers for this interval. More... | |
FACTORY FACET | |
virtual const std::string & | class_name () const |
The name of this class; provided to satisfy factory template. More... | |
ANY FACET | |
virtual bool | is_ancestor_of (const any *other) const |
Conformance test; true if other conforms to this. More... | |
virtual standard_member_hack_crg_interval * | clone () const |
Virtual constructor, makes a new instance of the same type as this. More... | |
virtual bool | invariant () const |
Class invariant. More... | |
Additional Inherited Members | |
Public Member Functions inherited from sheaf::explicit_crg_interval | |
explicit_crg_interval () | |
Default Constructor; constructs an uninitialized interval. More... | |
virtual | ~explicit_crg_interval () |
Destructor. More... | |
Public Member Functions inherited from sheaf::crg_interval | |
crg_interval () | |
Default Constructor; constructs an uninitialized interval. More... | |
virtual | ~crg_interval () |
Destructor. More... | |
pod_index_type | begin () const |
The beginning of the member interval; this emulates members in the interval [begin(), end()), includes interval member. More... | |
void | begin (scoped_index &result) const |
The beginning of the member interval; this emulates members in the interval [begin(), end()), includes interval member. More... | |
pod_index_type | end () const |
The end of the member interval. More... | |
void | end (scoped_index &result) const |
The end of the member interval. More... | |
size_type | size () const |
The number of members in the member interval. More... | |
bool | contains_member (pod_index_type xindex) const |
True if and only if the index xindex is contained in this interval. More... | |
bool | contains_member (const scoped_index &xindex) const |
True if and only if the index xindex is contained in this interval. More... | |
const index_space_family & | id_spaces () const |
The id space family for this interval. More... | |
const hub_index_space_handle & | hub_id_space () const |
The hub id space of this interval. More... | |
void | initialize_id_spaces (index_space_family &xid_spaces) |
Set the index space family to xid_spaces. More... | |
bool | id_spaces_initialized () const |
True if the index space family has been initialized. More... | |
const primary_index_space_handle & | local_id_space () const |
The local id space of this interval. More... | |
void | initialize_local_id_space (const index_space_handle &xlocal_id_space) |
Sets the local id space to xlocal_id_space and initializes local ids. More... | |
bool | local_id_space_initialized () const |
True if local id space has been initialized. More... | |
pod_index_type | cover_id_space_id (bool xlower, pod_index_type xmbr_index) const |
The id for the lower (xlower true) or upper (xlower false) cover id space with index xmbr_index. More... | |
bool | covers_initialized (bool xlower) const |
True if and only if the lower (xlower true) or upper (xlower false) covers has been initialized for this interval. More... | |
void | initialize_covers () |
Initialize the upper and lower covers for this interval. More... | |
bool | cover_is_explicit (bool xlower, pod_index_type xmbr_index) const |
True if and only if the lower (xlower true) or upper (xlower false) cover with index xmbr_index is explicit. More... | |
pod_index_type | force_explicit_cover (bool xlower, pod_index_type xmbr_index, bool xinitialize=true) |
The explicit lower (xlower true) or upper (xlower false) cover id space of the member with index xmbr_index; creates an explict cover id space if the cover id space is not already explicit and, if xinitialize, initializes it with the contents of the implicit cover id space, if any. Returns the space id of the explicit cover. More... | |
void | initialize (const namespace_poset &xnamespace) |
Sets is_initialized() == true; dummy routine provided to satisfy factory template. More... | |
virtual bool | is_initialized () const |
True if fully initialized. 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 inherited from sheaf::crg_interval | |
static std::string | local_id_space_name (pod_index_type xindex) |
The reserved name for the local id space of the ramge member with index xindex. More... | |
static factory< crg_interval > & | interval_factory () |
A factory for making descendants of this class. More... | |
static crg_interval * | new_interval (const std::string &xname) |
Creates a default constructed instance of the the class with name xname. More... | |
Protected Types inherited from sheaf::crg_interval | |
typedef unordered::unordered_map< pod_index_type, pod_index_type > | explicit_cover_map_type |
The type of the explicit cover maps.. More... | |
Protected Member Functions inherited from sheaf::explicit_crg_interval | |
Protected Member Functions inherited from sheaf::crg_interval | |
explicit_cover_map_type & | explicit_cover_map (bool xlower) |
The lower (xlower true) or upper (xlower false) map to explicit cover id spaces. More... | |
const explicit_cover_map_type & | explicit_cover_map (bool xlower) const |
The lower (xlower true) or upper (xlower false) map to explicit cover id spaces; const version. More... | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor More... | |
Static Protected Member Functions inherited from sheaf::crg_interval | |
static std::string | explicit_cover_name (bool xlower, const scoped_index &xmbr_index) |
Creates a name for the explicit cover id space for member with index, xmbr_index. More... | |
static std::string | explicit_cover_name (bool xlower, pod_index_type xmbr_index) |
Creates a name for the explicit cover id space for member with index, xmbr_index. More... | |
Protected Attributes inherited from sheaf::crg_interval | |
index_space_family * | _id_spaces |
The id space family of this interval. More... | |
bool | _id_spaces_initialized |
True if the id space family has been initialized. More... | |
primary_index_space_handle | _local_id_space |
The id space of this interval. More... | |
bool | _local_id_space_initialized |
True if local id space has been initialized. More... | |
pod_index_type | _lower_covers_begin |
The offset into the id space family for the interval of lower covers. More... | |
bool | _lower_covers_initialized |
True if and only if the lower cover is initialized. More... | |
pod_index_type | _upper_covers_begin |
The offset into the id space family for the interval of upper covers. More... | |
bool | _upper_covers_initialized |
True if and only if the upper cover is initialized. More... | |
explicit_cover_map_type | _explicit_upper_cover_map |
The map from ids to explicit upper cover id spaces. More... | |
explicit_cover_map_type | _explicit_lower_cover_map |
The map from ids to explicit lower cover id spaces. More... | |
Implementation of explicit_crg_interval intended only to support the product poset hack in section_space_schema_poset.
Definition at line 43 of file standard_member_hack_crg_interval.h.
sheaf::standard_member_hack_crg_interval::standard_member_hack_crg_interval | ( | ) |
Default Constructor; constructs an uninitialized interval.
Definition at line 38 of file standard_member_hack_crg_interval.cc.
References ~standard_member_hack_crg_interval().
|
virtual |
Destructor.
Definition at line 51 of file standard_member_hack_crg_interval.cc.
References initialize_lower_covers().
Referenced by standard_member_hack_crg_interval().
|
virtual |
The name of this class; provided to satisfy factory template.
Reimplemented from sheaf::explicit_crg_interval.
Definition at line 177 of file standard_member_hack_crg_interval.cc.
References is_ancestor_of().
Referenced by initialize_upper_covers().
|
virtual |
Virtual constructor, makes a new instance of the same type as this.
Reimplemented from sheaf::explicit_crg_interval.
Definition at line 237 of file standard_member_hack_crg_interval.cc.
References invariant().
Referenced by is_ancestor_of().
|
protectedvirtual |
Initialize the lower covers for this interval.
Reimplemented from sheaf::explicit_crg_interval.
Definition at line 101 of file standard_member_hack_crg_interval.cc.
References initialize_upper_covers(), and sheaf::LOWER.
Referenced by ~standard_member_hack_crg_interval().
|
protectedvirtual |
Initialize the upper covers for this interval.
Reimplemented from sheaf::explicit_crg_interval.
Definition at line 129 of file standard_member_hack_crg_interval.cc.
References class_name(), and sheaf::UPPER.
Referenced by initialize_lower_covers().
|
virtual |
Class invariant.
Reimplemented from sheaf::explicit_crg_interval.
Definition at line 257 of file standard_member_hack_crg_interval.cc.
Referenced by clone().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from sheaf::explicit_crg_interval.
Definition at line 217 of file standard_member_hack_crg_interval.cc.
References clone().
Referenced by class_name().