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
config.hpp
Go to the documentation of this file.
1
/*
2
@Copyright Barrett Adair 2016-2017
3
4
Distributed under the Boost Software License, Version 1.0.
5
(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
6
7
*/
8
9
#ifndef BOOST_CLBL_TRTS_DETAIL_CONFIG_HPP
10
#define BOOST_CLBL_TRTS_DETAIL_CONFIG_HPP
11
12
#include <type_traits>
13
#include <tuple>
14
#include <utility>
15
#include <cstdint>
16
17
#define BOOST_CLBL_TRTS_EMPTY_
18
#define BOOST_CLBL_TRTS_EMPTY BOOST_CLBL_TRTS_EMPTY_
19
20
#ifdef __cpp_transactional_memory
21
# define BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
22
#endif
23
24
#ifdef __cpp_inline_variables
25
# define BOOST_CLBL_TRAITS_INLINE_VAR inline
26
#else
27
# define BOOST_CLBL_TRAITS_INLINE_VAR
28
#endif
29
30
#ifdef __cpp_noexcept_function_type
31
# define BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
32
#endif
33
34
#ifdef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
35
# define BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER transaction_safe
36
#else
37
# define BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER
38
#endif
39
40
#ifndef __clang__
41
# if defined(__GNUC__)
42
# define BOOST_CLBL_TRTS_GCC
43
# if __GNUC__ >= 6
44
# define BOOST_CLBL_TRTS_GCC_AT_LEAST_6_0_0
45
# endif
46
# if __GNUC__ < 5
47
# define BOOST_CLBL_TRTS_GCC_OLDER_THAN_5_0_0
48
# endif
49
# if __GNUC__ >= 5
50
# define BOOST_CLBL_TRTS_GCC_AT_LEAST_4_9_2
51
# elif __GNUC__ == 4 && __GNUC_MINOR__ == 9 && __GNUC_PATCHLEVEL__ >= 2
52
# define BOOST_CLBL_TRTS_GCC_AT_LEAST_4_9_2
53
# else
54
# define BOOST_CLBL_TRTS_GCC_OLDER_THAN_4_9_2
55
# endif
//#if __GNUC__ >= 5
56
# endif
//#if defined __GNUC__
57
#endif
// #ifndef __clang__
58
59
#ifdef _MSC_VER
60
# ifdef __clang__
61
# define BOOST_CLBL_TRTS_CLANG_C2
62
# else
63
# define BOOST_CLBL_TRTS_MSVC
64
# endif
// #ifdef __clang__
65
#endif
// #ifdef _MSC_VER
66
67
#define BOOST_CLBL_TRTS_IX_SEQ(...) ::std::index_sequence< __VA_ARGS__ >
68
#define BOOST_CLBL_TRTS_MAKE_IX_SEQ(...) ::std::make_index_sequence< __VA_ARGS__ >
69
#define BOOST_CLBL_TRTS_DISJUNCTION(...) ::std::disjunction< __VA_ARGS__ >
70
71
#ifndef __cpp_variable_templates
72
# define BOOST_CLBL_TRTS_DISABLE_VARIABLE_TEMPLATES
73
#endif
74
75
#ifndef __cpp_lib_logical_traits
76
# include <
boost/callable_traits/detail/polyfills/disjunction.hpp
>
77
#endif
//__cpp_lib_logical_traits
78
79
#ifndef __cpp_lib_integer_sequence
80
# include <
boost/callable_traits/detail/polyfills/make_index_sequence.hpp
>
81
#endif
// __cpp_lib_integer_sequence
82
83
#if defined(BOOST_CLBL_TRTS_MSVC) && !defined(BOOST_DISABLE_WIN32)
84
# define BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC __cdecl
85
# define BOOST_CLBL_TRTS_PMF_VARGARGS_CDECL_DEFAULT
86
#else
87
# define BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
88
#endif
// #if defined(BOOST_CLBL_TRTS_MSVC) && !defined(BOOST_DISABLE_WIN32))
89
90
#if (defined(BOOST_CLBL_TRTS_GCC) && !defined(BOOST_CLBL_TRTS_GCC_AT_LEAST_4_9_2)) || defined(__INTEL_COMPILER)
91
# define BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
92
# define BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
93
#endif
// #if defined BOOST_CLBL_TRTS_GCC && !defined(BOOST_CLBL_TRTS_GCC_AT_LEAST_4_9_2)
94
95
#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
96
# define BOOST_CLBL_TRTS_ABOMINABLE_CONST BOOST_CLBL_TRTS_EMPTY
97
# define BOOST_CLBL_TRTS_ABOMINABLE_VOLATILE BOOST_CLBL_TRTS_EMPTY
98
#else
99
# define BOOST_CLBL_TRTS_ABOMINABLE_CONST const
100
# define BOOST_CLBL_TRTS_ABOMINABLE_VOLATILE volatile
101
#endif
// #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
102
103
#ifdef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
104
# define BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER noexcept
105
#else
106
# define BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER BOOST_CLBL_TRTS_EMPTY
107
#endif
// #ifdef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
108
109
#endif
// #ifndef BOOST_CLBL_TRTS_DETAIL_CONFIG_HPP
disjunction.hpp
make_index_sequence.hpp
Generated at Mon Nov 24 2025 07:32:22 for
ttg
1.0.0 by
1.9.8