|
| | Family (Laws laws={}) |
| | Capture dependent laws by value.
|
| |
template<detail::LawDefinition... Added>
requires detail::FamilyTraits<Selected, decltype(std::tuple_cat(std::declval<Laws>(), std::declval<std::tuple<Added...>>()))>::valid |
| auto | with (Added... laws) const &std |
| | Extend a copyable family without changing its independent coordinates.
|
| |
template<typename Model, typename EquationFactory = detail::CopyEquations>
requires detail::BindableFamily<Model, Selected, Laws> && std::copy_constructible<Laws> && std::invocable<const EquationFactory&, const typename Model::Equations&> |
| auto | bind (Model target, EquationFactory factory={}) const & |
| | Bind a reproducible model, using an explicit factory for move-only equation definitions when necessary.
|
| |
template<typename Model, typename EquationFactory = detail::CopyEquations>
requires detail::BindableFamily<Model, Selected, Laws> && std::invocable<const EquationFactory&, const typename Model::Equations&> |
| auto | bind (Model target, EquationFactory factory={}) && |
| | Bind a target while transferring ownership of move-only laws.
|
| |
template<typename Selected, typename Laws>
class serif::solver::continuation::Family< Selected, Laws >
Own a reusable physical family definition before selecting a target model.
template<typename Selected, typename Laws>
template<typename Model, typename EquationFactory = detail::CopyEquations>
requires detail::BindableFamily<Model, Selected, Laws> && std::invocable<const EquationFactory&, const typename Model::Equations&>
Bind a target while transferring ownership of move-only laws.
template<typename Selected, typename Laws>
template<typename Model, typename EquationFactory = detail::CopyEquations>
requires detail::BindableFamily<Model, Selected, Laws> && std::copy_constructible<Laws> && std::invocable<const EquationFactory&, const typename Model::Equations&>
Bind a reproducible model, using an explicit factory for move-only equation definitions when necessary.