21 #ifndef POSET_DOF_MAP_H 22 #define POSET_DOF_MAP_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 29 #include "SheafSystem/any.h" 32 #ifndef DOF_TUPLE_TYPE_H 33 #include "SheafSystem/dof_tuple_type.h" 36 #ifndef PRIMITIVE_VALUE_H 37 #include "SheafSystem/primitive_value.h" 40 #ifndef SCOPED_INDEX_H 41 #include "SheafSystem/scoped_index.h" 45 #include "SheafSystem/std_string.h" 51 class poset_state_handle;
52 class schema_poset_member;
54 class dof_map_factory;
71 virtual const std::string& class_name()
const;
76 static const std::string& static_class_name();
83 new_dof_map(
const std::string& xclass_name,
dof_tuple_type xsheaf_base_class_id);
110 virtual bool invariant()
const;
122 int xschema_version);
131 int xschema_version);
142 bool is_initialized()
const;
173 bool is_table_dof_map()
const;
242 size_t dof_tuple_ub()
const;
247 virtual void* dof_tuple() = 0;
252 virtual const void* dof_tuple()
const = 0;
257 virtual void get_dof_tuple(
void* xbuf,
size_t xbuflen)
const = 0;
262 virtual void put_dof_tuple(
const void* xbuf,
size_t xbuflen) = 0;
267 void get_dof_tuple(
arg_list& xargs)
const;
272 void put_dof_tuple(
const arg_list& xargs);
282 virtual void put_defaults();
287 unsigned int ref_ct()
const;
318 std::string to_string()
const;
328 virtual bool supports_xfr_opt()
const;
378 void put_dof_ct(
int xdof_ct);
383 void put_dof_tuple_ub(
size_t xub);
388 void put_ref_ct(
int xref_ct);
429 virtual void allocate_dofs() = 0;
451 #endif // ifndef POSET_DOF_MAP_H unsigned int _ref_ct
The number of references to this map /.
A client handle for a general, abstract partially order set.
bool _is_table_dof_map
True if this is a table dof map.
An abstract handle to a space of alternate integer identifiers (aliases) for a subset of a hub set of...
The general, abstract map from dof ids to dof values.
size_t _dof_tuple_ub
The size of the dof tuple.
Abstract base class with useful features for all objects.
A whitespace separated list of arguments. Insertion operaters are used to insert arguments into the l...
A factory for instanting descendants of an abstract type T, given the class name of the descendant...
An index within the external ("client") scope of a given id space.
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.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
scoped_index _index
The poset member for which this stores the dofs.
dof_tuple_type
Identifiers for dof tuple types.
int _dof_ct
The number of dofs in this map.
schema_poset_member * _schema
The schema on which this is instantiated.
int_type pod_index_type
The plain old data index type.
SHEAF_DLL_SPEC std::ostream & operator<<(std::ostream &os, const dof_descriptor_array &p)
Insert dof_descriptor_array& p into ostream& os.
Namespace for the sheaves component of the sheaf system.
Abstract object wrapper for an instance of a primitive type.
poset_state_handle * _host
The host of the poset member for which this stores the dofs.
A factory for creating dof maps.
A client handle for a poset member which has been prepared for use as a schema.
The data structure representing the table containing the dof tuples of the members of a poset...