CMS 3D CMS Logo

Classes | Namespaces | Functions
chain_first.h File Reference
#include <atomic>
#include <exception>
#include <memory>
#include <type_traits>
#include "FWCore/Concurrency/interface/WaitingTaskHolder.h"
#include "FWCore/Utilities/interface/thread_safety_macros.h"

Go to the source code of this file.

Classes

struct  edm::waiting_task::detail::AutoExceptionHandler< F >
 
struct  edm::waiting_task::detail::Conditional< F >
 
struct  edm::waiting_task::detail::ConditionalAdaptor< F >
 
struct  edm::waiting_task::detail::ExplicitExceptionHandler< E, F >
 
struct  edm::waiting_task::detail::has_exception_handling< class, class >
 
struct  edm::waiting_task::detail::has_exception_handling< T, std::void_t< decltype(std::declval< T & >()(static_cast< std::exception_ptr const * >(nullptr), edm::WaitingTaskHolder()))> >
 
struct  edm::waiting_task::detail::IfExceptionAdapter< E >
 
struct  edm::waiting_task::detail::LastTaskAdaptor
 
struct  edm::waiting_task::detail::RunLastAdaptor
 
struct  edm::waiting_task::detail::ThenAdaptor< F >
 
struct  edm::waiting_task::detail::WaitingTaskChain< T >
 
struct  edm::waiting_task::detail::WaitingTaskChain< Conditional< U >, T... >
 
struct  edm::waiting_task::detail::WaitingTaskChain< U >
 
struct  edm::waiting_task::detail::WaitingTaskChain< U, T... >
 

Namespaces

 edm
 HLT enums.
 
 edm::waiting_task
 
 edm::waiting_task::chain
 
 edm::waiting_task::detail
 

Functions

template<typename F >
constexpr auto edm::waiting_task::chain::first (F &&iF)
 
template<typename E >
constexpr auto edm::waiting_task::chain::ifException (E &&iE)
 
template<typename O >
constexpr auto edm::waiting_task::chain::ifThen (bool iValue, O &&iO)
 Only runs this task if the condition (which is known at the call time) is true. If false, this task will be skipped and the following task will run. More...
 
auto edm::waiting_task::chain::lastTask (edm::WaitingTaskHolder iTask)
 
auto edm::waiting_task::chain::runLast (edm::WaitingTaskHolder iTask)
 
template<typename O >
constexpr auto edm::waiting_task::chain::then (O &&iO)