SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::discretization::forms::IsOperation Concept Reference

#include <operands.hpp>

Concept definition

template<typename OperationCandidate>
std::same_as<std::remove_cvref_t<OperationCandidate>, Operation::Value> ||
std::same_as<std::remove_cvref_t<OperationCandidate>, Operation::Gradient> ||
std::same_as<std::remove_cvref_t<OperationCandidate>, Operation::Divergence> ||
std::same_as<std::remove_cvref_t<OperationCandidate>, Operation::Curl> ||
std::same_as<std::remove_cvref_t<OperationCandidate>, Operation::NormalTrace>
Operation tag for evaluating a curl.
Definition operands.hpp:31
Operation tag for evaluating a divergence.
Definition operands.hpp:30
Operation tag for evaluating a gradient.
Definition operands.hpp:29
Operation tag for evaluating the normal flux along a boundary.
Definition operands.hpp:32
Operation tag for evaluating a value.
Definition operands.hpp:28

Detailed Description

@breif Concept to validate that sone type is a valid operation, if you extend Operation you should extend this concept.

Todo
Could C++26 reflection make keeping this and Operation parallel easier / more automatic since this code would live in the same translation unit?