base.hpp src/include/serif/discretization/blocks/blocks.hpp src/include/serif/discretization/blocks/fields.hpp src/include/serif/discretization/blocks/system_layout.hpp src/include/serif/solver/normalization/diagonal.hpp src/include/serif/solver/normalization/keys.hpp src/include/serif/solver/normalization/plan.hpp serif::discretization::blocks::block serif::discretization::blocks::residual_block_base serif::discretization::blocks::value_block_base serif::discretization::blocks::residual_block serif::discretization::blocks::value_block serif serif::discretization serif::discretization::blocks This file provides the base classes for residual and value blocks in the discretization framework. Emily M. Boudreaux #pragmaonce namespaceserif::discretization::blocks{ inlineconstexprintDYNAMIC_BLOCK_SIZE=-1; structblock{}; enumclassRepresentedValueKind{ value, residual }; structresidual_block_base:block{ staticconstexprintstatic_block_size=DYNAMIC_BLOCK_SIZE; }; structvalue_block_base:block{ staticconstexprintstatic_block_size=DYNAMIC_BLOCK_SIZE; }; template<intindex_value> structresidual_blockfinal:residual_block_base{ staticconstexprintindex=index_value; //ReSharperdisableonceCppNonExplicitConversionOperator constexproperatorint()constnoexcept{ returnindex; } }; template<intindex_value> structvalue_blockfinal:value_block_base{ staticconstexprintindex=index_value; //ReSharperdisableonceCppNonExplicitConversionOperator constexproperatorint()constnoexcept{ returnindex; } }; }