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/hashmap.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<template< typename... > class OutputIterable, template< typename... > class InputIterable1, template< typename... > class InputIterable2, typename U1 , typename U2 , typename... U1s, typename... U2s>
OutputIterable< std::pair< U1, U2 > > lambda::zipto (const InputIterable1< U1, U1s... > &input1, const InputIterable2< U2, U2s... > &input2)
 
template<template< typename... > class InputIterable1, template< typename... > class InputIterable2, typename U1 , typename U2 , typename... U1s, typename... U2s>
hashmap< U1, U2 > lambda::zip (const InputIterable1< U1, U1s... > &input1, const InputIterable2< U2, U2s... > &input2)
 
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__; }