rangeless::fn
rangeless::fn::impl::par_transform< F, Async >::gen< InGen > Struct Template Reference

#include <fn.hpp>

Classes

struct  value_type_callable
 

Public Types

using value_type = decltype(map_fn(std::move(*gen())))
 
using future_like_t = decltype(async(value_type_callable{}))
 
using queue_t = std::deque< future_like_t >
 

Public Member Functions

auto operator() () -> maybe< value_type >
 

Public Attributes

InGen gen
 
const Async async
 
const F map_fn
 
const size_t queue_cap
 
queue_t queue
 

Detailed Description

template<typename F, typename Async>
template<typename InGen>
struct rangeless::fn::impl::par_transform< F, Async >::gen< InGen >

Definition at line 6965 of file fn.hpp.

Member Typedef Documentation

◆ future_like_t

template<typename F , typename Async >
template<typename InGen >
using rangeless::fn::impl::par_transform< F, Async >::gen< InGen >::future_like_t = decltype(async(value_type_callable{}))

Definition at line 6988 of file fn.hpp.

◆ queue_t

template<typename F , typename Async >
template<typename InGen >
using rangeless::fn::impl::par_transform< F, Async >::gen< InGen >::queue_t = std::deque<future_like_t>

Definition at line 6989 of file fn.hpp.

◆ value_type

template<typename F , typename Async >
template<typename InGen >
using rangeless::fn::impl::par_transform< F, Async >::gen< InGen >::value_type = decltype(map_fn(std::move(*gen())))

Definition at line 6972 of file fn.hpp.

Member Function Documentation

◆ operator()()

template<typename F , typename Async >
template<typename InGen >
auto rangeless::fn::impl::par_transform< F, Async >::gen< InGen >::operator() ( ) -> maybe<value_type>
inline

Definition at line 6996 of file fn.hpp.

Member Data Documentation

◆ async

template<typename F , typename Async >
template<typename InGen >
const Async rangeless::fn::impl::par_transform< F, Async >::gen< InGen >::async

Definition at line 6968 of file fn.hpp.

◆ gen

template<typename F , typename Async >
template<typename InGen >
InGen rangeless::fn::impl::par_transform< F, Async >::gen< InGen >::gen

Definition at line 6967 of file fn.hpp.

◆ map_fn

template<typename F , typename Async >
template<typename InGen >
const F rangeless::fn::impl::par_transform< F, Async >::gen< InGen >::map_fn

Definition at line 6969 of file fn.hpp.

◆ queue

template<typename F , typename Async >
template<typename InGen >
queue_t rangeless::fn::impl::par_transform< F, Async >::gen< InGen >::queue

Definition at line 6992 of file fn.hpp.

◆ queue_cap

template<typename F , typename Async >
template<typename InGen >
const size_t rangeless::fn::impl::par_transform< F, Async >::gen< InGen >::queue_cap

Definition at line 6970 of file fn.hpp.


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