Apache Mesos
Classes | Namespaces | Macros | Functions
lambda.hpp File Reference
#include <algorithm>
#include <functional>
#include <memory>
#include <type_traits>
#include <utility>
#include <vector>
#include <glog/logging.h>
#include <stout/cpp14.hpp>
#include <stout/cpp17.hpp>
#include <stout/result_of.hpp>

Go to the source code of this file.

Classes

struct  lambda::internal::Expand< I >
 
struct  lambda::internal::Expand< 0 >
 
class  lambda::internal::Partial< F, BoundArgs >
 
struct  lambda::internal::Invoke< R >
 
struct  lambda::internal::Invoke< void >
 
class  lambda::CallableOnce< F >
 
class  lambda::CallableOnce< R(Args...)>
 
struct  std::is_bind_expression< lambda::internal::Partial< F, Args...> >
 

Namespaces

 lambda
 
 lambda::internal
 
 std
 

Macros

#define RETURN(...)   -> decltype(__VA_ARGS__) { return __VA_ARGS__; }
 

Functions

template<template< typename...> class Iterable, typename F , typename U , typename V = typename result_of<F(U)>::type, typename... Us>
Iterable< V > lambda::map (F &&f, const Iterable< U, Us...> &input)
 
template<template< typename...> class OutputIterable, template< typename...> class InputIterable, typename F , typename U , typename V = typename result_of<F(U)>::type, typename... Us>
OutputIterable< V > lambda::map (F &&f, const InputIterable< U, Us...> &input)
 
template<template< typename...> class Iterable, typename F , typename U , typename V = typename result_of<F(U)>::type, typename = typename std::enable_if< !std::is_same<U, V>::value>::type, typename... Us>
Iterable< V > lambda::map (F &&f, Iterable< U, Us...> &&input)
 
template<template< typename...> class Iterable, typename F , typename U , typename = typename std::enable_if< std::is_same<U, typename result_of<F(U)>::type>::value>::type, typename... Us>
Iterable< U, Us...> && lambda::map (F &&f, Iterable< U, Us...> &&iterable)
 
template<template< typename...> class OutputIterable, template< typename...> class InputIterable, typename F , typename U , typename V = typename result_of<F(U)>::type, typename... Us>
OutputIterable< V > lambda::map (F &&f, InputIterable< U, Us...> &&input)
 
template<template< typename...> class OutputIterable, typename F , typename U , typename V = typename result_of<F(U)>::type>
OutputIterable< V > lambda::map (F &&f, std::initializer_list< U > input)
 
template<typename F , typename U , typename V = typename result_of<F(U)>::type>
std::vector< V > lambda::map (F &&f, std::initializer_list< U > input)
 
template<typename F , typename... Args>
internal::Partial< typename
std::decay< F >::type,
typename std::decay< Args >
::type...> 
lambda::partial (F &&f, Args &&...args)
 

Macro Definition Documentation

#define RETURN (   ...)    -> decltype(__VA_ARGS__) { return __VA_ARGS__; }