33 #include "SheafSystem/at0.h" 34 #include "SheafSystem/at1.h" 35 #include "SheafSystem/atp.h" 36 #include "SheafSystem/binary_section_space_schema_poset.h" 37 #include "SheafSystem/e1.h" 38 #include "SheafSystem/e2.h" 39 #include "SheafSystem/e3.h" 40 #include "SheafSystem/ed.h" 41 #include "SheafSystem/gl3.h" 42 #include "SheafSystem/gln.h" 43 #include "SheafSystem/itp.h" 44 #include "SheafSystem/jcb.h" 45 #include "SheafSystem/jcb_e13.h" 46 #include "SheafSystem/jcb_e23.h" 47 #include "SheafSystem/jcb_e33.h" 48 #include "SheafSystem/jcb_ed.h" 49 #include "SheafSystem/met.h" 50 #include "SheafSystem/met_e1.h" 51 #include "SheafSystem/met_e2.h" 52 #include "SheafSystem/met_e3.h" 53 #include "SheafSystem/met_ed.h" 54 #include "SheafSystem/namespace_poset_member.h" 55 #include "SheafSystem/section_space_schema_poset.h" 56 #include "SheafSystem/sec_rep_descriptor.h" 57 #include "SheafSystem/sheaves_namespace.h" 58 #include "SheafSystem/storage_agent.h" 59 #include "SheafSystem/st2.h" 60 #include "SheafSystem/st2_e2.h" 61 #include "SheafSystem/st2_e3.h" 62 #include "SheafSystem/state_tuple.h" 63 #include "SheafSystem/state_tuple_component.h" 64 #include "SheafSystem/stp.h" 65 #include "SheafSystem/t11.h" 66 #include "SheafSystem/ternary_section_space_schema_poset.h" 67 #include "SheafSystem/tuple.h" 68 #include "SheafSystem/tuv.h" 69 #include "SheafSystem/vd.h" 74 void make_cell_definitions();
79 void make_tetrahedron();
80 void make_hexahedron();
84 void make_fiber_space_schema();
87 void make_section_space_definitions();
92 poset* cell_definitions;
93 poset* local_coordinates;
108 make_fiber_space_schema();
112 make_section_space_definitions();
117 sa.write_entire(*ns);
127 make_cell_definitions()
135 "local_coordinates_schema/local_coordinates_schema",
false);
137 cell_definitions =
new poset(ns, &local_coordinates_schema_mbr,
152 local_coordinates_schema_mbr.detach_from_state();
171 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/vertex",
false);
177 mbr.
put_name(
"vertex",
true,
false);
199 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/vertex",
false);
204 v0.put_name(
"edge-vertex 0",
true,
false);
207 v1.put_name(
"edge-vertex 1",
true,
false);
209 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/edge",
false);
210 pdof_map = &(local_coordinates_mbr.
dof_map());
213 e.put_name(
"edge",
true,
false);
215 e.create_cover_link(&v0);
216 e.create_cover_link(&v1);
218 e.detach_from_state();
219 v0.detach_from_state();
220 v1.detach_from_state();
240 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/vertex",
false);
245 v0.put_name(
"triangle-vertex 0",
true,
false);
248 v1.put_name(
"triangle-vertex 1",
true,
false);
251 v2.put_name(
"triangle-vertex 2",
true,
false);
253 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/edge",
false);
254 pdof_map = &(local_coordinates_mbr.
dof_map());
257 e0.put_name(
"triangle-edge 0",
true,
false);
258 e0.create_cover_link(&v0);
259 e0.create_cover_link(&v1);
271 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/triangle",
false);
272 pdof_map = &(local_coordinates_mbr.
dof_map());
275 t.put_name(
"triangle",
true,
false);
276 t.create_cover_link(&e0);
277 t.create_cover_link(&
e1);
278 t.create_cover_link(&
e2);
280 v0.detach_from_state();
281 v1.detach_from_state();
282 v2.detach_from_state();
283 e0.detach_from_state();
286 t.detach_from_state();
306 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/vertex",
false);
311 v0.put_name(
"quad-vertex 0",
true,
false);
314 v1.put_name(
"quad-vertex 1",
true,
false);
317 v2.put_name(
"quad-vertex 2",
true,
false);
320 v3.put_name(
"quad-vertex 3",
true,
false);
322 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/edge",
false);
323 pdof_map = &(local_coordinates_mbr.
dof_map());
326 e0.put_name(
"quad-edge 0",
true,
false);
327 e0.create_cover_link(&v0);
328 e0.create_cover_link(&v1);
345 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/quad",
false);
346 pdof_map = &(local_coordinates_mbr.
dof_map());
349 q.put_name(
"quad",
true,
false);
350 q.create_cover_link(&e0);
351 q.create_cover_link(&
e1);
352 q.create_cover_link(&
e2);
353 q.create_cover_link(&
e3);
355 v0.detach_from_state();
356 v1.detach_from_state();
357 v2.detach_from_state();
358 v2.detach_from_state();
359 v3.detach_from_state();
360 e0.detach_from_state();
364 q.detach_from_state();
384 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/vertex",
false);
389 v0.put_name(
"tetrahedron-vertex 0",
true,
false);
392 v1.put_name(
"tetrahedron-vertex 1",
true,
false);
395 v2.put_name(
"tetrahedron-vertex 2",
true,
false);
398 v3.put_name(
"tetrahedron-vertex 3",
true,
false);
400 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/edge",
false);
401 pdof_map = &(local_coordinates_mbr.
dof_map());
404 e0.put_name(
"tetrahedron-edge 0",
true,
false);
405 e0.create_cover_link(&v0);
406 e0.create_cover_link(&v1);
409 e1.
put_name(
"tetrahedron-edge 1",
true,
false);
414 e2.
put_name(
"tetrahedron-edge 2",
true,
false);
419 e3.
put_name(
"tetrahedron-edge 3",
true,
false);
424 e4.
put_name(
"tetrahedron-edge 4",
true,
false);
429 e5.put_name(
"tetrahedron-edge 5",
true,
false);
430 e5.create_cover_link(&v3);
431 e5.create_cover_link(&v0);
433 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/triangle",
false);
434 pdof_map = &(local_coordinates_mbr.
dof_map());
437 f0.put_name(
"tetrahedron-face 0",
true,
false);
438 f0.create_cover_link(&e0);
439 f0.create_cover_link(&
e1);
440 f0.create_cover_link(&
e2);
443 f1.put_name(
"tetrahedron-face 1",
true,
false);
444 f1.create_cover_link(&
e2);
445 f1.create_cover_link(&
e3);
446 f1.create_cover_link(&e5);
449 f2.put_name(
"tetrahedron-face 2",
true,
false);
450 f2.create_cover_link(&e5);
451 f2.create_cover_link(&
e4);
452 f2.create_cover_link(&e0);
455 f3.put_name(
"tetrahedron-face 3",
true,
false);
456 f3.create_cover_link(&
e1);
457 f3.create_cover_link(&
e3);
458 f3.create_cover_link(&
e4);
460 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/tetrahedron",
false);
461 pdof_map = &(local_coordinates_mbr.
dof_map());
464 t.put_name(
"tetrahedron",
true,
false);
465 t.create_cover_link(&f0);
466 t.create_cover_link(&f1);
467 t.create_cover_link(&f2);
468 t.create_cover_link(&f3);
470 v0.detach_from_state();
471 v1.detach_from_state();
472 v2.detach_from_state();
473 v3.detach_from_state();
474 e0.detach_from_state();
479 e5.detach_from_state();
480 f0.detach_from_state();
481 f1.detach_from_state();
482 f2.detach_from_state();
483 f3.detach_from_state();
484 t.detach_from_state();
504 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/vertex",
false);
509 v0.put_name(
"hexahedron-vertex 0",
true,
false);
512 v1.put_name(
"hexahedron-vertex 1",
true,
false);
515 v2.put_name(
"hexahedron-vertex 2",
true,
false);
518 v3.put_name(
"hexahedron-vertex 3",
true,
false);
521 v4.put_name(
"hexahedron-vertex 4",
true,
false);
524 v5.put_name(
"hexahedron-vertex 5",
true,
false);
527 v6.put_name(
"hexahedron-vertex 6",
true,
false);
530 v7.put_name(
"hexahedron-vertex 7",
true,
false);
532 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/edge",
false);
533 pdof_map = &(local_coordinates_mbr.
dof_map());
536 e0.put_name(
"hexahedron-edge 0",
true,
false);
537 e0.create_cover_link(&v0);
538 e0.create_cover_link(&v1);
541 e1.
put_name(
"hexahedron-edge 1",
true,
false);
546 e2.
put_name(
"hexahedron-edge 2",
true,
false);
551 e3.
put_name(
"hexahedron-edge 3",
true,
false);
556 e4.
put_name(
"hexahedron-edge 4",
true,
false);
561 e5.put_name(
"hexahedron-edge 5",
true,
false);
562 e5.create_cover_link(&v5);
563 e5.create_cover_link(&v6);
566 e6.put_name(
"hexahedron-edge 6",
true,
false);
567 e6.create_cover_link(&v6);
568 e6.create_cover_link(&v7);
571 e7.put_name(
"hexahedron-edge 7",
true,
false);
572 e7.create_cover_link(&v7);
573 e7.create_cover_link(&v4);
576 e8.put_name(
"hexahedron-edge 8",
true,
false);
577 e8.create_cover_link(&v3);
578 e8.create_cover_link(&v7);
581 e9.put_name(
"hexahedron-edge 9",
true,
false);
582 e9.create_cover_link(&v2);
583 e9.create_cover_link(&v6);
586 e10.put_name(
"hexahedron-edge 10",
true,
false);
587 e10.create_cover_link(&v1);
588 e10.create_cover_link(&v5);
591 e11.put_name(
"hexahedron-edge 11",
true,
false);
592 e11.create_cover_link(&v0);
593 e11.create_cover_link(&v4);
595 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/quad",
false);
596 pdof_map = &(local_coordinates_mbr.
dof_map());
599 f0.put_name(
"hexahedron-face 0",
true,
false);
600 f0.create_cover_link(&e0);
601 f0.create_cover_link(&
e1);
602 f0.create_cover_link(&
e2);
603 f0.create_cover_link(&
e3);
606 f1.put_name(
"hexahedron-face 1",
true,
false);
607 f1.create_cover_link(&
e4);
608 f1.create_cover_link(&e5);
609 f1.create_cover_link(&e6);
610 f1.create_cover_link(&e7);
613 f2.put_name(
"hexahedron-face 2",
true,
false);
614 f2.create_cover_link(&e10);
615 f2.create_cover_link(&e5);
616 f2.create_cover_link(&e9);
617 f2.create_cover_link(&
e1);
620 f3.put_name(
"hexahedron-face 3",
true,
false);
621 f3.create_cover_link(&e11);
622 f3.create_cover_link(&e7);
623 f3.create_cover_link(&e8);
624 f3.create_cover_link(&
e3);
627 f4.put_name(
"hexahedron-face 4",
true,
false);
628 f4.create_cover_link(&e0);
629 f4.create_cover_link(&e10);
630 f4.create_cover_link(&
e4);
631 f4.create_cover_link(&e11);
634 f5.put_name(
"hexahedron-face 5",
true,
false);
635 f5.create_cover_link(&
e2);
636 f5.create_cover_link(&e9);
637 f5.create_cover_link(&e6);
638 f5.create_cover_link(&e8);
642 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/hexahedron",
false);
643 pdof_map = &(local_coordinates_mbr.
dof_map());
646 h.put_name(
"hexahedron",
true,
false);
647 h.create_cover_link(&f0);
648 h.create_cover_link(&f1);
649 h.create_cover_link(&f2);
650 h.create_cover_link(&f3);
651 h.create_cover_link(&f4);
652 h.create_cover_link(&f5);
654 v0.detach_from_state();
655 v1.detach_from_state();
656 v2.detach_from_state();
657 v3.detach_from_state();
658 v4.detach_from_state();
659 v5.detach_from_state();
660 v6.detach_from_state();
661 v7.detach_from_state();
662 e0.detach_from_state();
667 e5.detach_from_state();
668 e6.detach_from_state();
669 e7.detach_from_state();
670 e8.detach_from_state();
671 e9.detach_from_state();
672 e10.detach_from_state();
673 e11.detach_from_state();
674 f0.detach_from_state();
675 f1.detach_from_state();
676 f2.detach_from_state();
677 f3.detach_from_state();
678 f4.detach_from_state();
679 f5.detach_from_state();
680 h.detach_from_state();
700 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/vertex",
false);
705 v0.put_name(
"wedge-vertex 0",
true,
false);
708 v1.put_name(
"wedge-vertex 1",
true,
false);
711 v2.put_name(
"wedge-vertex 2",
true,
false);
714 v3.put_name(
"wedge-vertex 3",
true,
false);
717 v4.put_name(
"wedge-vertex 4",
true,
false);
720 v5.put_name(
"wedge-vertex 5",
true,
false);
723 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/edge",
false);
724 pdof_map = &(local_coordinates_mbr.
dof_map());
727 e0.put_name(
"wedge-edge 0",
true,
false);
728 e0.create_cover_link(&v0);
729 e0.create_cover_link(&v1);
752 e5.put_name(
"wedge-edge 5",
true,
false);
753 e5.create_cover_link(&v5);
754 e5.create_cover_link(&v3);
757 e6.put_name(
"wedge-edge 6",
true,
false);
758 e6.create_cover_link(&v0);
759 e6.create_cover_link(&v3);
762 e7.put_name(
"wedge-edge 7",
true,
false);
763 e7.create_cover_link(&v1);
764 e7.create_cover_link(&v4);
767 e8.put_name(
"wedge-edge 8",
true,
false);
768 e8.create_cover_link(&v2);
769 e8.create_cover_link(&v5);
772 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/quad",
false);
773 pdof_map = &(local_coordinates_mbr.
dof_map());
776 f0.put_name(
"wedge-face 0",
true,
false);
777 f0.create_cover_link(&
e1);
778 f0.create_cover_link(&e8);
779 f0.create_cover_link(&
e4);
780 f0.create_cover_link(&e7);
783 f1.put_name(
"wedge-face 1",
true,
false);
784 f1.create_cover_link(&
e2);
785 f1.create_cover_link(&e6);
786 f1.create_cover_link(&e5);
787 f1.create_cover_link(&e8);
790 f2.put_name(
"wedge-face 2",
true,
false);
791 f2.create_cover_link(&e0);
792 f2.create_cover_link(&e7);
793 f2.create_cover_link(&
e3);
794 f2.create_cover_link(&e6);
797 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/triangle",
false);
798 pdof_map = &(local_coordinates_mbr.
dof_map());
801 f3.put_name(
"wedge-face 3",
true,
false);
802 f3.create_cover_link(&e0);
803 f3.create_cover_link(&
e1);
804 f3.create_cover_link(&
e2);
807 f4.put_name(
"wedge-face 4",
true,
false);
808 f4.create_cover_link(&
e3);
809 f4.create_cover_link(&
e4);
810 f4.create_cover_link(&e5);
812 local_coordinates_mbr.
attach_to_state(ns,
"local_coordinates/wedge",
false);
813 pdof_map = &(local_coordinates_mbr.
dof_map());
816 w.put_name(
"wedge",
true,
false);
818 w.create_cover_link(&f0);
819 w.create_cover_link(&f1);
820 w.create_cover_link(&f2);
821 w.create_cover_link(&f3);
822 w.create_cover_link(&f4);
824 v0.detach_from_state();
825 v1.detach_from_state();
826 v2.detach_from_state();
827 v3.detach_from_state();
828 v4.detach_from_state();
829 v5.detach_from_state();
831 e0.detach_from_state();
836 e5.detach_from_state();
837 e6.detach_from_state();
838 e7.detach_from_state();
839 e8.detach_from_state();
841 f0.detach_from_state();
842 f1.detach_from_state();
843 f2.detach_from_state();
844 f3.detach_from_state();
845 f4.detach_from_state();
847 w.detach_from_state();
859 make_fiber_space_schema()
866 poset* fiber_definitions =
new poset(ns, primitives_schema,
"fiber_space_schema");
878 state_tuple::make_standard_schema(*ns);
879 state_tuple_component::make_standard_schema(*ns);
886 tuv::make_standard_schema(*ns);
887 t11::make_standard_schema(*ns);
899 itp::make_standard_schema(*ns);
927 make_section_space_definitions()
935 sec_rep_descriptor::make_schema(ns);
936 section_space_schema_poset::make_schema(ns);
937 binary_section_space_schema_poset::make_schema(ns);
938 ternary_section_space_schema_poset::make_schema(ns);
942 poset* sec_rep_desc =
944 "sec_rep_descriptor_schema/sec_rep_descriptor_schema",
945 "sec_rep_descriptors" );
952 v_e_dlinear.
put_name(
"vertex_element_dlinear",
true,
false);
956 v_e_dlinear.
put_url(
"www.lpsweb.com/libSheaf/std_namespace.html");
962 e_e_const.
put_name(
"element_element_constant",
true,
false);
966 e_e_const.
put_url(
"www.lpsweb.com/libSheaf/std_namespace.html");
975 sec_defns->
put_name(
"section space definitions",
true,
false);
983 lm1.detach_from_state();
984 lm2.detach_from_state();
virtual void get_read_write_access(bool xrelease_read_only_access=false)
Get read write access to the state associated with this. If release_read_only_access is requested...
A client handle for a subposet.
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
virtual void schematize(subposet *xtable_dof_subposet, subposet *xrow_dof_subposet, bool xall_members=false)
Prepare this poset and its top member for use as a schema. If xall_members = true, schematize all other members as well.
virtual void create_cover_link(abstract_poset_member *xlesser)
Insert a link from this to lesser; make lesser <= this.
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
virtual void new_jim_state(poset_dof_map *xdof_map=0, bool xcopy_dof_map=false, bool xauto_access=true)
Creates a new jim (join-irreducible member) state in host() and attaches this to it. If xdof_map == 0 a new dof map is created. If xdof_map != 0 and xcopy_dof_map == false, xdof_map is used as the dof map. If xdof_map != 0 and xcopy_dof_map is true, a copy of xdof_map is used.
Euclidean vector space of dimension 4 (persistent version).
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
Euclidean vector space of dimension 2 (persistent version).
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
The default name space; a poset which contains other posets as members.
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
primitives_poset & primitives()
The poset of primitives for this namespace (mutable version)
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
virtual void get_read_write_access(bool xrelease_read_only_access=false)
Get read write access to the state associated with this. If release_read_only_access is requested...
std::string row_dof_subposet_name() const
The standard name for the row dof subposet associated with this schema member. Synonym for dof_subpos...
The standard sheaves name space.
The general, abstract map from dof ids to dof values.
Euclidean vector space of dimension 3 (persistent version).
T::row_dofs_type & row_dofs(T &x0)
The row dofs pod type for x0 (mutable version).
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
Euclidean vector space of dimension 1 (persistent version).
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
A client handle for a member of a namespace poset.
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
virtual schema_poset_member & schema()
The schema for this poset (mutable version).
void put_discretization_subposet_name(const std::string &xname)
Sets the name of the discretization subposet to xname.
A client handle for a mutable partially ordered set.
void put_evaluation_subposet_name(const std::string &xname)
Sets the name of the evaluation subposet to xname.
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
virtual void put_name(const std::string &xname, bool xunique, bool xauto_access)
Make xname a name for this; if xunique, make xname the only name.
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
virtual void release_access(bool xall=false) const
Release access. If xall is true, release all levels of access. Otherwise, release one level of access...
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
void put_evaluator_family_name(const std::string &xname)
Sets the name of the evaluator family to xname.
void put_url(const std::string &xurl)
Sets the url for a description of this representation to xurl.
virtual void detach_from_state()
Detach this handle from its state, if any.
void put_multiplicity(int xmultiplicity)
Sets the number of degrees of freedom associated with each (discretization member, fiber_schema member) pair.
total_poset_member * l_join(abstract_poset_member *other, bool xnew_jem=true)
lattice join of this with other, auto-, pre-, and self-allocated versions the lattice join is the lea...
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
T::table_dofs_type & table_dofs(T &x0)
The table dofs pod type for x0 (mutable version).
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
void attach_to_state(const namespace_poset *xns, const poset_path &xpath, bool xauto_access=true)
Attach to the state specified by path xpath in the namespace xns.
virtual void new_jim_state(poset_dof_map *xdof_map=0, bool xcopy_dof_map=false, bool xauto_access=true)
Creates a new jim (join-irreducible member) state in host() and attaches this to it. If xdof_map == 0 a new dof map is created. If xdof_map != 0 and xcopy_dof_map == false, xdof_map is used as the dof map. If xdof_map != 0 and xcopy_dof_map is true, a copy of xdof_map is used.
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
virtual poset_dof_map & dof_map(bool xrequire_write_access=false)
The map from schema member ids or client ids to dof values for this poset member (mutable version) ...
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
Namespace for the fiber_bundles component of the sheaf system.
std::string table_dof_subposet_name() const
The standard name for the table dof subposet associated with this schema member. Synonym for dof_subp...
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.
A client handle for a poset member which has been prepared for use as a schema.
Agent responsible for importing and exporting posets from an external name space which resides on dis...
A client handle for an unrestricted member of a poset. A total_poset_member is guaranteed not to be r...
A description for a section representation scheme.
static void make_standard_schema(namespace_poset &xns)
Creates the standard schema for this class in namespace xns.