MCKL
Monte Carlo Kernel Library
Classes | Namespaces | Macros | Typedefs
traits.hpp File Reference
#include <mckl/internal/config.h>
#include <mckl/internal/defines.hpp>
#include <type_traits>

Go to the source code of this file.

Classes

class  mckl::internal::BufferSize< T, K >
 
class  mckl::internal::HasSizeType< T >
 
class  mckl::internal::HasSizeTypeImpl< T >
 
class  mckl::internal::SizeTypeDispatch< T, bool >
 
class  mckl::internal::SizeTypeDispatch< T, false >
 
class  mckl::internal::SizeTypeDispatch< T, true >
 
class  mckl::SizeTypeTrait< T >
 Particle::size_type etc., traits. More...
 
class  mckl::SizeTypeTrait< T >
 Particle::size_type etc., traits. More...
 

Namespaces

 mckl
 
 mckl::internal
 

Macros

#define MCKL_DEFINE_TYPE_DISPATCH_TRAIT(Outer, Inner, Default)
 
#define MCKL_DEFINE_TYPE_TEMPLATE_DISPATCH_TRAIT(Outer, Inner, Default)
 

Typedefs

template<typename T >
using mckl::internal::is_blas_floating_point = std::integral_constant< bool, std::is_same< typename std::remove_cv< T >::type, float >::value||std::is_same< typename std::remove_cv< T >::type, double >::value >
 
template<typename T , typename RNGType , typename KeyType = typename RNGType::result_type>
using mckl::internal::is_seed_seq = std::integral_constant< bool, std::is_class< T >::value &&!std::is_convertible< T, RNGType >::value &&!std::is_convertible< T, typename RNGType::result_type >::value &&!std::is_convertible< T, KeyType >::value >
 
template<typename T >
using mckl::SizeType = typename SizeTypeTrait< T >::type
 

Macro Definition Documentation

◆ MCKL_DEFINE_TYPE_DISPATCH_TRAIT

#define MCKL_DEFINE_TYPE_DISPATCH_TRAIT (   Outer,
  Inner,
  Default 
)

Definition at line 39 of file traits.hpp.

◆ MCKL_DEFINE_TYPE_TEMPLATE_DISPATCH_TRAIT

#define MCKL_DEFINE_TYPE_TEMPLATE_DISPATCH_TRAIT (   Outer,
  Inner,
  Default 
)

Definition at line 101 of file traits.hpp.