cppqed-multidiagonal 0.4.0
Multidiagonal sparse operator algebra for C++QED
Loading...
Searching...
No Matches
Traits.h File Reference
#include <boost/hana.hpp>
#include <boost/json.hpp>
#include <type_traits>
Include dependency graph for Traits.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  cppqedutils::ReferenceMF< State >
 Metafunction yielding the reference type of State. Defaults to State&. Specialized for view types to return the view itself, since views are already reference-like. More...
 
struct  cppqedutils::ConstReferenceMF< State >
 Metafunction yielding the const-reference type of State. Defaults to const State&. Specialized for view types to return a const view. More...
 

Namespaces

namespace  cppqedutils
 Namespace alias for Boost.Hana, used for compile-time sequences and heterogeneous containers.
 

Macros

#define FWD(x)   std::forward<decltype(x)>(x)
 Perfect-forwarding macro. Expands to std::forward<decltype(x)>(x), avoiding the need to repeat the type.
 

Typedefs

using cppqedutils::LogTree = json::object
 Namespace alias for Boost.JSON, used for structured logging and JSON serialization.
 
template<typename State >
using cppqedutils::Reference = typename ReferenceMF< State >::type
 Convenience alias for ReferenceMF<State>::type.
 
template<typename State >
using cppqedutils::ConstReference = typename ConstReferenceMF< State >::type
 Convenience alias for ConstReferenceMF<State>::type.
 

Functions

std::string cppqedutils::toStringJSON (auto &&v)
 Serializes any JSON-convertible value to a string via json::value_from.
 

Variables

template<typename T >
constexpr auto cppqedutils::passByValue_v =std::nullopt
 Primary template for the pass-by-value trait. Specializations are true for view types (e.g. MultiArrayView) and false for owning types (e.g. MultiArray). The primary template returns std::nullopt to signal the absence of a specialization.
 

Macro Definition Documentation

◆ FWD

#define FWD (   x)    std::forward<decltype(x)>(x)

Perfect-forwarding macro. Expands to std::forward<decltype(x)>(x), avoiding the need to repeat the type.