AIToolbox
A library that offers tools for AI problem solving.
AIToolbox::Impl::Matcher< N, std::tuple< FA, A... >, std::tuple< FB, B... >, IDs... > Struct Template Reference

#include <AIToolbox/Impl/FunctionMatching.hpp>

Public Types

using M = std::conditional_t< std::is_constructible_v< FA, FB > &&std::is_same_v< std::remove_cvref_t< FA >, std::remove_cvref_t< FB > >, Matcher< N+1, std::tuple< A... >, std::tuple< B... >, IDs..., N >, Matcher< N+1, std::tuple< FA, A... >, std::tuple< B... >, IDs... > >
 
using type = typename M::type
 

Static Public Attributes

static constexpr bool match = M::match
 

Member Typedef Documentation

◆ M

template<size_t N, typename FA , typename... A, typename FB , typename... B, size_t... IDs>
using AIToolbox::Impl::Matcher< N, std::tuple< FA, A... >, std::tuple< FB, B... >, IDs... >::M = std::conditional_t< std::is_constructible_v<FA, FB> && std::is_same_v<std::remove_cvref_t<FA>, std::remove_cvref_t<FB> >, Matcher<N+1, std::tuple<A...>, std::tuple<B...>, IDs..., N>, Matcher<N+1, std::tuple<FA, A...>, std::tuple<B...>, IDs...> >

◆ type

template<size_t N, typename FA , typename... A, typename FB , typename... B, size_t... IDs>
using AIToolbox::Impl::Matcher< N, std::tuple< FA, A... >, std::tuple< FB, B... >, IDs... >::type = typename M::type

Member Data Documentation

◆ match

template<size_t N, typename FA , typename... A, typename FB , typename... B, size_t... IDs>
constexpr bool AIToolbox::Impl::Matcher< N, std::tuple< FA, A... >, std::tuple< FB, B... >, IDs... >::match = M::match
staticconstexpr

The documentation for this struct was generated from the following file: