constraint.h File Reference
#include <functional>
#include <atomic>
#include <cstdint>
#include <mutex>
#include <map>
#include "ttg/util/span.h"
#include <boost/callable_traits.hpp>

Classes

struct  ttg::ConstraintBase< Key >
 
struct  ttg::SequencedKeysConstraint< Key, Ordinal, Compare, Mapper >
 
struct  ttg::SequencedKeysConstraint< Key, Ordinal, Compare, Mapper >::sequence_elem_t
 

Namespaces

 ttg
 top-level TTG namespace contains runtime-neutral functionality
 

Functions

template<typename Mapper , typename = std::enable_if_t<std::is_invocable_v<Mapper, std::decay_t<std::tuple_element_t<0, boost::callable_traits::args_t<Mapper>>>>>>
 ttg::SequencedKeysConstraint (Mapper &&) -> SequencedKeysConstraint< std::decay_t< std::tuple_element_t< 0, boost::callable_traits::args_t< Mapper >>>, std::decay_t< boost::callable_traits::return_type_t< Mapper >>, std::less< std::decay_t< boost::callable_traits::return_type_t< Mapper >>>, std::enable_if_t< std::is_invocable_v< Mapper, std::decay_t< std::tuple_element_t< 0, boost::callable_traits::args_t< Mapper >>>>, Mapper > >
 
template<typename Mapper , typename = std::enable_if_t<std::is_invocable_v<Mapper, std::decay_t<std::tuple_element_t<0, boost::callable_traits::args_t<Mapper>>>>>>
 ttg::SequencedKeysConstraint (Mapper &&, bool) -> SequencedKeysConstraint< std::decay_t< std::tuple_element_t< 0, boost::callable_traits::args_t< Mapper >>>, std::decay_t< boost::callable_traits::return_type_t< Mapper >>, std::less< std::decay_t< boost::callable_traits::return_type_t< Mapper >>>, std::enable_if_t< std::is_invocable_v< Mapper, std::decay_t< std::tuple_element_t< 0, boost::callable_traits::args_t< Mapper >>>>, Mapper > >
 
template<typename Key , typename Ordinal , typename Compare , typename Mapper >
 ttg::SequencedKeysConstraint (SequencedKeysConstraint< Key, Ordinal, Compare, Mapper > &&) -> SequencedKeysConstraint< Key, Ordinal, Compare, Mapper >
 
template<typename Key , typename Ordinal , typename Compare , typename Mapper >
 ttg::SequencedKeysConstraint (const SequencedKeysConstraint< Key, Ordinal, Compare, Mapper > &) -> SequencedKeysConstraint< Key, Ordinal, Compare, Mapper >
 
template<template< typename... > typename Constraint, typename... Args>
auto ttg::make_shared_constraint (Args &&... args)