SimGrid  3.14.159
Versatile Simulation of Distributed Systems
functional.hpp File Reference
#include <cstddef>
#include <cstdlib>
#include <cstring>
#include <array>
#include <exception>
#include <functional>
#include <memory>
#include <string>
#include <tuple>
#include <type_traits>
#include <utility>
#include <vector>
#include <xbt/sysdep.h>
#include <xbt/utility.hpp>

Classes

class  simgrid::xbt::MainFunction< F >
 
class  simgrid::xbt::Task< T >
 
class  simgrid::xbt::Task< R(Args...)>
 Type-erased run-once task. More...
 
class  simgrid::xbt::TaskImpl< F, Args >
 

Namespaces

 simgrid
 Host datatype from SIMIX POV.
 
 simgrid::xbt
 
 simgrid::xbt::bits
 

Functions

template<class F >
std::function< void()> simgrid::xbt::wrapMain (F code, std::vector< std::string > args)
 
template<class F >
std::function< void()> simgrid::xbt::wrapMain (F code, int argc, const char *const argv[])
 
template<class F , class Tuple , std::size_t... I>
constexpr auto simgrid::xbt::bits::apply (F &&f, Tuple &&t, simgrid::xbt::index_sequence< I... >) -> decltype(std::forward< F >(f)(std::get< I >(std::forward< Tuple >(t))...))
 
template<class F , class Tuple >
constexpr auto simgrid::xbt::apply (F &&f, Tuple &&t) -> decltype(simgrid::xbt::bits::apply(std::forward< F >(f), std::forward< Tuple >(t), simgrid::xbt::make_index_sequence< std::tuple_size< typename std::decay< Tuple >::type >::value >()))
 Call a functional object with the values in the given tuple (from C++17) More...
 
template<class F , class... Args>
auto simgrid::xbt::makeTask (F code, Args... args) -> Task< decltype(code(std::move(args)...))() >