24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 29 #include "SheafSystem/tp.h" 112 virtual int d()
const;
142 virtual const std::string& class_name()
const;
147 static const std::string& static_class_name();
170 virtual bool is_ancestor_of(
const any_lite& xother)
const;
175 bool invariant()
const;
190 class SHEAF_DLL_SPEC
atp :
public tp 207 static const poset_path& standard_schema_path();
285 atp& operator=(
const atp& xother);
295 virtual const volatile_type& lite_prototype()
const;
300 virtual volatile_type* lite_type()
const;
306 bool is_p_form(
bool xauto_access)
const;
312 void put_is_p_form(
bool xauto_access);
318 bool is_p_vector(
bool xauto_access)
const;
324 void put_is_p_vector(
bool xauto_access);
367 virtual const std::string& class_name()
const;
372 static const std::string& static_class_name();
379 inline atp*
clone(
bool xnew_state,
bool xauto_access =
true)
const 381 return static_cast<atp*
>(
tp::clone(xnew_state, xauto_access));
399 host_type* host()
const;
423 bool is_ancestor_of(
const any* xother)
const;
428 virtual atp* clone()
const;
433 bool invariant()
const;
454 namespace atp_algebra
461 SHEAF_DLL_SPEC
void hook(
const atp& x0,
const atp& x1,
atp& xresult,
bool xauto_access);
475 template <
typename T0,
typename T1>
477 hook(
const T0& x0,
const T1& x1);
483 template <
typename T0,
typename T1>
485 hook(
const T0& x0,
const T1& x1,
bool xauto_access);
493 SHEAF_DLL_SPEC
void star(
const atp& x0,
atp& xresult,
bool xauto_access);
511 SHEAF_DLL_SPEC
void wedge(
const atp& x0,
const atp& x1,
atp& xresult,
bool xauto_access);
525 template <
typename T0,
typename T1>
527 wedge(
const T0& x0,
const T1& x1);
533 template <
typename T0,
typename T1>
535 wedge(
const T0& x0,
const T1& x1,
bool xauto_access);
544 #endif // ifndef ATP_H An antisymmetric tensor of degree p.
atp * clone(bool xnew_state, bool xauto_access=true) const
Make a new handle instance of current. Attach the new instance to a new state if xnew_state is true...
The default name space; a poset which contains other posets as members.
The standard fiber bundles name space; extends the standard sheaves namespace by defining base space...
A client handle for a general, abstract partially order set.
A path defined by a poset name and a member name separated by a forward slash ('/'). For example: "cell_definitions/triangle".
atp_space host_type
The type of host poset.
An antisymmetric tensor of degree p over an abstract vector space (volatile version).
A general tensor of "degree" p and given "variance" over an abstract vector space.
Abstract base class with useful features for all volatile objects.
Abstract base class with useful features for all objects.
Tensor types of degree P over VECTOR_TYPE. No generic implementation defined, must be specialized for...
An abstract antisymmetric tensor space of degree p.
An index within the external ("client") scope of a given id space.
SHEAF_DLL_SPEC tensor_variance hook(const tensor_variance &x0)
The variance of the hook of a tensor with variance x0.
A general tensor of degree p over an abstract vector space (volatile version). Volatile version does ...
atp_lite volatile_type
The associated volatile type.
virtual tp * clone() const
Make a new handle, no state instance of current.
int_type pod_index_type
The plain old data index type.
SHEAF_DLL_SPEC tensor_variance wedge(const tensor_variance &x0, const tensor_variance &x1)
The variance of the wedge of a tensor with variance x0 with a tnesor with variance x1...
An abstract client handle for a member of a poset.
SHEAF_DLL_SPEC tensor_variance star(const tensor_variance &x0, int xdd)
The variance of the Hodge star of a tensor with variance x0 over a vector space of dimension xdd...
Namespace for the fiber_bundles component of the sheaf system.
Row dofs type for class vd.