pairinteraction
A Rydberg Interaction Calculator
pairinteraction::traits Namespace Reference

Data Structures

struct  CrtpTraits
 Helper struct to extract types from a derived basis type. Must be specialized for each derived basis type. More...
 
struct  CrtpTraits< BasisAtom< Scalar > >
 
struct  CrtpTraits< BasisPair< Scalar > >
 
struct  CrtpTraits< OperatorAtom< Scalar > >
 
struct  CrtpTraits< OperatorPair< Scalar > >
 
struct  CrtpTraits< SystemAtom< Scalar > >
 
struct  CrtpTraits< SystemPair< Scalar > >
 
struct  FPTypeTraits
 Helper struct to extract the type from a floating point precision enum. More...
 
struct  FPTypeTraits< FloatType::FLOAT32 >
 
struct  FPTypeTraits< FloatType::FLOAT64 >
 
struct  NumTraits
 Helper struct to extract types from a numerical type. More...
 
struct  NumTraits< std::complex< Numeric > >
 
struct  OpTraits
 Helper struct to extract whether a type supports certain operations. More...
 

Typedefs

template<typename Scalar , FloatType FP>
using restricted_t = std::conditional_t< traits::NumTraits< Scalar >::is_complex_v, std::complex< typename FPTypeTraits< FP >::type >, typename FPTypeTraits< FP >::type >
 

Typedef Documentation

◆ restricted_t

template<typename Scalar , FloatType FP>
using pairinteraction::traits::restricted_t = typedef std::conditional_t<traits::NumTraits<Scalar>::is_complex_v, std::complex<typename FPTypeTraits<FP>::type>, typename FPTypeTraits<FP>::type>

Definition at line 90 of file traits.hpp.