Edit: /usr/include/boost/hof/is_invocable.hpp (1706B)
/*=============================================================================
Copyright (c) 2014 Paul Fultz II
is_invocable.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 BOOST_HOF_GUARD_IS_CALLABLE_H
#define BOOST_HOF_GUARD_IS_CALLABLE_H
/// is_invocable
/// ===========
///
/// Description
/// -----------
///
/// The `is_invocable` metafunction checks if the function is callable with
/// certain parameters.
///
/// Requirements
/// ------------
///
/// F must be:
///
/// * [Invocable](Invocable)
///
/// Synopsis
/// --------
///
/// template
/// struct is_invocable;
///
/// Example
/// -------
///
/// #include
/// using namespace boost::hof;
///
/// struct is_invocable_class
/// {
/// void operator()(int) const
/// {
/// }
/// };
/// static_assert(is_invocable(), "Not callable");
///
/// int main() {}
///
#include
#include
namespace boost { namespace hof {
template
struct is_invocable
: detail::can_be_called
{};
template
struct is_invocable
{
static_assert(!std::is_same::value,
"The is_invocable form is not supported because it is problematic."
"Please use is_invocable instead."
);
};
}} // namespace boost::hof
#endif