20 #include "SheafSystem/schema_descriptor.h" 21 #include "SheafSystem/assert_contract.h" 22 #include "SheafSystem/std_string.h" 68 ensure(is_same_type(result));
90 (name == xother.
name) &&
91 (type == xother.
type) &&
109 if(invariant_check())
113 disable_invariant_check();
117 invariance(any::invariant());
125 enable_invariant_check();
149 type = NOT_A_PRIMITIVE_TYPE;
150 is_table_dof =
false;
155 ensure(name.empty());
156 ensure(type == NOT_A_PRIMITIVE_TYPE);
157 ensure(!is_table_dof);
180 ensure(*
this == xother);
198 is_table_dof = xis_table_dof;
202 ensure(name == xname);
203 ensure(type == xtype);
204 ensure(is_table_dof == xis_table_dof);
243 os <<
" " << xsd.
name schema_descriptor()
Default constructor.
virtual bool is_ancestor_of(const any *other) const
Conformance test; true if other conforms to this.
virtual ~schema_descriptor()
Destructor.
Abstract base class with useful features for all objects.
primitive_type
Type ids for sheaf primitives.
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.
bool operator==(const schema_descriptor &xother) const
Equality operator.
A description of a dof in a schema.
virtual bool invariant() const
Class invariant.
virtual schema_descriptor * clone() const
Virtual constructor, makes a new instance of the same type as this.
std::string name
The name of the dof described by this.
SHEAF_DLL_SPEC std::istream & operator>>(std::istream &is, dof_tuple_type &xdt)
Extract dof_tuple_type xdt from istream& is.
SHEAF_DLL_SPEC std::ostream & operator<<(std::ostream &os, const dof_descriptor_array &p)
Insert dof_descriptor_array& p into ostream& os.
bool is_table_dof
The role of the dof described by this; true if this describes a table dof.
primitive_type type
The type of the dof described by this.