#include <functional>
#include <tuple>
#include <type_traits>
#include <utility>
|
| template<typename Interior, typename Shape = NoShapeForce, typename Surface = NoSurfaceCondition> |
| | serif::model::EquilibriumEquations (Interior, Shape={}, Surface={}) -> EquilibriumEquations< Interior, Shape, Surface > |
| | Preserve every authored member when a declaration passes through a templated model factory.
|
| |
| template<typename Definition, typename Model> |
| decltype(auto) | serif::model::detail::resolve_equation_member (Definition &&definition, const Model &model) |
| | Evaluate a physical definition or retain its immutable object without requiring a copy.
|
| |
| template<typename Definition, typename Model> |
| auto | serif::model::detail::resolve_equation_members (Definition &&definition, const Model &model) |
| | Resolve each explicit part, owning temporary results and borrowing unchanged model members.
|
| |
template<typename Model>
requires requires(const Model& model) { model.equations(); } && EquilibriumEquationDescription<decltype(detail::resolve_equation_member(std::declval<const Model&>().equations(), std::declval<const Model&>()))> |
| auto | serif::model::resolve_equilibrium_equations (const Model &model) |
| | Resolve an explicit composition at binding; retain the model while the result borrows its members.
|
| |
template<typename Model>
requires (!std::is_lvalue_reference_v<Model>) |
| void | serif::model::resolve_equilibrium_equations (Model &&)=delete |
| | A temporary model cannot retain the equation members borrowed by the resolved description.
|
| |