SheafSystem
0.0.0.0
|
An abstract class that defines the product structure for an id space. More...
#include <abstract_product_structure.h>
ABSTRACT_PRODUCT_STRUCTURE FACET | |
typedef pod_index_type | pod_type |
The "plain old data" index type for this. More... | |
virtual | ~abstract_product_structure () |
Destructor. More... | |
virtual abstract_product_structure * | clone () const =0 |
Virtual constructor, makes a new instance of the same type as this. More... | |
virtual abstract_product_structure & | operator= (const abstract_product_structure &xother)=0 |
Assignment operator. More... | |
virtual bool | operator== (const abstract_product_structure &xother) const =0 |
True if this is equivalent to xother. More... | |
abstract_product_structure () | |
Default constructor; disabled. More... | |
abstract_product_structure (const abstract_product_structure &xother) | |
Copy constructor; disabled. More... | |
PRODUCT FACET | |
virtual size_type | d () const =0 |
The product dimension. More... | |
virtual size_type | ub (pod_type xi) const =0 |
The upper-bound for the dimension xi. More... | |
virtual void | ordinal (pod_type *xtuple, pod_type &xordinal) const =0 |
Tuple to ordinal conversion. More... | |
virtual void | tuple (pod_type xordinal, pod_type *xtuple) const =0 |
Ordinal to tuple conversion. More... | |
size_type | ordinal_ub () const |
The upper-bound of the ordinal. More... | |
virtual void | put_ubs (size_type *xubs)=0 |
Set the upper-bounds for this product structure. 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 () |
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... | |
An abstract class that defines the product structure for an id space.
Definition at line 42 of file abstract_product_structure.h.
The "plain old data" index type for this.
Definition at line 55 of file abstract_product_structure.h.
|
virtual |
|
inlineprotected |
Default constructor; disabled.
Definition at line 83 of file abstract_product_structure.h.
|
inlineprotected |
Copy constructor; disabled.
Definition at line 88 of file abstract_product_structure.h.
References sheaf::ordinal(), and sheaf::tuple().
|
pure virtual |
Virtual constructor, makes a new instance of the same type as this.
Is Abstract.
Reimplemented from sheaf::any.
Implemented in sheaf::ijk_product_structure, and sheaf::ij_product_structure.
Definition at line 49 of file abstract_product_structure.cc.
References sheaf::any::is_same_type(), and operator=().
Referenced by sheaf::explicit_index_space_state::new_product_structure(), sheaf::explicit_index_space_state::operator=(), and ~abstract_product_structure().
|
pure virtual |
The product dimension.
Is Abstract.
Implemented in sheaf::ijk_product_structure, and sheaf::ij_product_structure.
Definition at line 127 of file abstract_product_structure.cc.
References ub().
Referenced by operator==(), ordinal(), ordinal_ub(), put_ubs(), tuple(), and ub().
|
virtual |
Class invariant.
Reimplemented from sheaf::any.
Reimplemented in sheaf::ijk_product_structure, and sheaf::ij_product_structure.
Definition at line 295 of file abstract_product_structure.cc.
References sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), sheaf::any::invariant(), and sheaf::any::invariant_check().
Referenced by sheaf::ij_product_structure::invariant(), sheaf::ijk_product_structure::invariant(), is_ancestor_of(), and operator=().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from sheaf::any.
Reimplemented in sheaf::ijk_product_structure, and sheaf::ij_product_structure.
Definition at line 274 of file abstract_product_structure.cc.
References invariant().
Referenced by operator=(), operator==(), and put_ubs().
|
pure virtual |
Assignment operator.
Implemented in sheaf::ijk_product_structure, and sheaf::ij_product_structure.
Definition at line 71 of file abstract_product_structure.cc.
References invariant(), is_ancestor_of(), and operator==().
Referenced by clone().
|
pure virtual |
True if this is equivalent to xother.
Implemented in sheaf::ijk_product_structure, and sheaf::ij_product_structure.
Definition at line 93 of file abstract_product_structure.cc.
References d(), and is_ancestor_of().
Referenced by operator=().
|
pure virtual |
Tuple to ordinal conversion.
Implemented in sheaf::ijk_product_structure, and sheaf::ij_product_structure.
Definition at line 171 of file abstract_product_structure.cc.
References d(), ordinal_ub(), tuple(), and ub().
Referenced by ub().
sheaf::size_type sheaf::abstract_product_structure::ordinal_ub | ( | ) | const |
The upper-bound of the ordinal.
Definition at line 217 of file abstract_product_structure.cc.
References d(), put_ubs(), and ub().
Referenced by sheaf::ij_product_structure::ij_product_structure(), sheaf::ijk_product_structure::ijk_product_structure(), ordinal(), sheaf::ij_product_structure::ordinal(), sheaf::ijk_product_structure::ordinal(), tuple(), sheaf::ij_product_structure::tuple(), and sheaf::ijk_product_structure::tuple().
|
pure virtual |
Set the upper-bounds for this product structure.
Implemented in sheaf::ijk_product_structure, and sheaf::ij_product_structure.
Definition at line 241 of file abstract_product_structure.cc.
References d(), is_ancestor_of(), and ub().
Referenced by ordinal_ub().
|
pure virtual |
Ordinal to tuple conversion.
Implemented in sheaf::ijk_product_structure, and sheaf::ij_product_structure.
Definition at line 194 of file abstract_product_structure.cc.
References d(), ordinal_ub(), and ub().
Referenced by ordinal().
|
pure virtual |
The upper-bound for the dimension xi.
Implemented in sheaf::ijk_product_structure, and sheaf::ij_product_structure.
Definition at line 148 of file abstract_product_structure.cc.
References d(), and ordinal().
Referenced by d(), fiber_bundle::section_space_schema_jims_index_space_state::is_consistent(), ordinal(), ordinal_ub(), put_ubs(), and tuple().