SheafSystem  0.0.0.0
sheaf::standard_member_hack_crg_interval Class Reference

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>

Inheritance diagram for sheaf::standard_member_hack_crg_interval:
sheaf::explicit_crg_interval sheaf::crg_interval sheaf::any

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_intervalclone () 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_familyid_spaces () const
 The id space family for this interval. More...
 
const hub_index_space_handlehub_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_handlelocal_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_intervalnew_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_typeexplicit_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_typeexplicit_cover_map (bool xlower)
 The lower (xlower true) or upper (xlower false) map to explicit cover id spaces. More...
 
const explicit_cover_map_typeexplicit_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...
 

Detailed Description

Implementation of explicit_crg_interval intended only to support the product poset hack in section_space_schema_poset.

Hack:
Cartesian product subspace hack;

Definition at line 43 of file standard_member_hack_crg_interval.h.

Constructor & Destructor Documentation

◆ standard_member_hack_crg_interval()

sheaf::standard_member_hack_crg_interval::standard_member_hack_crg_interval ( )

Default Constructor; constructs an uninitialized interval.

Postcondition
  • !is_initialized()

Definition at line 38 of file standard_member_hack_crg_interval.cc.

References ~standard_member_hack_crg_interval().

◆ ~standard_member_hack_crg_interval()

sheaf::standard_member_hack_crg_interval::~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().

Member Function Documentation

◆ class_name()

const std::string & sheaf::standard_member_hack_crg_interval::class_name ( ) const
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().

◆ clone()

sheaf::standard_member_hack_crg_interval * sheaf::standard_member_hack_crg_interval::clone ( ) const
virtual

Virtual constructor, makes a new instance of the same type as this.

Postcondition
  • result != 0
  • is_same_type(result)

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().

◆ initialize_lower_covers()

void sheaf::standard_member_hack_crg_interval::initialize_lower_covers ( )
protectedvirtual

Initialize the lower covers for this interval.

Precondition
  • !covers_initialized(LOWER)
Postcondition
  • covers_initialized(LOWER)

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().

◆ initialize_upper_covers()

void sheaf::standard_member_hack_crg_interval::initialize_upper_covers ( )
protectedvirtual

Initialize the upper covers for this interval.

Precondition
  • !covers_initialized(UPPER)
Postcondition
  • covers_initialized(UPPER)

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().

◆ invariant()

bool sheaf::standard_member_hack_crg_interval::invariant ( ) const
virtual

Class invariant.

Invariant

Reimplemented from sheaf::explicit_crg_interval.

Definition at line 257 of file standard_member_hack_crg_interval.cc.

Referenced by clone().

◆ is_ancestor_of()

bool sheaf::standard_member_hack_crg_interval::is_ancestor_of ( const any other) const
virtual

Conformance test; true if other conforms to this.

Precondition
  • other != 0

Reimplemented from sheaf::explicit_crg_interval.

Definition at line 217 of file standard_member_hack_crg_interval.cc.

References clone().

Referenced by class_name().


The documentation for this class was generated from the following files: