2
0
mirror of https://github.com/boostorg/hof.git synced 2026-01-31 20:22:11 +00:00
Files
hof/include/fit/detail/make.hpp
2016-02-13 19:08:06 -06:00

31 lines
800 B
C++

/*=============================================================================
Copyright (c) 2015 Paul Fultz II
make.h
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
#ifndef FIT_GUARD_MAKE_H
#define FIT_GUARD_MAKE_H
#include <fit/detail/move.hpp>
#include <fit/detail/join.hpp>
namespace fit { namespace detail {
template<template<class...> class Adaptor>
struct make
{
constexpr make()
{}
template<class... Fs, class Result=FIT_JOIN(Adaptor, Fs...)>
constexpr Result operator()(Fs... fs) const
{
return Result(static_cast<Fs&&>(fs)...);
}
};
}} // namespace fit
#endif