ttg
1.0.0
Template Task Graph (TTG): flowgraph-based programming model for high-performance distributed-memory algorithms
Loading...
Searching...
No Matches
ttg
ttg
external
boost
callable_traits
detail
forward_declarations.hpp
Go to the documentation of this file.
1
#ifndef BOOST_CLBL_TRTS_DETAIL_FORWARD_DECLARATIONS
2
#define BOOST_CLBL_TRTS_DETAIL_FORWARD_DECLARATIONS
3
#include <
boost/callable_traits/detail/config.hpp
>
4
#include <
boost/callable_traits/detail/default_callable_traits.hpp
>
5
6
namespace
boost
{
namespace
callable_traits {
namespace
detail {
7
8
template
<
typename
T>
9
struct
function;
10
11
template
<
typename
T>
12
struct
has_normal_call_operator
13
{
14
template
<
typename
N, N Value>
15
struct
check
{
check
(std::nullptr_t) {} };
16
17
template
<
typename
U>
18
static
std::int8_t
test
(
19
check
<
decltype
(&U::operator()), &U::operator()>);
20
21
template
<
typename
>
22
static
std::int16_t
test
(...);
23
24
static
constexpr
bool
value
=
25
sizeof
(test<T>(
nullptr
)) ==
sizeof
(std::int8_t);
26
};
27
28
struct
callable_dummy
{
29
void
operator()
() {}
30
};
31
32
template
<
typename
T>
33
using
default_to_function_object
=
typename
std::conditional<
34
has_normal_call_operator<T>::value
,
35
T,
callable_dummy
>::type;
36
37
template
<
typename
T>
38
struct
pmf
;
39
40
template
<
typename
T>
41
struct
pmd
;
42
43
template<typename F, typename T = typename std::remove_reference<F>::type>
44
using
function_object_base
=
typename
std::conditional<
45
has_normal_call_operator<T>::value
,
46
pmf
<
decltype
(&
default_to_function_object<T>::operator
())>,
47
default_callable_traits<T>
>::type;
48
49
template
<
typename
T,
typename
Base = function_
object
_base<T>>
50
struct
function_object
;
51
52
}}}
// namespace boost::callable_traits::detail
53
54
#endif
// #ifndef BOOST_CLBL_TRTS_DETAIL_FORWARD_DECLARATIONS
config.hpp
default_callable_traits.hpp
boost::callable_traits::detail::default_to_function_object
typename std::conditional< has_normal_call_operator< T >::value, T, callable_dummy >::type default_to_function_object
Definition
forward_declarations.hpp:35
boost::callable_traits::detail::function_object_base
typename std::conditional< has_normal_call_operator< T >::value, pmf< decltype(&default_to_function_object< T >::operator())>, default_callable_traits< T > >::type function_object_base
Definition
forward_declarations.hpp:47
boost
Definition
add_member_const.hpp:14
boost::callable_traits::detail::callable_dummy
Definition
forward_declarations.hpp:28
boost::callable_traits::detail::callable_dummy::operator()
void operator()()
Definition
forward_declarations.hpp:29
boost::callable_traits::detail::default_callable_traits
Definition
default_callable_traits.hpp:15
boost::callable_traits::detail::function_object
Definition
function_object.hpp:20
boost::callable_traits::detail::has_normal_call_operator::check
Definition
forward_declarations.hpp:15
boost::callable_traits::detail::has_normal_call_operator::check::check
check(std::nullptr_t)
Definition
forward_declarations.hpp:15
boost::callable_traits::detail::has_normal_call_operator
Definition
forward_declarations.hpp:13
boost::callable_traits::detail::has_normal_call_operator::test
static std::int8_t test(check< decltype(&U::operator()), &U::operator()>)
boost::callable_traits::detail::has_normal_call_operator::value
static constexpr bool value
Definition
forward_declarations.hpp:24
boost::callable_traits::detail::has_normal_call_operator::test
static std::int16_t test(...)
boost::callable_traits::detail::pmd
Definition
pmd.hpp:21
boost::callable_traits::detail::pmf
Definition
pmf.hpp:43
Generated at Mon Nov 24 2025 07:32:22 for
ttg
1.0.0 by
1.9.8