5#define FWD(x) std::forward<decltype(x)>(x)
7#include <boost/hana.hpp>
9namespace hana=boost::hana;
11#include <boost/json.hpp>
44template <
typename State>
struct ReferenceMF : std::type_identity<std::add_lvalue_reference_t<State>> {};
51template <
typename State>
struct ConstReferenceMF : std::type_identity<std::add_lvalue_reference_t<std::add_const_t<State>>> {};
#define FWD(x)
Perfect-forwarding macro. Expands to std::forward<decltype(x)>(x), avoiding the need to repeat the ty...
Definition Traits.h:5
A non-owning, strided view over a contiguous buffer. Should be passed by value.
Definition MultiArray.h:106
Definition MultiArrayComplex.h:59
Namespace alias for Boost.Hana, used for compile-time sequences and heterogeneous containers.
Definition MultiArray.h:17
constexpr auto passByValue_v
Primary template for the pass-by-value trait. Specializations are true for view types (e....
Definition Traits.h:38
typename ConstReferenceMF< State >::type ConstReference
Convenience alias for ConstReferenceMF<State>::type.
Definition Traits.h:54
std::string toStringJSON(auto &&v)
Serializes any JSON-convertible value to a string via json::value_from.
Definition Traits.h:27
json::object LogTree
Namespace alias for Boost.JSON, used for structured logging and JSON serialization.
Definition Traits.h:22
typename ReferenceMF< State >::type Reference
Convenience alias for ReferenceMF<State>::type.
Definition Traits.h:47
Metafunction yielding the const-reference type of State. Defaults to const State&....
Definition Traits.h:51
Metafunction yielding the reference type of State. Defaults to State&. Specialized for view types to ...
Definition Traits.h:44