AIToolbox
A library that offers tools for AI problem solving.
TypeTraits.hpp File Reference
#include <type_traits>
#include <utility>
#include <concepts>
#include <cstddef>
#include <Eigen/Core>

Go to the source code of this file.

Classes

struct  AIToolbox::copy_const< CopiedType, ConstReference >
 This struct is used to copy constness from one type to another. More...
 

Namespaces

 AIToolbox
 

Typedefs

template<typename CopiedType , typename ConstReference >
using AIToolbox::copy_const_t = typename copy_const< CopiedType, ConstReference >::type
 

Variables

template<typename A , typename B >
concept AIToolbox::different_from = !std::same_as<A, B>
 This concept simplifies checking for non-void. More...
 
template<typename M >
concept AIToolbox::IsNaive2DMatrix
 This concept checks for a simple 2D accessible matrix. More...
 
template<typename M >
concept AIToolbox::IsNaive3DMatrix
 This concept checks for a simple 3D accessible matrix. More...
 
template<typename T >
concept AIToolbox::IsNaive2DTable
 This concept checks for a simple 2D accessible table. More...
 
template<typename T >
concept AIToolbox::IsNaive3DTable
 This concept checks for a simple 3D accessible table. More...
 
template<typename T >
concept AIToolbox::IsDerivedFromEigen = std::derived_from<T, Eigen::EigenBase<T>>
 This concept simplifies checking for non-void. More...
 
template<typename M >
concept AIToolbox::HasStateSpace
 This concept checks that getS() exists. More...
 
template<typename M >
concept AIToolbox::HasFixedActionSpace
 This concept checks that getA() exists. More...
 
template<typename M >
concept AIToolbox::HasVariableActionSpace
 This concept checks that getA(state) exists. More...
 
template<typename M >
concept AIToolbox::HasActionSpace = HasFixedActionSpace<M> || HasVariableActionSpace<M>
 This concept checks that some form of getA exists. More...
 
template<typename M >
concept AIToolbox::HasObservationSpace
 This concept checks that getO() exists. More...
 
template<typename M >
concept AIToolbox::HasIntegralStateSpace
 This concept checks that getS() returns size_t. More...
 
template<typename M >
concept AIToolbox::HasIntegralActionSpace
 This concept checks that getA returns size_t. More...
 
template<typename M >
concept AIToolbox::HasIntegralObservationSpace
 This concept checks that getO() returns size_t. More...
 
template<typename M >
concept AIToolbox::IsGenerativeModel
 This concept checks the minimum requirements for a generative model. More...