21 #include "SheafSystem/explicit_crg_interval.h" 23 #include "SheafSystem/assert_contract.h" 24 #include "SheafSystem/explicit_index_space_interval.h" 25 #include "SheafSystem/factory.h" 26 #include "SheafSystem/index_space_family.h" 27 #include "SheafSystem/index_space_iterator.h" 172 static const std::string result(
"explicit_crg_interval");
181 sheaf::explicit_crg_interval::
292 result = xinclude_shallow ?
sizeof(xp) : 0;
virtual const std::string & class_name() const
The name of this class; provided to satisfy factory template.
index_space_family * _id_spaces
The id space family of this interval.
virtual bool invariant() const
Class invariant.
pod_index_type _lower_covers_begin
The offset into the id space family for the interval of lower covers.
virtual bool is_ancestor_of(const any *other) const
Conformance test; true if other conforms to this.
bool _lower_covers_initialized
True if and only if the lower cover is initialized.
bool _upper_covers_initialized
True if and only if the upper cover is initialized.
virtual void initialize_lower_covers()
Initialize the lower covers for this interval.
virtual void initialize_upper_covers()
Initialize the upper covers for this interval.
bool local_id_space_initialized() const
True if local id space has been initialized.
virtual explicit_crg_interval * clone() const
Virtual constructor, makes a new instance of the same type as this.
virtual bool invariant() const
Class invariant.
Abstract base class with useful features for all objects.
pod_index_type _upper_covers_begin
The offset into the id space family for the interval of upper covers.
SHEAF_DLL_SPEC size_t deep_size(const dof_descriptor_array &xp, bool xinclude_shallow=true)
The deep size of the referenced object of type dof_descriptor_array.
virtual ~explicit_crg_interval()
Destructor.
const bool UPPER
Selector for upper cover.
virtual bool is_initialized() const
True if fully initialized.
void disable_invariant_check() const
Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing inv...
void delete_space(pod_type xid)
Delete the id space with index xid.
const bool LOWER
Selector for lower cover.
size_type size() const
The number of members in the member interval.
bool invariant_check() const
True if invariant checking is enabled.
static factory< crg_interval > & interval_factory()
A factory for making descendants of this class.
bool id_spaces_initialized() const
True if the index space family has been initialized.
virtual pod_type begin(pod_type xlocal_id) const
Beginning id of the space with id xlocal_id.
bool covers_initialized(bool xlower) const
True if and only if the lower (xlower true) or upper (xlower false) covers has been initialized for t...
SHEAF_DLL_SPEC bool is_valid(pod_index_type xpod_index)
True if an only if xpod_index is valid.
explicit_crg_interval()
Default Constructor; constructs an uninitialized interval.
bool is_same_type(const any *other) const
True if other is the same type as this.
void enable_invariant_check() const
Enable invariant checking.
static const explicit_index_space_interval & new_space(index_space_family &xid_spaces, size_type xub)
Create a new interval of id spaces for explicit id spaces in the id space family xid_spaces with uppe...
Implementation of crg_interval for explicit members of the poset.