25 #ifndef SPARSE_SECTION_DOF_MAP_H 26 #define SPARSE_SECTION_DOF_MAP_H 28 #ifndef SHEAF_DLL_SPEC_H 29 #include "SheafSystem/sheaf_dll_spec.h" 32 #ifndef SECTION_DOF_MAP_H 33 #include "SheafSystem/section_dof_map.h" 36 #ifndef STD_UNORDERED_MAP_H 37 #include "SheafSystem/std_unordered_map.h" 63 virtual const std::string& class_name()
const;
68 static const std::string& static_class_name();
120 virtual bool invariant()
const;
131 return SPARSE_SECTION_DOF_TUPLE_ID;
201 typedef unordered::unordered_map<pod_index_type, double> val_map_type;
206 val_map_type _val_map;
220 virtual void* dof_tuple();
225 virtual const void* dof_tuple()
const;
230 virtual void get_dof_tuple(
void* xbuf,
size_t xbuflen)
const;
235 virtual void put_dof_tuple(
const void* xbuf,
size_t xbuflen);
246 virtual bool supports_xfr_opt()
const;
263 virtual void allocate_dofs();
270 static bool make_prototype();
276 #endif // ifndef SPARSE_SECTION_DOF_MAP_H The abstract map from section dof ids to section dof values of heterogeneous type.
virtual void get_dof(pod_index_type xdisc_id, pod_index_type xfiber_dof_id, void *xdof, size_type xdof_size) const =0
Copies the dof referred to by xdisc_id, xfiber_dof_id into xdof.
The standard fiber bundles name space; extends the standard sheaves namespace by defining base space...
virtual dof_tuple_type type_id() const
An identifer for the type of dof tuple this is.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
dof_tuple_type
Identifiers for dof tuple types.
A discontiguous tuple, discontiguous fiber representation of the abstract map from section dof ids to...
int_type pod_index_type
The plain old data index type.
virtual void put_dof(pod_index_type xdisc_id, pod_index_type xfiber_dof_id, const void *xdof, size_type xdof_size)=0
Sets the dof referred to by xdof_id to the value at xdof.
double default_value()
The default value; the value for dofs that are not stored in _val_map.
Namespace for the fiber_bundles component of the sheaf system.
A handle for a poset whose members are numerical representations of sections of a fiber bundle...