YACLib
C++ library for concurrent tasks execution
Loading...
Searching...
No Matches
yaclib::detail::AllCombinator< O, R, E > Class Template Reference

#include <when_all_impl.hpp>

Inheritance diagram for yaclib::detail::AllCombinator< O, R, E >:
[legend]
Collaboration diagram for yaclib::detail::AllCombinator< O, R, E >:
[legend]

Public Member Functions

void AddInput (ResultCore< V, E > &input) noexcept
 
- Public Member Functions inherited from yaclib::Job
virtual void Drop () noexcept
 
- Public Member Functions inherited from yaclib::IFunc
virtual void Call () noexcept
 
- Public Member Functions inherited from yaclib::IRef
virtual void IncRef () noexcept
 Increments reference counter.
 
virtual void DecRef () noexcept
 Decrements reference counter.
 
virtual ~IRef () noexcept=default
 

Static Public Member Functions

static std::pair< ResultPtr, AllCombinator * > Make (std::size_t count)
 

Protected Member Functions

 ~AllCombinator () noexcept override
 
 AllCombinator (ResultPtr &&core, std::size_t count) noexcept(std::is_void_v< R >)
 

Additional Inherited Members

- Public Attributes inherited from yaclib::detail::Node
Nodenext = nullptr
 
- Protected Types inherited from yaclib::detail::AllCombinatorBase< O, R >
using FutureValue = std::vector< R >
 
- Protected Attributes inherited from yaclib::detail::AllCombinatorBase< O, R >
yaclib_std::atomic_bool _done
 

Detailed Description

template<OrderPolicy O, typename R, typename E>
class yaclib::detail::AllCombinator< O, R, E >

Definition at line 78 of file when_all_impl.hpp.

Constructor & Destructor Documentation

◆ ~AllCombinator()

template<OrderPolicy O, typename R , typename E >
yaclib::detail::AllCombinator< O, R, E >::~AllCombinator ( )
inlineoverrideprotectednoexcept

◆ AllCombinator()

template<OrderPolicy O, typename R , typename E >
yaclib::detail::AllCombinator< O, R, E >::AllCombinator ( ResultPtr &&  core,
std::size_t  count 
)
inlineexplicitprotectednoexcept

Definition at line 114 of file when_all_impl.hpp.

Member Function Documentation

◆ AddInput()

template<OrderPolicy O, typename R , typename E >
void yaclib::detail::AllCombinator< O, R, E >::AddInput ( ResultCore< V, E > &  input)
inlinenoexcept

Definition at line 96 of file when_all_impl.hpp.

References yaclib::MakeContract().

◆ Make()

template<OrderPolicy O, typename R , typename E >
static std::pair< ResultPtr, AllCombinator * > yaclib::detail::AllCombinator< O, R, E >::Make ( std::size_t  count)
inlinestatic

Definition at line 84 of file when_all_impl.hpp.

References yaclib::MakeContract().

Referenced by yaclib::WhenAll(), and yaclib::WhenAll().


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