YACLib
C++ library for concurrent tasks execution
Loading...
Searching...
No Matches
type_traits_impl.hpp File Reference
#include <yaclib/fwd.hpp>
#include <iterator>
#include <type_traits>
Include dependency graph for type_traits_impl.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  yaclib::detail::Head< T, Args... >
 
struct  yaclib::detail::IsInvocable< Func, Args >
 
struct  yaclib::detail::IsInvocable< Func, void >
 
struct  yaclib::detail::Invoke< Func, Args >
 
struct  yaclib::detail::Invoke< Func, void >
 
struct  yaclib::detail::IsInstantiationOf< Instance,... >
 
struct  yaclib::detail::IsInstantiationOf< Instance, Instance< Args... > >
 
struct  yaclib::detail::InstantiationType< Instance, T >
 
struct  yaclib::detail::InstantiationType< Instance, Instance< V > >
 
struct  yaclib::detail::InstantiationTypes< Instance, T >
 
struct  yaclib::detail::InstantiationTypes< Instance, Instance< V, T > >
 
struct  yaclib::detail::AsyncTypes< T >
 
struct  yaclib::detail::AsyncTypes< FutureBase< V, T > >
 
struct  yaclib::detail::AsyncTypes< Future< V, T > >
 
struct  yaclib::detail::AsyncTypes< FutureOn< V, T > >
 
struct  yaclib::detail::AsyncTypes< SharedFutureBase< V, T > >
 
struct  yaclib::detail::AsyncTypes< SharedFuture< V, T > >
 
struct  yaclib::detail::AsyncTypes< SharedFutureOn< V, T > >
 
struct  yaclib::detail::HasIteratorCategory< It, Tag, typename >
 
struct  yaclib::detail::HasIteratorCategory< It, Tag, std::void_t< typename std::iterator_traits< It >::iterator_category > >
 
struct  yaclib::detail::IsInputIterator< It, typename >
 
struct  yaclib::detail::IsInputIterator< It, std::void_t< decltype(*std::declval< const It & >()), decltype(++std::declval< It & >())> >
 
struct  yaclib::detail::IsSentinelFor< Sentinel, It, typename >
 
struct  yaclib::detail::IsSentinelFor< Sentinel, It, std::void_t< decltype(std::declval< const It & >()==std::declval< const Sentinel & >())> >
 
struct  yaclib::detail::IsInputRangePair< It, Sentinel >
 
struct  yaclib::detail::IsInputRange< Range, typename >
 
struct  yaclib::detail::IsInputRange< Range, std::void_t< RangeIterator< Range >, RangeSentinel< Range > > >
 
struct  yaclib::detail::HasConstantTimeDistance< It, Sentinel, typename >
 
struct  yaclib::detail::HasConstantTimeDistance< It, Sentinel, std::void_t< decltype(std::declval< const Sentinel & >() - std::declval< const It & >()), decltype(std::declval< const It & >() - std::declval< const Sentinel & >())> >
 

Namespaces

namespace  yaclib
 
namespace  yaclib::detail
 

Typedefs

template<typename Range >
using yaclib::detail::RangeIterator = std::decay_t< decltype(std::begin(std::declval< Range & >()))>
 
template<typename Range >
using yaclib::detail::RangeSentinel = std::decay_t< decltype(std::end(std::declval< Range & >()))>