Skip to content

Latest commit

 

History

History
39 lines (26 loc) · 1.08 KB

implementation_details.rst

File metadata and controls

39 lines (26 loc) · 1.08 KB

Implementation details

Policy-based design

Handling the combinatorial explosion of features; avoid paying for what we don't need

  • SizePolicy, StridePolicy, OffsetPolicy (compile time vs. runtime)
  • IndirectionPolicy (none, C-array, std::vector, custom, e.g. mfem::Array)
  • SubsettingPolicy (none, virtual parent, concrete parent)
  • OwnershipPolicy (local, sidre, other repository)

Feature diagram of OrderedSet policies (subset).

The figure shows how certain these policies interact with the subscript operator.

Simplifying mesh setup

  • Builder classes
    • Chained initialization using named-parameter idiom
  • Generator classes to simplify types