diff --git a/doc/html/callable_traits/cpp_17_features.html b/doc/html/callable_traits/cpp_17_features.html
index dd5958e..b53716c 100644
--- a/doc/html/callable_traits/cpp_17_features.html
+++ b/doc/html/callable_traits/cpp_17_features.html
@@ -98,7 +98,7 @@
A static_assert always fails
- when instantiatic this template if your compiler doesn't support transaction_safe. At the time of this writing,
+ when instantiating this template if your compiler doesn't support transaction_safe. At the time of this writing,
GCC 6 with the -fgnu-tm is
the only compiler that can use this feature.
@@ -894,7 +894,7 @@
A static_assert always fails
- when instantiatic this template if your compiler doesn't support noexcept on types (a C++17 feature). At the
+ when instantiating this template if your compiler doesn't support noexcept on types (a C++17 feature). At the
time of this writing, GCC 7.0.0+ and Clang 4.0+ are the only compiler that
can use feature.
diff --git a/doc/html/callable_traits/transactional_memory_features.html b/doc/html/callable_traits/transactional_memory_features.html
index 2013425..210b972 100644
--- a/doc/html/callable_traits/transactional_memory_features.html
+++ b/doc/html/callable_traits/transactional_memory_features.html
@@ -96,7 +96,7 @@
A static_assert always fails
- when instantiatic this template if your compiler doesn't support transaction_safe. At the time of this writing,
+ when instantiating this template if your compiler doesn't support transaction_safe. At the time of this writing,
GCC 6 with the -fgnu-tm is
the only compiler that can use this feature.
diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt
index eab5a0d..610eefa 100644
--- a/example/CMakeLists.txt
+++ b/example/CMakeLists.txt
@@ -11,7 +11,7 @@ include_directories(${callable_traits_SOURCE_DIR}/include)
file(GLOB_RECURSE EXAMPLES "*.cpp")
file(GLOB_RECURSE EXPERIMENTAL_EXAMPLES "experimental*.cpp")
-if (NOT CALLABLE_TRAITS_BUILD_EXPERIMENTAL)
+if (NOT BOOST_CLBL_TRTS_BUILD_EXPERIMENTAL)
foreach(_experimental IN LISTS EXPERIMENTAL_EXAMPLES)
list(REMOVE_ITEM EXAMPLES ${_experimental})
endforeach()
diff --git a/example/add_member_const.cpp b/example/add_member_const.cpp
index e88ea3d..7972621 100644
--- a/example/add_member_const.cpp
+++ b/example/add_member_const.cpp
@@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0.
->*/
#include
-#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
int main(){ return 0; }
#else
@@ -46,4 +46,4 @@ int main() {
}
}
//]
-#endif //#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#endif //#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
diff --git a/example/add_member_cv.cpp b/example/add_member_cv.cpp
index 9b53da0..3d6ca56 100644
--- a/example/add_member_cv.cpp
+++ b/example/add_member_cv.cpp
@@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0.
->*/
#include
-#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
int main(){ return 0; }
#else
@@ -46,4 +46,4 @@ int main() {
}
}
//]
-#endif //#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#endif //#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
diff --git a/example/add_member_lvalue_reference.cpp b/example/add_member_lvalue_reference.cpp
index f68a7ce..ae91ef5 100644
--- a/example/add_member_lvalue_reference.cpp
+++ b/example/add_member_lvalue_reference.cpp
@@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0.
->*/
#include
-#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
int main(){ return 0; }
#else
@@ -50,4 +50,4 @@ int main() {
}
//]
-#endif //#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#endif //#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
diff --git a/example/add_member_rvalue_reference.cpp b/example/add_member_rvalue_reference.cpp
index 10dab1d..72fee91 100644
--- a/example/add_member_rvalue_reference.cpp
+++ b/example/add_member_rvalue_reference.cpp
@@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0.
->*/
#include
-#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
int main(){ return 0; }
#else
@@ -50,4 +50,4 @@ int main() {
}
//]
-#endif //#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#endif //#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
diff --git a/example/add_member_volatile.cpp b/example/add_member_volatile.cpp
index 453ae04..77f8a65 100644
--- a/example/add_member_volatile.cpp
+++ b/example/add_member_volatile.cpp
@@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0.
->*/
#include
-#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
int main(){ return 0; }
#else
@@ -47,4 +47,4 @@ int main() {
}
//]
-#endif //#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#endif //#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
diff --git a/example/add_noexcept.cpp b/example/add_noexcept.cpp
index 5de7d4d..4587828 100644
--- a/example/add_noexcept.cpp
+++ b/example/add_noexcept.cpp
@@ -7,7 +7,7 @@ Distributed under the Boost Software License, Version 1.0.
#include
-#ifndef CALLABLE_TRAITS_ENABLE_NOEXCEPT_TYPES
+#ifndef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
int main(){}
#else
diff --git a/example/add_transaction_safe.cpp b/example/add_transaction_safe.cpp
index dc7d5e5..cc68fde 100644
--- a/example/add_transaction_safe.cpp
+++ b/example/add_transaction_safe.cpp
@@ -7,7 +7,7 @@ Distributed under the Boost Software License, Version 1.0.
#include
-#ifndef CALLABLE_TRAITS_ENABLE_TRANSACTION_SAFE
+#ifndef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
int main(){}
#else
diff --git a/example/args.cpp b/example/args.cpp
index 87e68d8..c807484 100644
--- a/example/args.cpp
+++ b/example/args.cpp
@@ -6,7 +6,7 @@ Distributed under the Boost Software License, Version 1.0.
->*/
#include
-#ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
int main(){ return 0; }
#else
@@ -66,4 +66,4 @@ int main() {
}
}
//]
-#endif //#ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#endif //#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
diff --git a/example/function_type.cpp b/example/function_type.cpp
index 11a2f46..257e144 100644
--- a/example/function_type.cpp
+++ b/example/function_type.cpp
@@ -6,7 +6,7 @@ Distributed under the Boost Software License, Version 1.0.
->*/
#include
-#ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
int main(){ return 0; }
#else
@@ -45,4 +45,4 @@ int main() {
test();
}
//]
-#endif //#ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#endif //#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
diff --git a/example/has_varargs.cpp b/example/has_varargs.cpp
index 45f56da..1dd66fd 100644
--- a/example/has_varargs.cpp
+++ b/example/has_varargs.cpp
@@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
->*/
-#ifdef CALLABLE_TRAITS_MSVC
+#ifdef BOOST_CLBL_TRTS_MSVC
// MSVC requires __cdecl for varargs, and I don't want to clutter the example
int main(){}
#else
diff --git a/example/intro.cpp b/example/intro.cpp
index 1c73eca..a80763d 100644
--- a/example/intro.cpp
+++ b/example/intro.cpp
@@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0.
->*/
#include
-#ifdef CALLABLE_TRAITS_DISABLE_VARIABLE_TEMPLATES
+#ifdef BOOST_CLBL_TRTS_DISABLE_VARIABLE_TEMPLATES
int main(){ return 0; }
#else
diff --git a/example/is_lvalue_reference_member.cpp b/example/is_lvalue_reference_member.cpp
index abadfb4..dab0f4c 100644
--- a/example/is_lvalue_reference_member.cpp
+++ b/example/is_lvalue_reference_member.cpp
@@ -7,7 +7,7 @@ Distributed under the Boost Software License, Version 1.0.
#include
-#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
int main(){ return 0; }
#else
diff --git a/example/is_noexcept.cpp b/example/is_noexcept.cpp
index 5cbd8fd..4a13bda 100644
--- a/example/is_noexcept.cpp
+++ b/example/is_noexcept.cpp
@@ -7,7 +7,7 @@ Distributed under the Boost Software License, Version 1.0.
#include
-#ifndef CALLABLE_TRAITS_ENABLE_NOEXCEPT_TYPES
+#ifndef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
int main(){}
#else
diff --git a/example/is_reference_member.cpp b/example/is_reference_member.cpp
index 4f67047..0716326 100644
--- a/example/is_reference_member.cpp
+++ b/example/is_reference_member.cpp
@@ -7,7 +7,7 @@ Distributed under the Boost Software License, Version 1.0.
#include
-#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
int main(){ return 0; }
#else
diff --git a/example/is_rvalue_reference_member.cpp b/example/is_rvalue_reference_member.cpp
index b57d8ae..35386aa 100644
--- a/example/is_rvalue_reference_member.cpp
+++ b/example/is_rvalue_reference_member.cpp
@@ -7,7 +7,7 @@ Distributed under the Boost Software License, Version 1.0.
#include
-#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
int main(){ return 0; }
#else
diff --git a/example/is_transaction_safe.cpp b/example/is_transaction_safe.cpp
index 4e93f15..811da4b 100644
--- a/example/is_transaction_safe.cpp
+++ b/example/is_transaction_safe.cpp
@@ -7,7 +7,7 @@ Distributed under the Boost Software License, Version 1.0.
#include
-#ifndef CALLABLE_TRAITS_ENABLE_TRANSACTION_SAFE
+#ifndef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
int main(){}
#else
diff --git a/example/is_volatile_member.cpp b/example/is_volatile_member.cpp
index 6eaa744..6113c1a 100644
--- a/example/is_volatile_member.cpp
+++ b/example/is_volatile_member.cpp
@@ -7,7 +7,7 @@ Distributed under the Boost Software License, Version 1.0.
#include
-#ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
int main(){ return 0; }
#else
diff --git a/example/overview.cpp b/example/overview.cpp
index 6261ddd..9fd88dc 100644
--- a/example/overview.cpp
+++ b/example/overview.cpp
@@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0.
->*/
#include
-#ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
int main(){}
#else
diff --git a/example/qualified_parent_class_of.cpp b/example/qualified_parent_class_of.cpp
index 5652256..bb81519 100644
--- a/example/qualified_parent_class_of.cpp
+++ b/example/qualified_parent_class_of.cpp
@@ -6,7 +6,7 @@ Distributed under the Boost Software License, Version 1.0.
->*/
#include
-#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
int main(){ return 0; }
#else
diff --git a/example/remove_member_const.cpp b/example/remove_member_const.cpp
index eccf8a1..0e57818 100644
--- a/example/remove_member_const.cpp
+++ b/example/remove_member_const.cpp
@@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0.
->*/
#include
-#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
int main(){ return 0; }
#else
@@ -42,4 +42,4 @@ int main() {
}
}
//]
-#endif //#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#endif //#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
diff --git a/example/remove_member_cv.cpp b/example/remove_member_cv.cpp
index 054e2fa..fa92555 100644
--- a/example/remove_member_cv.cpp
+++ b/example/remove_member_cv.cpp
@@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0.
->*/
#include
-#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
int main(){ return 0; }
#else
@@ -42,4 +42,4 @@ int main() {
}
}
//]
-#endif //#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#endif //#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
diff --git a/example/remove_member_reference.cpp b/example/remove_member_reference.cpp
index 5da94f3..fe110a9 100644
--- a/example/remove_member_reference.cpp
+++ b/example/remove_member_reference.cpp
@@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0.
->*/
#include
-#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
int main(){ return 0; }
#else
@@ -42,4 +42,4 @@ int main() {
}
}
//]
-#endif //#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#endif //#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
diff --git a/example/remove_member_volatile.cpp b/example/remove_member_volatile.cpp
index b7c3028..2d3b630 100644
--- a/example/remove_member_volatile.cpp
+++ b/example/remove_member_volatile.cpp
@@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0.
->*/
#include
-#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
int main(){ return 0; }
#else
@@ -42,4 +42,4 @@ int main() {
}
}
//]
-#endif //#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#endif //#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
diff --git a/example/remove_noexcept.cpp b/example/remove_noexcept.cpp
index 8d4a6f8..d26e682 100644
--- a/example/remove_noexcept.cpp
+++ b/example/remove_noexcept.cpp
@@ -7,7 +7,7 @@ Distributed under the Boost Software License, Version 1.0.
#include
-#ifndef CALLABLE_TRAITS_ENABLE_NOEXCEPT_TYPES
+#ifndef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
int main(){}
#else
diff --git a/example/remove_transaction_safe.cpp b/example/remove_transaction_safe.cpp
index 5ba3362..481a422 100644
--- a/example/remove_transaction_safe.cpp
+++ b/example/remove_transaction_safe.cpp
@@ -7,7 +7,7 @@ Distributed under the Boost Software License, Version 1.0.
#include
-#ifndef CALLABLE_TRAITS_ENABLE_TRANSACTION_SAFE
+#ifndef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
int main(){}
#else
@@ -25,5 +25,5 @@ static_assert(std::is_same{}, "");
int main() {}
//]
-#endif //#ifndef CALLABLE_TRAITS_ENABLE_TRANSACTION_SAFE
+#endif //#ifndef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
diff --git a/example/return_type.cpp b/example/return_type.cpp
index 9927711..05f2abb 100644
--- a/example/return_type.cpp
+++ b/example/return_type.cpp
@@ -6,7 +6,7 @@ Distributed under the Boost Software License, Version 1.0.
->*/
#include
-#ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
int main(){ return 0; }
#else
@@ -39,4 +39,4 @@ int main() {
test();
}
//]
-#endif //#ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#endif //#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
diff --git a/include/boost/callable_traits.hpp b/include/boost/callable_traits.hpp
index bff3f97..166211f 100644
--- a/include/boost/callable_traits.hpp
+++ b/include/boost/callable_traits.hpp
@@ -6,8 +6,8 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_CALLABLE_TRAITS_HPP
-#define CALLABLE_TRAITS_CALLABLE_TRAITS_HPP
+#ifndef BOOST_CLBL_TRTS_BOOST_CLBL_TRTS_HPP
+#define BOOST_CLBL_TRTS_BOOST_CLBL_TRTS_HPP
#include
#include
diff --git a/include/boost/callable_traits/add_member_const.hpp b/include/boost/callable_traits/add_member_const.hpp
index 161158a..3bc4fba 100644
--- a/include/boost/callable_traits/add_member_const.hpp
+++ b/include/boost/callable_traits/add_member_const.hpp
@@ -6,12 +6,12 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_ADD_MEMBER_CONST_HPP
-#define CALLABLE_TRAITS_ADD_MEMBER_CONST_HPP
+#ifndef BOOST_CLBL_TRTS_ADD_MEMBER_CONST_HPP
+#define BOOST_CLBL_TRTS_ADD_MEMBER_CONST_HPP
#include
-CALLABLE_TRAITS_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_NAMESPACE_BEGIN
//[ add_member_const_hpp
/*`
@@ -24,7 +24,7 @@ CALLABLE_TRAITS_NAMESPACE_BEGIN
template
using add_member_const_t = //implementation-defined
//<-
-#ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
detail::sfinae_try<
typename detail::traits::add_member_const,
@@ -41,7 +41,7 @@ using add_member_const_t = //implementation-defined
typename detail::traits::add_member_const,
member_qualifiers_are_illegal_for_this_type>;
-#endif // #ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#endif // #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
//->
template
@@ -50,7 +50,7 @@ struct add_member_const {
};
//<-
-CALLABLE_TRAITS_NAMESPACE_END
+BOOST_CLBL_TRTS_NAMESPACE_END
//->
@@ -90,7 +90,7 @@ A substitution failure occurs on GCC builds older than version 4.9.2 with functi
*/
//]
-#endif //#ifndef CALLABLE_TRAITS_ADD_MEMBER_CONST_HPP
+#endif //#ifndef BOOST_CLBL_TRTS_ADD_MEMBER_CONST_HPP
diff --git a/include/boost/callable_traits/add_member_cv.hpp b/include/boost/callable_traits/add_member_cv.hpp
index 19224c6..ce111cf 100644
--- a/include/boost/callable_traits/add_member_cv.hpp
+++ b/include/boost/callable_traits/add_member_cv.hpp
@@ -6,12 +6,12 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_ADD_MEMBER_CV_HPP
-#define CALLABLE_TRAITS_ADD_MEMBER_CV_HPP
+#ifndef BOOST_CLBL_TRTS_ADD_MEMBER_CV_HPP
+#define BOOST_CLBL_TRTS_ADD_MEMBER_CV_HPP
#include
-CALLABLE_TRAITS_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_NAMESPACE_BEGIN
//[ add_member_cv_hpp
/*`
@@ -24,7 +24,7 @@ CALLABLE_TRAITS_NAMESPACE_BEGIN
template
using add_member_cv_t = //implementation-defined
//<-
-#ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
detail::sfinae_try<
typename detail::traits::add_member_cv,
@@ -41,7 +41,7 @@ using add_member_cv_t = //implementation-defined
typename detail::traits::add_member_cv,
member_qualifiers_are_illegal_for_this_type>;
-#endif // #ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#endif // #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
//->
template
@@ -50,7 +50,7 @@ struct add_member_cv {
};
//<-
-CALLABLE_TRAITS_NAMESPACE_END
+BOOST_CLBL_TRTS_NAMESPACE_END
//->
/*`
diff --git a/include/boost/callable_traits/add_member_lvalue_reference.hpp b/include/boost/callable_traits/add_member_lvalue_reference.hpp
index 9dd9841..3df7845 100644
--- a/include/boost/callable_traits/add_member_lvalue_reference.hpp
+++ b/include/boost/callable_traits/add_member_lvalue_reference.hpp
@@ -6,12 +6,12 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_ADD_MEMBER_LVALUE_REFERENCE_HPP
-#define CALLABLE_TRAITS_ADD_MEMBER_LVALUE_REFERENCE_HPP
+#ifndef BOOST_CLBL_TRTS_ADD_MEMBER_LVALUE_REFERENCE_HPP
+#define BOOST_CLBL_TRTS_ADD_MEMBER_LVALUE_REFERENCE_HPP
#include
-CALLABLE_TRAITS_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_NAMESPACE_BEGIN
//[ add_member_lvalue_reference_hpp
/*`
@@ -21,7 +21,7 @@ CALLABLE_TRAITS_NAMESPACE_BEGIN
[heading Definition]
*/
-#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
template
struct add_member_lvalue_reference_t {
@@ -34,7 +34,7 @@ struct add_member_lvalue_reference_t {
template
using add_member_lvalue_reference_t = //implementation-defined
//<-
-#ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
detail::sfinae_try<
typename detail::traits::add_member_lvalue_reference,
@@ -52,10 +52,10 @@ using add_member_lvalue_reference_t = //implementation-defined
typename detail::traits::add_member_lvalue_reference,
member_qualifiers_are_illegal_for_this_type>;
-#endif // #ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#endif // #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
//->
-#endif // #ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#endif // #ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
template
struct add_member_lvalue_reference {
@@ -63,7 +63,7 @@ struct add_member_lvalue_reference {
};
//<-
-CALLABLE_TRAITS_NAMESPACE_END
+BOOST_CLBL_TRTS_NAMESPACE_END
//->
/*`
diff --git a/include/boost/callable_traits/add_member_rvalue_reference.hpp b/include/boost/callable_traits/add_member_rvalue_reference.hpp
index 6298c9e..7099c62 100644
--- a/include/boost/callable_traits/add_member_rvalue_reference.hpp
+++ b/include/boost/callable_traits/add_member_rvalue_reference.hpp
@@ -6,12 +6,12 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_ADD_MEMBER_RVALUE_REFERENCE_HPP
-#define CALLABLE_TRAITS_ADD_MEMBER_RVALUE_REFERENCE_HPP
+#ifndef BOOST_CLBL_TRTS_ADD_MEMBER_RVALUE_REFERENCE_HPP
+#define BOOST_CLBL_TRTS_ADD_MEMBER_RVALUE_REFERENCE_HPP
#include
-CALLABLE_TRAITS_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_NAMESPACE_BEGIN
//[ add_member_rvalue_reference_hpp
/*`
@@ -21,7 +21,7 @@ CALLABLE_TRAITS_NAMESPACE_BEGIN
[heading Definition]
*/
-#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
template
struct add_member_rvalue_reference_t {
@@ -34,7 +34,7 @@ struct add_member_rvalue_reference_t {
template
using add_member_rvalue_reference_t = //implementation-defined
//<-
-#ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
detail::sfinae_try<
typename detail::traits::add_member_rvalue_reference,
@@ -51,10 +51,10 @@ using add_member_rvalue_reference_t = //implementation-defined
typename detail::traits::add_member_rvalue_reference,
member_qualifiers_are_illegal_for_this_type>;
-#endif // #ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#endif // #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
//->
-#endif // #ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#endif // #ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
template
struct add_member_rvalue_reference {
@@ -62,7 +62,7 @@ struct add_member_rvalue_reference {
};
//<-
-CALLABLE_TRAITS_NAMESPACE_END
+BOOST_CLBL_TRTS_NAMESPACE_END
//->
/*`
diff --git a/include/boost/callable_traits/add_member_volatile.hpp b/include/boost/callable_traits/add_member_volatile.hpp
index 78ef817..be1f95e 100644
--- a/include/boost/callable_traits/add_member_volatile.hpp
+++ b/include/boost/callable_traits/add_member_volatile.hpp
@@ -6,12 +6,12 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_ADD_MEMBER_VOLATILE_HPP
-#define CALLABLE_TRAITS_ADD_MEMBER_VOLATILE_HPP
+#ifndef BOOST_CLBL_TRTS_ADD_MEMBER_VOLATILE_HPP
+#define BOOST_CLBL_TRTS_ADD_MEMBER_VOLATILE_HPP
#include
-CALLABLE_TRAITS_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_NAMESPACE_BEGIN
//[ add_member_volatile_hpp
/*`
@@ -24,7 +24,7 @@ CALLABLE_TRAITS_NAMESPACE_BEGIN
template
using add_member_volatile_t = //implementation-defined
//<-
-#ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
detail::sfinae_try<
typename detail::traits::add_member_volatile,
@@ -42,7 +42,7 @@ using add_member_volatile_t = //implementation-defined
typename detail::traits::add_member_volatile,
member_qualifiers_are_illegal_for_this_type>;
-#endif // #ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#endif // #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
//->
template
@@ -51,7 +51,7 @@ struct add_member_volatile {
};
//<-
-CALLABLE_TRAITS_NAMESPACE_END
+BOOST_CLBL_TRTS_NAMESPACE_END
//->
/*`
diff --git a/include/boost/callable_traits/add_noexcept.hpp b/include/boost/callable_traits/add_noexcept.hpp
index a95347f..8fcb86d 100644
--- a/include/boost/callable_traits/add_noexcept.hpp
+++ b/include/boost/callable_traits/add_noexcept.hpp
@@ -7,17 +7,17 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_ADD_NOEXCEPT_HPP
-#define CALLABLE_TRAITS_ADD_NOEXCEPT_HPP
+#ifndef BOOST_CLBL_TRTS_ADD_NOEXCEPT_HPP
+#define BOOST_CLBL_TRTS_ADD_NOEXCEPT_HPP
#include
-CALLABLE_TRAITS_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_NAMESPACE_BEGIN
-CALLABLE_TRAITS_DEFINE_SFINAE_ERROR_ORIGIN(add_noexcept)
-CALLABLE_TRAITS_SFINAE_MSG(add_noexcept, cannot_add_noexcept_to_this_type)
+BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(add_noexcept)
+BOOST_CLBL_TRTS_SFINAE_MSG(add_noexcept, cannot_add_noexcept_to_this_type)
-#ifndef CALLABLE_TRAITS_ENABLE_NOEXCEPT_TYPES
+#ifndef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
template
struct add_noexcept_t {
static_assert(sizeof(T) < 1,
@@ -54,8 +54,8 @@ struct add_noexcept {
};
//<-
-#endif // #ifdef CALLABLE_TRAITS_ENABLE_NOEXCEPT_TYPES
-CALLABLE_TRAITS_NAMESPACE_END
+#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
+BOOST_CLBL_TRTS_NAMESPACE_END
//->
/*`
@@ -71,7 +71,7 @@ CALLABLE_TRAITS_NAMESPACE_END
* Adds a `noexcept` specifier to `T`, if not already present.
[heading Compatibility Notes]
-A `static_assert` always fails when instantiatic this template if your compiler doesn't support `noexcept` on types (a C++17 feature). At the time of this writing, GCC 7.0.0+ and Clang 4.0+ are the only compiler that can use feature.
+A `static_assert` always fails when instantiating this template if your compiler doesn't support `noexcept` on types (a C++17 feature). At the time of this writing, GCC 7.0.0+ and Clang 4.0+ are the only compiler that can use feature.
[heading Input/Output Examples]
[table
@@ -96,4 +96,4 @@ A `static_assert` always fails when instantiatic this template if your compiler
*/
//]
-#endif //#ifndef CALLABLE_TRAITS_ADD_NOEXCEPT_HPP
+#endif //#ifndef BOOST_CLBL_TRTS_ADD_NOEXCEPT_HPP
diff --git a/include/boost/callable_traits/add_transaction_safe.hpp b/include/boost/callable_traits/add_transaction_safe.hpp
index 5ab1961..b3c634e 100644
--- a/include/boost/callable_traits/add_transaction_safe.hpp
+++ b/include/boost/callable_traits/add_transaction_safe.hpp
@@ -7,17 +7,17 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_ADD_TRANSACTION_SAFE_HPP
-#define CALLABLE_TRAITS_ADD_TRANSACTION_SAFE_HPP
+#ifndef BOOST_CLBL_TRTS_ADD_TRANSACTION_SAFE_HPP
+#define BOOST_CLBL_TRTS_ADD_TRANSACTION_SAFE_HPP
#include
-CALLABLE_TRAITS_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_NAMESPACE_BEGIN
-CALLABLE_TRAITS_DEFINE_SFINAE_ERROR_ORIGIN(add_transaction_safe)
-CALLABLE_TRAITS_SFINAE_MSG(add_transaction_safe, cannot_add_transaction_safe_to_this_type)
+BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(add_transaction_safe)
+BOOST_CLBL_TRTS_SFINAE_MSG(add_transaction_safe, cannot_add_transaction_safe_to_this_type)
-#ifndef CALLABLE_TRAITS_ENABLE_TRANSACTION_SAFE
+#ifndef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
template
struct add_transaction_safe_t {
static_assert(sizeof(T) < 1,
@@ -55,8 +55,8 @@ struct add_transaction_safe {
};
//<-
-#endif // #ifndef CALLABLE_TRAITS_ENABLE_TRANSACTION_SAFE
-CALLABLE_TRAITS_NAMESPACE_END
+#endif // #ifndef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
+BOOST_CLBL_TRTS_NAMESPACE_END
//->
/*`
@@ -72,7 +72,7 @@ CALLABLE_TRAITS_NAMESPACE_END
* Adds the `transaction_safe` specifier to `T`, if not already present.
[heading Compatibility Notes]
-A `static_assert` always fails when instantiatic this template if your compiler doesn't support `transaction_safe`. At the time of this writing, GCC 6 with the `-fgnu-tm` is the only compiler that can use this feature.
+A `static_assert` always fails when instantiating this template if your compiler doesn't support `transaction_safe`. At the time of this writing, GCC 6 with the `-fgnu-tm` is the only compiler that can use this feature.
[heading Input/Output Examples]
[table
@@ -97,4 +97,4 @@ A `static_assert` always fails when instantiatic this template if your compiler
*/
//]
-#endif //#ifndef CALLABLE_TRAITS_ADD_TRANSACTION_SAFE_HPP
+#endif //#ifndef BOOST_CLBL_TRTS_ADD_TRANSACTION_SAFE_HPP
diff --git a/include/boost/callable_traits/add_varargs.hpp b/include/boost/callable_traits/add_varargs.hpp
index 84ffae4..761afd7 100644
--- a/include/boost/callable_traits/add_varargs.hpp
+++ b/include/boost/callable_traits/add_varargs.hpp
@@ -6,12 +6,12 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_ADD_VARARGS_HPP
-#define CALLABLE_TRAITS_ADD_VARARGS_HPP
+#ifndef BOOST_CLBL_TRTS_ADD_VARARGS_HPP
+#define BOOST_CLBL_TRTS_ADD_VARARGS_HPP
#include
-CALLABLE_TRAITS_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_NAMESPACE_BEGIN
//[ add_varargs_hpp
/*`
@@ -35,7 +35,7 @@ struct add_varargs {
};
//<-
-CALLABLE_TRAITS_NAMESPACE_END
+BOOST_CLBL_TRTS_NAMESPACE_END
//->
/*`
diff --git a/include/boost/callable_traits/apply_member_pointer.hpp b/include/boost/callable_traits/apply_member_pointer.hpp
index 04ad604..7a214a2 100644
--- a/include/boost/callable_traits/apply_member_pointer.hpp
+++ b/include/boost/callable_traits/apply_member_pointer.hpp
@@ -6,16 +6,16 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_APPLY_MEMBER_POINTER_HPP
-#define CALLABLE_TRAITS_APPLY_MEMBER_POINTER_HPP
+#ifndef BOOST_CLBL_TRTS_APPLY_MEMBER_POINTER_HPP
+#define BOOST_CLBL_TRTS_APPLY_MEMBER_POINTER_HPP
#include
-CALLABLE_TRAITS_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_NAMESPACE_BEGIN
-CALLABLE_TRAITS_DEFINE_SFINAE_ERROR_ORIGIN(apply_member_pointer)
-CALLABLE_TRAITS_SFINAE_MSG(apply_member_pointer, members_cannot_have_a_type_of_void)
-CALLABLE_TRAITS_SFINAE_MSG(apply_member_pointer, second_template_argument_must_be_a_class_or_struct)
+BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(apply_member_pointer)
+BOOST_CLBL_TRTS_SFINAE_MSG(apply_member_pointer, members_cannot_have_a_type_of_void)
+BOOST_CLBL_TRTS_SFINAE_MSG(apply_member_pointer, second_template_argument_must_be_a_class_or_struct)
namespace detail {
@@ -69,7 +69,7 @@ struct apply_member_pointer {
};
//<-
-CALLABLE_TRAITS_NAMESPACE_END
+BOOST_CLBL_TRTS_NAMESPACE_END
//->
/*`
diff --git a/include/boost/callable_traits/apply_return.hpp b/include/boost/callable_traits/apply_return.hpp
index 4a47936..ceb6e05 100644
--- a/include/boost/callable_traits/apply_return.hpp
+++ b/include/boost/callable_traits/apply_return.hpp
@@ -6,15 +6,15 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_APPLY_RETURN_HPP
-#define CALLABLE_TRAITS_APPLY_RETURN_HPP
+#ifndef BOOST_CLBL_TRTS_APPLY_RETURN_HPP
+#define BOOST_CLBL_TRTS_APPLY_RETURN_HPP
#include
-CALLABLE_TRAITS_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_NAMESPACE_BEGIN
-CALLABLE_TRAITS_DEFINE_SFINAE_ERROR_ORIGIN(apply_return)
-CALLABLE_TRAITS_SFINAE_MSG(apply_return, invalid_types_for_apply_return)
+BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(apply_return)
+BOOST_CLBL_TRTS_SFINAE_MSG(apply_return, invalid_types_for_apply_return)
namespace detail {
@@ -52,7 +52,7 @@ namespace detail {
};
//<-
-CALLABLE_TRAITS_NAMESPACE_END
+BOOST_CLBL_TRTS_NAMESPACE_END
//->
/*`
diff --git a/include/boost/callable_traits/arg_at.hpp b/include/boost/callable_traits/arg_at.hpp
index 4c22e6f..111abe2 100644
--- a/include/boost/callable_traits/arg_at.hpp
+++ b/include/boost/callable_traits/arg_at.hpp
@@ -6,8 +6,8 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_ARG_AT_HPP
-#define CALLABLE_TRAITS_ARG_AT_HPP
+#ifndef BOOST_CLBL_TRTS_ARG_AT_HPP
+#define BOOST_CLBL_TRTS_ARG_AT_HPP
#include
#include
@@ -20,7 +20,7 @@ Distributed under the Boost Software License, Version 1.0.
[heading Definition]
*/
-CALLABLE_TRAITS_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_NAMESPACE_BEGIN
@@ -55,7 +55,7 @@ struct arg_at {
};
//<-
-CALLABLE_TRAITS_NAMESPACE_END
+BOOST_CLBL_TRTS_NAMESPACE_END
//->
/*`
diff --git a/include/boost/callable_traits/args.hpp b/include/boost/callable_traits/args.hpp
index 56c1e02..ffc1f98 100644
--- a/include/boost/callable_traits/args.hpp
+++ b/include/boost/callable_traits/args.hpp
@@ -6,12 +6,12 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_ARGS_HPP
-#define CALLABLE_TRAITS_ARGS_HPP
+#ifndef BOOST_CLBL_TRTS_ARGS_HPP
+#define BOOST_CLBL_TRTS_ARGS_HPP
#include
-CALLABLE_TRAITS_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_NAMESPACE_BEGIN
//[ args_hpp
/*`[section:ref_args args]
@@ -34,7 +34,7 @@ struct args {
};
//<-
-CALLABLE_TRAITS_NAMESPACE_END
+BOOST_CLBL_TRTS_NAMESPACE_END
//->
/*`
@@ -82,4 +82,4 @@ Full support on GCC 4.7.4+, Clang 3.5+, Visual Studio 2015, and XCode 6.4+.
*/
//]
-#endif //#ifndef CALLABLE_TRAITS_ARGS_HPP
+#endif //#ifndef BOOST_CLBL_TRTS_ARGS_HPP
diff --git a/include/boost/callable_traits/clear_args.hpp b/include/boost/callable_traits/clear_args.hpp
index 2580167..6647fac 100644
--- a/include/boost/callable_traits/clear_args.hpp
+++ b/include/boost/callable_traits/clear_args.hpp
@@ -6,15 +6,15 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_CLEAR_ARGS_HPP
-#define CALLABLE_TRAITS_CLEAR_ARGS_HPP
+#ifndef BOOST_CLBL_TRTS_CLEAR_ARGS_HPP
+#define BOOST_CLBL_TRTS_CLEAR_ARGS_HPP
#include
-CALLABLE_TRAITS_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_NAMESPACE_BEGIN
-CALLABLE_TRAITS_DEFINE_SFINAE_ERROR_ORIGIN(clear_args)
-CALLABLE_TRAITS_SFINAE_MSG(clear_args, cannot_clear_the_parameter_list_of_this_type)
+BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(clear_args)
+BOOST_CLBL_TRTS_SFINAE_MSG(clear_args, cannot_clear_the_parameter_list_of_this_type)
//[ clear_args_hpp
/*`[section:ref_clear_args clear_args]
@@ -37,7 +37,7 @@ struct clear_args {
};
//<-
-CALLABLE_TRAITS_NAMESPACE_END
+BOOST_CLBL_TRTS_NAMESPACE_END
//->
/*`
@@ -78,4 +78,4 @@ Full support on GCC 4.7.4+, Clang 3.5+, Visual Studio 2015, and XCode 6.4+.
*/
//]
-#endif //CALLABLE_TRAITS_CLEAR_ARGS_HPP
+#endif //BOOST_CLBL_TRTS_CLEAR_ARGS_HPP
diff --git a/include/boost/callable_traits/config.hpp b/include/boost/callable_traits/config.hpp
index ab95f85..f9d6f4c 100644
--- a/include/boost/callable_traits/config.hpp
+++ b/include/boost/callable_traits/config.hpp
@@ -6,68 +6,75 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_CONFIG_HPP
-#define CALLABLE_TRAITS_CONFIG_HPP
+#ifndef BOOST_CLBL_TRTS_CONFIG_HPP
+#define BOOST_CLBL_TRTS_CONFIG_HPP
#include
-#define CALLABLE_TRAITS_NAMESPACE_BEGIN namespace boost { namespace callable_traits {
-#define CALLABLE_TRAITS_NAMESPACE_END }}
+#define BOOST_CLBL_TRTS_NAMESPACE_BEGIN namespace boost { namespace callable_traits {
+#define BOOST_CLBL_TRTS_NAMESPACE_END }}
-#define CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN namespace boost { namespace callable_traits { namespace detail {
-#define CALLABLE_TRAITS_DETAIL_NAMESPACE_END }}}
+#define BOOST_CLBL_TRTS_DETAIL_NAMESPACE_BEGIN namespace boost { namespace callable_traits { namespace detail {
+#define BOOST_CLBL_TRTS_DETAIL_NAMESPACE_END }}}
-#define CALLABLE_TRAITS_EMPTY_
-#define CALLABLE_TRAITS_EMPTY CALLABLE_TRAITS_EMPTY_
+#define BOOST_CLBL_TRTS_EMPTY_
+#define BOOST_CLBL_TRTS_EMPTY BOOST_CLBL_TRTS_EMPTY_
#ifdef __cpp_transactional_memory
-# define CALLABLE_TRAITS_ENABLE_TRANSACTION_SAFE
+# define BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
#endif
#ifdef __cpp_noexcept_function_type
-# define CALLABLE_TRAITS_ENABLE_NOEXCEPT_TYPES
+# define BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
+#define BOOST_CLBL_TRTS_NOEXCEPT_TEMPL , bool IsNoexcept
+#define BOOST_CLBL_TRTS_NOEXCEPT_SPEC noexcept (IsNoexcept)
+#define BOOST_CLBL_TRTS_IS_NOEXCEPT std::integral_constant
+#else
+#define BOOST_CLBL_TRTS_NOEXCEPT_TEMPL
+#define BOOST_CLBL_TRTS_NOEXCEPT_SPEC
+#define BOOST_CLBL_TRTS_IS_NOEXCEPT std::false_type
#endif
-#ifdef CALLABLE_TRAITS_ENABLE_TRANSACTION_SAFE
-# define CALLABLE_TRAITS_TRANSACTION_SAFE_SPECIFIER transaction_safe
+#ifdef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
+# define BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER transaction_safe
#else
-# define CALLABLE_TRAITS_TRANSACTION_SAFE_SPECIFIER
+# define BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER
#endif
#ifndef __clang__
# if defined(__GNUC__)
-# define CALLABLE_TRAITS_GCC
+# define BOOST_CLBL_TRTS_GCC
# if __GNUC__ >= 6
-# define CALLABLE_TRAITS_GCC_AT_LEAST_6_0_0
+# define BOOST_CLBL_TRTS_GCC_AT_LEAST_6_0_0
# endif
# if __GNUC__ < 5
-# define CALLABLE_TRAITS_GCC_OLDER_THAN_5_0_0
+# define BOOST_CLBL_TRTS_GCC_OLDER_THAN_5_0_0
# endif
# if __GNUC__ >= 5
-# define CALLABLE_TRAITS_GCC_AT_LEAST_4_9_2
+# define BOOST_CLBL_TRTS_GCC_AT_LEAST_4_9_2
# elif __GNUC__ == 4 && __GNUC_MINOR__ == 9 && __GNUC_PATCHLEVEL__ >= 2
-# define CALLABLE_TRAITS_GCC_AT_LEAST_4_9_2
+# define BOOST_CLBL_TRTS_GCC_AT_LEAST_4_9_2
# else
-# define CALLABLE_TRAITS_GCC_OLDER_THAN_4_9_2
+# define BOOST_CLBL_TRTS_GCC_OLDER_THAN_4_9_2
# endif //#if __GNUC__ >= 5
# endif //#if defined __GNUC__
#endif //#ifndef __clang__
#ifdef _MSC_VER
# ifdef __clang__
-# define CALLABLE_TRAITS_CLANG_C2
+# define BOOST_CLBL_TRTS_CLANG_C2
# else
-# define CALLABLE_TRAITS_MSVC
+# define BOOST_CLBL_TRTS_MSVC
# endif // #ifdef __clang__
#endif // #ifdef _MSC_VER
-#define CALLABLE_TRAITS_IX_SEQ(...) ::std::index_sequence< __VA_ARGS__ >
-#define CALLABLE_TRAITS_MAKE_IX_SEQ(...) ::std::make_index_sequence< __VA_ARGS__ >
-#define CALLABLE_TRAITS_DISJUNCTION(...) ::std::disjunction< __VA_ARGS__ >
-#define CALLABLE_TRAITS_CONJUNCTION(...) ::std::conjunction< __VA_ARGS__ >
+#define BOOST_CLBL_TRTS_IX_SEQ(...) ::std::index_sequence< __VA_ARGS__ >
+#define BOOST_CLBL_TRTS_MAKE_IX_SEQ(...) ::std::make_index_sequence< __VA_ARGS__ >
+#define BOOST_CLBL_TRTS_DISJUNCTION(...) ::std::disjunction< __VA_ARGS__ >
+#define BOOST_CLBL_TRTS_CONJUNCTION(...) ::std::conjunction< __VA_ARGS__ >
#ifndef __cpp_variable_templates
-# define CALLABLE_TRAITS_DISABLE_VARIABLE_TEMPLATES
+# define BOOST_CLBL_TRTS_DISABLE_VARIABLE_TEMPLATES
#endif
#ifndef __cpp_lib_logical_traits
@@ -79,30 +86,30 @@ Distributed under the Boost Software License, Version 1.0.
# include
#endif // __cpp_lib_integer_sequence
-#if defined(CALLABLE_TRAITS_MSVC) && !defined(BOOST_DISABLE_WIN32)
-# define CALLABLE_TRAITS_DEFAULT_VARARGS_CC __cdecl
-# define CALLABLE_TRAITS_PMF_VARGARGS_CDECL_DEFAULT
+#if defined(BOOST_CLBL_TRTS_MSVC) && !defined(BOOST_DISABLE_WIN32)
+# define BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC __cdecl
+# define BOOST_CLBL_TRTS_PMF_VARGARGS_CDECL_DEFAULT
#else
-# define CALLABLE_TRAITS_DEFAULT_VARARGS_CC
-#endif // #if defined(CALLABLE_TRAITS_MSVC) && !defined(BOOST_DISABLE_WIN32))
+# define BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
+#endif // #if defined(BOOST_CLBL_TRTS_MSVC) && !defined(BOOST_DISABLE_WIN32))
-#if defined(CALLABLE_TRAITS_GCC) && !defined(CALLABLE_TRAITS_GCC_AT_LEAST_4_9_2) || defined(__INTEL_COMPILER)
-# define CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
-# define CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
-#endif // #if defined CALLABLE_TRAITS_GCC && !defined(CALLABLE_TRAITS_GCC_AT_LEAST_4_9_2)
+#if defined(BOOST_CLBL_TRTS_GCC) && !defined(BOOST_CLBL_TRTS_GCC_AT_LEAST_4_9_2) || defined(__INTEL_COMPILER)
+# define BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
+# define BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
+#endif // #if defined BOOST_CLBL_TRTS_GCC && !defined(BOOST_CLBL_TRTS_GCC_AT_LEAST_4_9_2)
-#ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
-# define CALLABLE_TRAITS_ABOMINABLE_CONST CALLABLE_TRAITS_EMPTY
-# define CALLABLE_TRAITS_ABOMINABLE_VOLATILE CALLABLE_TRAITS_EMPTY
+#ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
+# define BOOST_CLBL_TRTS_ABOMINABLE_CONST BOOST_CLBL_TRTS_EMPTY
+# define BOOST_CLBL_TRTS_ABOMINABLE_VOLATILE BOOST_CLBL_TRTS_EMPTY
#else
-# define CALLABLE_TRAITS_ABOMINABLE_CONST const
-# define CALLABLE_TRAITS_ABOMINABLE_VOLATILE volatile
-#endif // #ifdef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+# define BOOST_CLBL_TRTS_ABOMINABLE_CONST const
+# define BOOST_CLBL_TRTS_ABOMINABLE_VOLATILE volatile
+#endif // #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-#ifdef CALLABLE_TRAITS_ENABLE_NOEXCEPT_TYPES
-# define CALLABLE_TRAITS_NOEXCEPT_SPECIFIER noexcept
+#ifdef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
+# define BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER noexcept
#else
-# define CALLABLE_TRAITS_NOEXCEPT_SPECIFIER CALLABLE_TRAITS_EMPTY
-#endif // #ifdef CALLABLE_TRAITS_ENABLE_NOEXCEPT_TYPES
+# define BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER BOOST_CLBL_TRTS_EMPTY
+#endif // #ifdef BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES
-#endif //#ifndef CALLABLE_TRAITS_CONFIG_HPP
+#endif //#ifndef BOOST_CLBL_TRTS_CONFIG_HPP
diff --git a/include/boost/callable_traits/detail/core.hpp b/include/boost/callable_traits/detail/core.hpp
index 95ddfe0..6b1457b 100644
--- a/include/boost/callable_traits/detail/core.hpp
+++ b/include/boost/callable_traits/detail/core.hpp
@@ -6,8 +6,8 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_DETAIL_CORE_HPP
-#define CALLABLE_TRAITS_DETAIL_CORE_HPP
+#ifndef BOOST_CLBL_TRTS_DETAIL_CORE_HPP
+#define BOOST_CLBL_TRTS_DETAIL_CORE_HPP
#include
#include
@@ -16,4 +16,4 @@ Distributed under the Boost Software License, Version 1.0.
#include
#include
-#endif //#ifndef CALLABLE_TRAITS_DETAIL_CORE_HPP
+#endif //#ifndef BOOST_CLBL_TRTS_DETAIL_CORE_HPP
diff --git a/include/boost/callable_traits/detail/default_callable_traits.hpp b/include/boost/callable_traits/detail/default_callable_traits.hpp
index d469aae..eb8336d 100644
--- a/include/boost/callable_traits/detail/default_callable_traits.hpp
+++ b/include/boost/callable_traits/detail/default_callable_traits.hpp
@@ -6,13 +6,13 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_DETAIL_DEFAULT_CALLABLE_TRAITS_HPP
-#define CALLABLE_TRAITS_DETAIL_DEFAULT_CALLABLE_TRAITS_HPP
+#ifndef BOOST_CLBL_TRTS_DETAIL_DEFAULT_BOOST_CLBL_TRTS_HPP
+#define BOOST_CLBL_TRTS_DETAIL_DEFAULT_BOOST_CLBL_TRTS_HPP
#include
#include
-CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_BEGIN
template
struct default_callable_traits {
@@ -192,7 +192,7 @@ struct default_callable_traits {
using is_volatile_member = std::integral_constant;
using is_cv_member = std::integral_constant;
-#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
using is_reference_member = std::false_type;
using is_lvalue_reference_qualified = std::false_type;
using is_rvalue_reference_qualified = std::false_type;
@@ -200,11 +200,11 @@ struct default_callable_traits {
using is_reference_member = std::integral_constant;
using is_lvalue_reference_member = std::integral_constant;
using is_rvalue_reference_member = std::integral_constant;
-#endif //#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#endif //#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
};
-CALLABLE_TRAITS_DETAIL_NAMESPACE_END
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_END
-#endif // CALLABLE_TRAITS_DETAIL_DEFAULT_CALLABLE_TRAITS_HPP
+#endif // BOOST_CLBL_TRTS_DETAIL_DEFAULT_BOOST_CLBL_TRTS_HPP
diff --git a/include/boost/callable_traits/detail/function.hpp b/include/boost/callable_traits/detail/function.hpp
index 14a71d7..6e56008 100644
--- a/include/boost/callable_traits/detail/function.hpp
+++ b/include/boost/callable_traits/detail/function.hpp
@@ -6,8 +6,8 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_DETAIL_FUNCTION_HPP
-#define CALLABLE_TRAITS_DETAIL_FUNCTION_HPP
+#ifndef BOOST_CLBL_TRTS_DETAIL_FUNCTION_HPP
+#define BOOST_CLBL_TRTS_DETAIL_FUNCTION_HPP
#include
#include
@@ -16,128 +16,128 @@ Distributed under the Boost Software License, Version 1.0.
#include
-CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_BEGIN
template
struct function : default_callable_traits {};
-#undef CALLABLE_TRAITS_INCLUDE_QUALIFIERS
-#define CALLABLE_TRAITS_INCLUDE_QUALIFIERS
+#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
+#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
#include
-#undef CALLABLE_TRAITS_INCLUDE_QUALIFIERS
+#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#ifndef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#ifndef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
-#define CALLABLE_TRAITS_INCLUDE_QUALIFIERS const
+#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const
#include
-#undef CALLABLE_TRAITS_INCLUDE_QUALIFIERS
+#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#define CALLABLE_TRAITS_INCLUDE_QUALIFIERS volatile
+#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS volatile
#include
-#undef CALLABLE_TRAITS_INCLUDE_QUALIFIERS
+#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#define CALLABLE_TRAITS_INCLUDE_QUALIFIERS const volatile
+#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const volatile
#include
-#undef CALLABLE_TRAITS_INCLUDE_QUALIFIERS
+#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#ifndef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifndef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
-#define CALLABLE_TRAITS_INCLUDE_QUALIFIERS &
+#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS &
#include
-#undef CALLABLE_TRAITS_INCLUDE_QUALIFIERS
+#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#define CALLABLE_TRAITS_INCLUDE_QUALIFIERS &&
+#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS &&
#include
-#undef CALLABLE_TRAITS_INCLUDE_QUALIFIERS
+#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#define CALLABLE_TRAITS_INCLUDE_QUALIFIERS const &
+#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const &
#include
-#undef CALLABLE_TRAITS_INCLUDE_QUALIFIERS
+#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#define CALLABLE_TRAITS_INCLUDE_QUALIFIERS const &&
+#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const &&
#include
-#undef CALLABLE_TRAITS_INCLUDE_QUALIFIERS
+#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#define CALLABLE_TRAITS_INCLUDE_QUALIFIERS volatile &
+#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS volatile &
#include
-#undef CALLABLE_TRAITS_INCLUDE_QUALIFIERS
+#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#define CALLABLE_TRAITS_INCLUDE_QUALIFIERS volatile &&
+#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS volatile &&
#include
-#undef CALLABLE_TRAITS_INCLUDE_QUALIFIERS
+#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#define CALLABLE_TRAITS_INCLUDE_QUALIFIERS const volatile &
+#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const volatile &
#include
-#undef CALLABLE_TRAITS_INCLUDE_QUALIFIERS
+#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#define CALLABLE_TRAITS_INCLUDE_QUALIFIERS const volatile &&
+#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS const volatile &&
#include
-#undef CALLABLE_TRAITS_INCLUDE_QUALIFIERS
+#undef BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
-#endif //#ifndef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
-#endif //#ifndef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#endif //#ifndef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
+#endif //#ifndef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
// function pointers
-#define CALLABLE_TRAITS_CC_TAG dummy
-#define CALLABLE_TRAITS_VARARGS_CC CALLABLE_TRAITS_DEFAULT_VARARGS_CC
-#define CALLABLE_TRAITS_CC
-#define CALLABLE_TRAITS_ST
+#define BOOST_CLBL_TRTS_CC_TAG dummy
+#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
+#define BOOST_CLBL_TRTS_CC
+#define BOOST_CLBL_TRTS_ST
#include
#include
-#undef CALLABLE_TRAITS_ST
-#undef CALLABLE_TRAITS_CC
-#undef CALLABLE_TRAITS_CC_TAG
-#undef CALLABLE_TRAITS_VARARGS_CC
+#undef BOOST_CLBL_TRTS_ST
+#undef BOOST_CLBL_TRTS_CC
+#undef BOOST_CLBL_TRTS_CC_TAG
+#undef BOOST_CLBL_TRTS_VARARGS_CC
/* ?
-#ifdef CALLABLE_TRAITS_ENABLE_CDECL
-#define CALLABLE_TRAITS_CC_TAG cdecl_tag
-#define CALLABLE_TRAITS_VARARGS_CC __cdecl
-#define CALLABLE_TRAITS_CC __cdecl
-#define CALLABLE_TRAITS_ST
+#ifdef BOOST_CLBL_TRTS_ENABLE_CDECL
+#define BOOST_CLBL_TRTS_CC_TAG cdecl_tag
+#define BOOST_CLBL_TRTS_VARARGS_CC __cdecl
+#define BOOST_CLBL_TRTS_CC __cdecl
+#define BOOST_CLBL_TRTS_ST
#include
-#undef CALLABLE_TRAITS_ST
-#undef CALLABLE_TRAITS_CC
-#undef CALLABLE_TRAITS_CC_TAG
-#undef CALLABLE_TRAITS_VARARGS_CC
+#undef BOOST_CLBL_TRTS_ST
+#undef BOOST_CLBL_TRTS_CC
+#undef BOOST_CLBL_TRTS_CC_TAG
+#undef BOOST_CLBL_TRTS_VARARGS_CC
#endif*/
-#ifdef CALLABLE_TRAITS_ENABLE_STDCALL
-#define CALLABLE_TRAITS_CC_TAG stdcall_tag
-#define CALLABLE_TRAITS_VARARGS_CC CALLABLE_TRAITS_DEFAULT_VARARGS_CC
-#define CALLABLE_TRAITS_CC __stdcall
-#define CALLABLE_TRAITS_ST
+#ifdef BOOST_CLBL_TRTS_ENABLE_STDCALL
+#define BOOST_CLBL_TRTS_CC_TAG stdcall_tag
+#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
+#define BOOST_CLBL_TRTS_CC __stdcall
+#define BOOST_CLBL_TRTS_ST
#include
-#undef CALLABLE_TRAITS_ST
-#undef CALLABLE_TRAITS_CC
-#undef CALLABLE_TRAITS_CC_TAG
-#undef CALLABLE_TRAITS_VARARGS_CC
+#undef BOOST_CLBL_TRTS_ST
+#undef BOOST_CLBL_TRTS_CC
+#undef BOOST_CLBL_TRTS_CC_TAG
+#undef BOOST_CLBL_TRTS_VARARGS_CC
#endif
-#ifdef CALLABLE_TRAITS_ENABLE_FASTCALL
-#define CALLABLE_TRAITS_CC_TAG fastcall_tag
-#define CALLABLE_TRAITS_VARARGS_CC CALLABLE_TRAITS_DEFAULT_VARARGS_CC
-#define CALLABLE_TRAITS_CC __fastcall
-#define CALLABLE_TRAITS_ST
+#ifdef BOOST_CLBL_TRTS_ENABLE_FASTCALL
+#define BOOST_CLBL_TRTS_CC_TAG fastcall_tag
+#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
+#define BOOST_CLBL_TRTS_CC __fastcall
+#define BOOST_CLBL_TRTS_ST
#include
-#undef CALLABLE_TRAITS_CC
-#undef CALLABLE_TRAITS_ST
-#undef CALLABLE_TRAITS_CC_TAG
-#undef CALLABLE_TRAITS_VARARGS_CC
+#undef BOOST_CLBL_TRTS_CC
+#undef BOOST_CLBL_TRTS_ST
+#undef BOOST_CLBL_TRTS_CC_TAG
+#undef BOOST_CLBL_TRTS_VARARGS_CC
#endif
-#ifdef CALLABLE_TRAITS_ENABLE_PASCAL
-#define CALLABLE_TRAITS_CC_TAG pascal_tag
-#define CALLABLE_TRAITS_VARARGS_CC CALLABLE_TRAITS_DEFAULT_VARARGS_CC
-#define CALLABLE_TRAITS_CC
-#define CALLABLE_TRAITS_ST pascal
+#ifdef BOOST_CLBL_TRTS_ENABLE_PASCAL
+#define BOOST_CLBL_TRTS_CC_TAG pascal_tag
+#define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
+#define BOOST_CLBL_TRTS_CC
+#define BOOST_CLBL_TRTS_ST pascal
#include
-#undef CALLABLE_TRAITS_CC
-#undef CALLABLE_TRAITS_ST
-#undef CALLABLE_TRAITS_CC_TAG
-#undef CALLABLE_TRAITS_VARARGS_CC
+#undef BOOST_CLBL_TRTS_CC
+#undef BOOST_CLBL_TRTS_ST
+#undef BOOST_CLBL_TRTS_CC_TAG
+#undef BOOST_CLBL_TRTS_VARARGS_CC
#endif
template
@@ -189,6 +189,6 @@ struct function : std::conditional::value,
using replace_args = typename base::template replace_args&;
};
-CALLABLE_TRAITS_DETAIL_NAMESPACE_END
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_END
-#endif // #ifndef CALLABLE_TRAITS_DETAIL_FUNCTION_HPP
+#endif // #ifndef BOOST_CLBL_TRTS_DETAIL_FUNCTION_HPP
diff --git a/include/boost/callable_traits/detail/function_object.hpp b/include/boost/callable_traits/detail/function_object.hpp
index 2b31769..dd66454 100644
--- a/include/boost/callable_traits/detail/function_object.hpp
+++ b/include/boost/callable_traits/detail/function_object.hpp
@@ -6,8 +6,8 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_DETAIL_FUNCTION_OBJECT_HPP
-#define CALLABLE_TRAITS_DETAIL_FUNCTION_OBJECT_HPP
+#ifndef BOOST_CLBL_TRTS_DETAIL_FUNCTION_OBJECT_HPP
+#define BOOST_CLBL_TRTS_DETAIL_FUNCTION_OBJECT_HPP
#include
#include
@@ -17,7 +17,7 @@ Distributed under the Boost Software License, Version 1.0.
#include
-CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_BEGIN
template
struct function_object : Base {
@@ -114,6 +114,6 @@ CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
struct function_object
: default_callable_traits<> {};
-CALLABLE_TRAITS_DETAIL_NAMESPACE_END
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_END
#endif
diff --git a/include/boost/callable_traits/detail/fwd/function_fwd.hpp b/include/boost/callable_traits/detail/fwd/function_fwd.hpp
index 1e61f7a..3039493 100644
--- a/include/boost/callable_traits/detail/fwd/function_fwd.hpp
+++ b/include/boost/callable_traits/detail/fwd/function_fwd.hpp
@@ -6,16 +6,16 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_DETAIL_FWD_FUNCTION_FWD_HPP
-#define CALLABLE_TRAITS_DETAIL_FWD_FUNCTION_FWD_HPP
+#ifndef BOOST_CLBL_TRTS_DETAIL_FWD_FUNCTION_FWD_HPP
+#define BOOST_CLBL_TRTS_DETAIL_FWD_FUNCTION_FWD_HPP
#include
-CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_BEGIN
template
struct function;
-CALLABLE_TRAITS_DETAIL_NAMESPACE_END
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_END
#endif
diff --git a/include/boost/callable_traits/detail/fwd/function_object_fwd.hpp b/include/boost/callable_traits/detail/fwd/function_object_fwd.hpp
index 64f3b96..d1b877f 100644
--- a/include/boost/callable_traits/detail/fwd/function_object_fwd.hpp
+++ b/include/boost/callable_traits/detail/fwd/function_object_fwd.hpp
@@ -6,13 +6,13 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_DETAIL_FWD_FUNCTION_OBJECT_FWD_HPP
-#define CALLABLE_TRAITS_DETAIL_FWD_FUNCTION_OBJECT_FWD_HPP
+#ifndef BOOST_CLBL_TRTS_DETAIL_FWD_FUNCTION_OBJECT_FWD_HPP
+#define BOOST_CLBL_TRTS_DETAIL_FWD_FUNCTION_OBJECT_FWD_HPP
#include
#include
-CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_BEGIN
template
struct has_normal_call_operator
@@ -52,7 +52,7 @@ CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
template>
struct function_object;
-CALLABLE_TRAITS_DETAIL_NAMESPACE_END
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_END
#endif
diff --git a/include/boost/callable_traits/detail/fwd/pmd_fwd.hpp b/include/boost/callable_traits/detail/fwd/pmd_fwd.hpp
index b36c278..c07112e 100644
--- a/include/boost/callable_traits/detail/fwd/pmd_fwd.hpp
+++ b/include/boost/callable_traits/detail/fwd/pmd_fwd.hpp
@@ -6,14 +6,14 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_DETAIL_FWD_PMD_FWD_HPP
-#define CALLABLE_TRAITS_DETAIL_FWD_PMD_FWD_HPP
+#ifndef BOOST_CLBL_TRTS_DETAIL_FWD_PMD_FWD_HPP
+#define BOOST_CLBL_TRTS_DETAIL_FWD_PMD_FWD_HPP
-CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_BEGIN
template
struct pmd;
-CALLABLE_TRAITS_DETAIL_NAMESPACE_END
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_END
#endif
diff --git a/include/boost/callable_traits/detail/fwd/pmf_fwd.hpp b/include/boost/callable_traits/detail/fwd/pmf_fwd.hpp
index 864b1e6..488148a 100644
--- a/include/boost/callable_traits/detail/fwd/pmf_fwd.hpp
+++ b/include/boost/callable_traits/detail/fwd/pmf_fwd.hpp
@@ -6,16 +6,16 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_DETAIL_FWD_PMF_FWD_HPP
-#define CALLABLE_TRAITS_DETAIL_FWD_PMF_FWD_HPP
+#ifndef BOOST_CLBL_TRTS_DETAIL_FWD_PMF_FWD_HPP
+#define BOOST_CLBL_TRTS_DETAIL_FWD_PMF_FWD_HPP
#include
-CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_BEGIN
template
struct pmf;
-CALLABLE_TRAITS_DETAIL_NAMESPACE_END
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_END
#endif
diff --git a/include/boost/callable_traits/detail/parameter_index_helper.hpp b/include/boost/callable_traits/detail/parameter_index_helper.hpp
index 452901a..76cabc9 100644
--- a/include/boost/callable_traits/detail/parameter_index_helper.hpp
+++ b/include/boost/callable_traits/detail/parameter_index_helper.hpp
@@ -1,9 +1,9 @@
-#ifndef CALLABLE_TRAITS_PARAMETER_INDEX_HELPER_HPP
-#define CALLABLE_TRAITS_PARAMETER_INDEX_HELPER_HPP
+#ifndef BOOST_CLBL_TRTS_PARAMETER_INDEX_HELPER_HPP
+#define BOOST_CLBL_TRTS_PARAMETER_INDEX_HELPER_HPP
#include
-CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_BEGIN
template
@@ -48,6 +48,6 @@ CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
-CALLABLE_TRAITS_DETAIL_NAMESPACE_END
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_END
-#endif // #ifndef CALLABLE_TRAITS_PARAMETER_INDEX_HELPER_HPP
+#endif // #ifndef BOOST_CLBL_TRTS_PARAMETER_INDEX_HELPER_HPP
diff --git a/include/boost/callable_traits/detail/pmd.hpp b/include/boost/callable_traits/detail/pmd.hpp
index 7ed4bb6..0a1ba71 100644
--- a/include/boost/callable_traits/detail/pmd.hpp
+++ b/include/boost/callable_traits/detail/pmd.hpp
@@ -6,8 +6,8 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_DETAIL_PMD_HPP
-#define CALLABLE_TRAITS_DETAIL_PMD_HPP
+#ifndef BOOST_CLBL_TRTS_DETAIL_PMD_HPP
+#define BOOST_CLBL_TRTS_DETAIL_PMD_HPP
#include
@@ -16,7 +16,7 @@ Distributed under the Boost Software License, Version 1.0.
#include
#include
-CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_BEGIN
template
struct pmd : default_callable_traits {};
@@ -48,6 +48,6 @@ CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
using expand_args = Container;
};
-CALLABLE_TRAITS_DETAIL_NAMESPACE_END
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_END
#endif
diff --git a/include/boost/callable_traits/detail/pmf.hpp b/include/boost/callable_traits/detail/pmf.hpp
index b061edb..adaf218 100644
--- a/include/boost/callable_traits/detail/pmf.hpp
+++ b/include/boost/callable_traits/detail/pmf.hpp
@@ -6,8 +6,8 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_DETAIL_PMF_HPP
-#define CALLABLE_TRAITS_DETAIL_PMF_HPP
+#ifndef BOOST_CLBL_TRTS_DETAIL_PMF_HPP
+#define BOOST_CLBL_TRTS_DETAIL_PMF_HPP
#include
#include
@@ -16,7 +16,7 @@ Distributed under the Boost Software License, Version 1.0.
#include
#include
-CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_BEGIN
template
@@ -37,54 +37,54 @@ CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
template
struct pmf : default_callable_traits {};
- #define CALLABLE_TRAITS_CC_TAG dummy
- #define CALLABLE_TRAITS_VARARGS_CC CALLABLE_TRAITS_DEFAULT_VARARGS_CC
- #define CALLABLE_TRAITS_CC
+ #define BOOST_CLBL_TRTS_CC_TAG dummy
+ #define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
+ #define BOOST_CLBL_TRTS_CC
#include
- #undef CALLABLE_TRAITS_CC
- #undef CALLABLE_TRAITS_CC_TAG
- #undef CALLABLE_TRAITS_VARARGS_CC
+ #undef BOOST_CLBL_TRTS_CC
+ #undef BOOST_CLBL_TRTS_CC_TAG
+ #undef BOOST_CLBL_TRTS_VARARGS_CC
- #define CALLABLE_TRAITS_CC_TAG dummy
- #define CALLABLE_TRAITS_VARARGS_CC CALLABLE_TRAITS_DEFAULT_VARARGS_CC
- #define CALLABLE_TRAITS_CC
+ #define BOOST_CLBL_TRTS_CC_TAG dummy
+ #define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
+ #define BOOST_CLBL_TRTS_CC
#include
- #undef CALLABLE_TRAITS_CC
- #undef CALLABLE_TRAITS_CC_TAG
- #undef CALLABLE_TRAITS_VARARGS_CC
+ #undef BOOST_CLBL_TRTS_CC
+ #undef BOOST_CLBL_TRTS_CC_TAG
+ #undef BOOST_CLBL_TRTS_VARARGS_CC
- #ifdef CALLABLE_TRAITS_ENABLE_CDECL
- #define CALLABLE_TRAITS_CC_TAG cdecl_tag
- #define CALLABLE_TRAITS_VARARGS_CC __cdecl
- #define CALLABLE_TRAITS_CC __cdecl
+ #ifdef BOOST_CLBL_TRTS_ENABLE_CDECL
+ #define BOOST_CLBL_TRTS_CC_TAG cdecl_tag
+ #define BOOST_CLBL_TRTS_VARARGS_CC __cdecl
+ #define BOOST_CLBL_TRTS_CC __cdecl
#include
- #undef CALLABLE_TRAITS_CC
- #undef CALLABLE_TRAITS_CC_TAG
- #undef CALLABLE_TRAITS_VARARGS_CC
+ #undef BOOST_CLBL_TRTS_CC
+ #undef BOOST_CLBL_TRTS_CC_TAG
+ #undef BOOST_CLBL_TRTS_VARARGS_CC
- #endif //CALLABLE_TRAITS_ENABLE_CDECL
+ #endif //BOOST_CLBL_TRTS_ENABLE_CDECL
- #ifdef CALLABLE_TRAITS_ENABLE_STDCALL
- #define CALLABLE_TRAITS_CC_TAG stdcall_tag
- #define CALLABLE_TRAITS_VARARGS_CC CALLABLE_TRAITS_DEFAULT_VARARGS_CC
- #define CALLABLE_TRAITS_CC __stdcall
+ #ifdef BOOST_CLBL_TRTS_ENABLE_STDCALL
+ #define BOOST_CLBL_TRTS_CC_TAG stdcall_tag
+ #define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
+ #define BOOST_CLBL_TRTS_CC __stdcall
#include
- #undef CALLABLE_TRAITS_CC
- #undef CALLABLE_TRAITS_CC_TAG
- #undef CALLABLE_TRAITS_VARARGS_CC
+ #undef BOOST_CLBL_TRTS_CC
+ #undef BOOST_CLBL_TRTS_CC_TAG
+ #undef BOOST_CLBL_TRTS_VARARGS_CC
#endif
- #ifdef CALLABLE_TRAITS_ENABLE_FASTCALL
- #define CALLABLE_TRAITS_CC_TAG fastcall_tag
- #define CALLABLE_TRAITS_VARARGS_CC CALLABLE_TRAITS_DEFAULT_VARARGS_CC
- #define CALLABLE_TRAITS_CC __fastcall
+ #ifdef BOOST_CLBL_TRTS_ENABLE_FASTCALL
+ #define BOOST_CLBL_TRTS_CC_TAG fastcall_tag
+ #define BOOST_CLBL_TRTS_VARARGS_CC BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
+ #define BOOST_CLBL_TRTS_CC __fastcall
#include
- #undef CALLABLE_TRAITS_CC
- #undef CALLABLE_TRAITS_CC_TAG
- #undef CALLABLE_TRAITS_VARARGS_CC
+ #undef BOOST_CLBL_TRTS_CC
+ #undef BOOST_CLBL_TRTS_CC_TAG
+ #undef BOOST_CLBL_TRTS_VARARGS_CC
#endif
-CALLABLE_TRAITS_DETAIL_NAMESPACE_END
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_END
#endif
diff --git a/include/boost/callable_traits/detail/polyfills/conjunction.hpp b/include/boost/callable_traits/detail/polyfills/conjunction.hpp
index 76bd233..650fcc5 100644
--- a/include/boost/callable_traits/detail/polyfills/conjunction.hpp
+++ b/include/boost/callable_traits/detail/polyfills/conjunction.hpp
@@ -6,15 +6,15 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_DETAIL_POLYFILLS_CONJUNCTION_HPP
-#define CALLABLE_TRAITS_DETAIL_POLYFILLS_CONJUNCTION_HPP
+#ifndef BOOST_CLBL_TRTS_DETAIL_POLYFILLS_CONJUNCTION_HPP
+#define BOOST_CLBL_TRTS_DETAIL_POLYFILLS_CONJUNCTION_HPP
-#undef CALLABLE_TRAITS_CONJUNCTION
-#define CALLABLE_TRAITS_CONJUNCTION(...) \
+#undef BOOST_CLBL_TRTS_CONJUNCTION
+#define BOOST_CLBL_TRTS_CONJUNCTION(...) \
::boost::callable_traits::detail::polyfills::conjunction<__VA_ARGS__>
-CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_BEGIN
namespace polyfills {
@@ -33,6 +33,6 @@ namespace polyfills {
}
-CALLABLE_TRAITS_DETAIL_NAMESPACE_END
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_END
#endif
diff --git a/include/boost/callable_traits/detail/polyfills/disjunction.hpp b/include/boost/callable_traits/detail/polyfills/disjunction.hpp
index 2f2b4a1..c871890 100644
--- a/include/boost/callable_traits/detail/polyfills/disjunction.hpp
+++ b/include/boost/callable_traits/detail/polyfills/disjunction.hpp
@@ -6,15 +6,15 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_DETAIL_POLYFILLS_DISJUNCTION_HPP
-#define CALLABLE_TRAITS_DETAIL_POLYFILLS_DISJUNCTION_HPP
+#ifndef BOOST_CLBL_TRTS_DETAIL_POLYFILLS_DISJUNCTION_HPP
+#define BOOST_CLBL_TRTS_DETAIL_POLYFILLS_DISJUNCTION_HPP
-#undef CALLABLE_TRAITS_DISJUNCTION
-#define CALLABLE_TRAITS_DISJUNCTION(...) \
+#undef BOOST_CLBL_TRTS_DISJUNCTION
+#define BOOST_CLBL_TRTS_DISJUNCTION(...) \
::boost::callable_traits::detail::polyfills::disjunction<__VA_ARGS__>
-CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_BEGIN
namespace polyfills {
@@ -33,6 +33,6 @@ namespace polyfills {
}
-CALLABLE_TRAITS_DETAIL_NAMESPACE_END
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_END
#endif
diff --git a/include/boost/callable_traits/detail/polyfills/make_index_sequence.hpp b/include/boost/callable_traits/detail/polyfills/make_index_sequence.hpp
index 0384723..8a6bfe3 100644
--- a/include/boost/callable_traits/detail/polyfills/make_index_sequence.hpp
+++ b/include/boost/callable_traits/detail/polyfills/make_index_sequence.hpp
@@ -5,18 +5,18 @@ Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
*/
-#ifndef CALLABLE_TRAITS_DETAIL_POLYFILLS_MAKE_INDEX_SEQUENCE_HPP
-#define CALLABLE_TRAITS_DETAIL_POLYFILLS_MAKE_INDEX_SEQUENCE_HPP
+#ifndef BOOST_CLBL_TRTS_DETAIL_POLYFILLS_MAKE_INDEX_SEQUENCE_HPP
+#define BOOST_CLBL_TRTS_DETAIL_POLYFILLS_MAKE_INDEX_SEQUENCE_HPP
-#undef CALLABLE_TRAITS_IX_SEQ
-#define CALLABLE_TRAITS_IX_SEQ(...) ::boost::callable_traits::detail::polyfills::index_sequence<__VA_ARGS__>
+#undef BOOST_CLBL_TRTS_IX_SEQ
+#define BOOST_CLBL_TRTS_IX_SEQ(...) ::boost::callable_traits::detail::polyfills::index_sequence<__VA_ARGS__>
-#undef CALLABLE_TRAITS_MAKE_IX_SEQ
-#define CALLABLE_TRAITS_MAKE_IX_SEQ(...) ::boost::callable_traits::detail::polyfills::make_index_sequence<__VA_ARGS__>
+#undef BOOST_CLBL_TRTS_MAKE_IX_SEQ
+#define BOOST_CLBL_TRTS_MAKE_IX_SEQ(...) ::boost::callable_traits::detail::polyfills::make_index_sequence<__VA_ARGS__>
// http://stackoverflow.com/questions/17424477/implementation-c14-make-integer-sequence
-CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_BEGIN
namespace polyfills {
@@ -54,6 +54,6 @@ namespace polyfills {
typename make_index_sequence_t::type;
}
-CALLABLE_TRAITS_DETAIL_NAMESPACE_END
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_END
#endif
diff --git a/include/boost/callable_traits/detail/qualifier_flags.hpp b/include/boost/callable_traits/detail/qualifier_flags.hpp
index 1cb6ee3..f5561f5 100644
--- a/include/boost/callable_traits/detail/qualifier_flags.hpp
+++ b/include/boost/callable_traits/detail/qualifier_flags.hpp
@@ -7,14 +7,14 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_QUALIFIER_FLAGS_HPP
-#define CALLABLE_TRAITS_QUALIFIER_FLAGS_HPP
+#ifndef BOOST_CLBL_TRTS_QUALIFIER_FLAGS_HPP
+#define BOOST_CLBL_TRTS_QUALIFIER_FLAGS_HPP
#include
#include
#include
-CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_BEGIN
//bit qualifier_flags used to signify cv/ref qualifiers
using qualifier_flags = std::uint32_t;
@@ -51,7 +51,7 @@ constexpr qualifier_flags const_ = 1;
// or member function overload.
constexpr qualifier_flags volatile_ = 2;
-#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
constexpr qualifier_flags lref_ = default_;
constexpr qualifier_flags rref_ = default_;
@@ -67,7 +67,7 @@ constexpr qualifier_flags lref_ = 4;
// overload.
constexpr qualifier_flags rref_ = 8;
-#endif //#ifdef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#endif //#ifdef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
constexpr qualifier_flags cv_ = 3;
@@ -121,6 +121,6 @@ template struct flag_map { static constexpr qualif
template struct flag_map { static constexpr qualifier_flags value = const_ | volatile_ | lref_; };
template struct flag_map { static constexpr qualifier_flags value = const_ | volatile_ | rref_; };
-CALLABLE_TRAITS_DETAIL_NAMESPACE_END
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_END
-#endif //#ifndef CALLABLE_TRAITS_QUALIFIER_FLAGS_HPP
+#endif //#ifndef BOOST_CLBL_TRTS_QUALIFIER_FLAGS_HPP
diff --git a/include/boost/callable_traits/detail/set_function_qualifiers.hpp b/include/boost/callable_traits/detail/set_function_qualifiers.hpp
index 03adf45..2477f6b 100644
--- a/include/boost/callable_traits/detail/set_function_qualifiers.hpp
+++ b/include/boost/callable_traits/detail/set_function_qualifiers.hpp
@@ -6,110 +6,102 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_DETAIL_SET_FUNCTION_QUALIFIERS_HPP
-#define CALLABLE_TRAITS_DETAIL_SET_FUNCTION_QUALIFIERS_HPP
+#ifndef BOOST_CLBL_TRTS_DETAIL_SET_FUNCTION_QUALIFIERS_HPP
+#define BOOST_CLBL_TRTS_DETAIL_SET_FUNCTION_QUALIFIERS_HPP
#include
-#define CALLABLE_TRAITS_SET_FUNCTION_QUALIFIERS(QUAL) \
+#define BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(QUAL) \
template \
struct set_function_qualifiers_t < \
flag_map::value, false, false, Return, Args...> { \
- \
using type = Return(Args...) QUAL; \
}; \
\
template \
struct set_function_qualifiers_t < \
flag_map::value, true, false, Return, Args...> { \
- \
using type = Return(Args...) QUAL \
- CALLABLE_TRAITS_TRANSACTION_SAFE_SPECIFIER; \
+ BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER; \
}; \
\
template \
struct set_function_qualifiers_t < \
flag_map::value, false, true, Return, Args...> { \
- \
using type = Return(Args...) QUAL \
- CALLABLE_TRAITS_NOEXCEPT_SPECIFIER; \
+ BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER; \
}; \
\
template \
struct set_function_qualifiers_t < \
flag_map::value, true, true, Return, Args...> { \
- \
using type = Return(Args...) QUAL \
- CALLABLE_TRAITS_TRANSACTION_SAFE_SPECIFIER \
- CALLABLE_TRAITS_NOEXCEPT_SPECIFIER; \
+ BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER \
+ BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER; \
}; \
\
template \
struct set_varargs_function_qualifiers_t < \
flag_map::value, false, false, Return, Args...> { \
- \
using type = Return(Args..., ...) QUAL; \
}; \
\
template \
struct set_varargs_function_qualifiers_t < \
flag_map::value, true, false, Return, Args...> { \
- \
using type = Return(Args..., ...) QUAL \
- CALLABLE_TRAITS_TRANSACTION_SAFE_SPECIFIER; \
+ BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER; \
}; \
\
template \
struct set_varargs_function_qualifiers_t < \
flag_map::value, false, true, Return, Args...> { \
- \
using type = Return(Args..., ...) QUAL \
- CALLABLE_TRAITS_NOEXCEPT_SPECIFIER; \
+ BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER; \
}; \
\
template \
struct set_varargs_function_qualifiers_t < \
flag_map::value, true, true, Return, Args...> { \
- \
using type = Return(Args..., ...) QUAL \
- CALLABLE_TRAITS_TRANSACTION_SAFE_SPECIFIER \
- CALLABLE_TRAITS_NOEXCEPT_SPECIFIER; \
+ BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER \
+ BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER; \
} \
/**/
-CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_BEGIN
- template
+ template
struct set_function_qualifiers_t {
using type = Return(Args...);
};
- template
+ template
struct set_varargs_function_qualifiers_t {
using type = Return(Args..., ...);
};
-#ifndef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#ifndef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
- CALLABLE_TRAITS_SET_FUNCTION_QUALIFIERS(const);
- CALLABLE_TRAITS_SET_FUNCTION_QUALIFIERS(volatile);
- CALLABLE_TRAITS_SET_FUNCTION_QUALIFIERS(const volatile);
+ BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(const);
+ BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(volatile);
+ BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(const volatile);
-#ifndef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
+#ifndef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
- CALLABLE_TRAITS_SET_FUNCTION_QUALIFIERS(&);
- CALLABLE_TRAITS_SET_FUNCTION_QUALIFIERS(&&);
- CALLABLE_TRAITS_SET_FUNCTION_QUALIFIERS(const &);
- CALLABLE_TRAITS_SET_FUNCTION_QUALIFIERS(const &&);
- CALLABLE_TRAITS_SET_FUNCTION_QUALIFIERS(volatile &);
- CALLABLE_TRAITS_SET_FUNCTION_QUALIFIERS(volatile &&);
- CALLABLE_TRAITS_SET_FUNCTION_QUALIFIERS(const volatile &);
- CALLABLE_TRAITS_SET_FUNCTION_QUALIFIERS(const volatile &&);
+ BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(&);
+ BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(&&);
+ BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(const &);
+ BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(const &&);
+ BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(volatile &);
+ BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(volatile &&);
+ BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(const volatile &);
+ BOOST_CLBL_TRTS_SET_FUNCTION_QUALIFIERS(const volatile &&);
-#endif //#ifndef CALLABLE_TRAITS_DISABLE_REFERENCE_QUALIFIERS
-#endif //#ifndef CALLABLE_TRAITS_DISABLE_ABOMINABLE_FUNCTIONS
+#endif //#ifndef BOOST_CLBL_TRTS_DISABLE_REFERENCE_QUALIFIERS
+#endif //#ifndef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
template
@@ -123,6 +115,6 @@ CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
typename set_varargs_function_qualifiers_t::type;
-CALLABLE_TRAITS_DETAIL_NAMESPACE_END
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_END
-#endif //CALLABLE_TRAITS_DETAIL_SET_FUNCTION_QUALIFIERS_HPP
+#endif //BOOST_CLBL_TRTS_DETAIL_SET_FUNCTION_QUALIFIERS_HPP
diff --git a/include/boost/callable_traits/detail/sfinae_errors.hpp b/include/boost/callable_traits/detail/sfinae_errors.hpp
index 879da29..e69a374 100644
--- a/include/boost/callable_traits/detail/sfinae_errors.hpp
+++ b/include/boost/callable_traits/detail/sfinae_errors.hpp
@@ -6,12 +6,12 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_SFINAE_ERRORS_HPP
-#define CALLABLE_TRAITS_SFINAE_ERRORS_HPP
+#ifndef BOOST_CLBL_TRTS_SFINAE_ERRORS_HPP
+#define BOOST_CLBL_TRTS_SFINAE_ERRORS_HPP
#include
-CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_BEGIN
struct sfinae_error{};
@@ -23,7 +23,6 @@ CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
template
struct fail_if : T {
-
static_assert(std::is_base_of::value,
"incorrect usage of fail_if");
@@ -31,7 +30,7 @@ CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
};
template
- using sfinae_try = typename CALLABLE_TRAITS_DISJUNCTION(
+ using sfinae_try = typename BOOST_CLBL_TRTS_DISJUNCTION(
FailIfs..., success)::_::type;
template
@@ -40,12 +39,12 @@ CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
FailMsg, FailMsg>::type::_::type;
};
-CALLABLE_TRAITS_DETAIL_NAMESPACE_END
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_END
-#define CALLABLE_TRAITS_PP_CAT_(x, y) x ## y
-#define CALLABLE_TRAITS_PP_CAT(x, y) CALLABLE_TRAITS_PP_CAT_(x, y)
+#define BOOST_CLBL_TRTS_PP_CAT_(x, y) x ## y
+#define BOOST_CLBL_TRTS_PP_CAT(x, y) BOOST_CLBL_TRTS_PP_CAT_(x, y)
-#define CALLABLE_TRAITS_DEFINE_SFINAE_ERROR_ORIGIN(origin) \
+#define BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(origin) \
namespace error { \
template \
struct origin : \
@@ -54,37 +53,37 @@ namespace error { \
} \
/**/
-#define CALLABLE_TRAITS_SFINAE_MSG(origin, name) \
-struct CALLABLE_TRAITS_PP_CAT(name, _ ){}; \
+#define BOOST_CLBL_TRTS_SFINAE_MSG(origin, name) \
+struct BOOST_CLBL_TRTS_PP_CAT(name, _ ){}; \
struct name : error::origin< \
- CALLABLE_TRAITS_PP_CAT(name, _ )>{}; \
+ BOOST_CLBL_TRTS_PP_CAT(name, _ )>{}; \
/**/
-CALLABLE_TRAITS_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_NAMESPACE_BEGIN
- CALLABLE_TRAITS_DEFINE_SFINAE_ERROR_ORIGIN(parameters)
- CALLABLE_TRAITS_SFINAE_MSG(parameters, index_out_of_range_for_parameter_list)
- CALLABLE_TRAITS_SFINAE_MSG(parameters, cannot_determine_parameters_for_this_type)
+ BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(parameters)
+ BOOST_CLBL_TRTS_SFINAE_MSG(parameters, index_out_of_range_for_parameter_list)
+ BOOST_CLBL_TRTS_SFINAE_MSG(parameters, cannot_determine_parameters_for_this_type)
- CALLABLE_TRAITS_DEFINE_SFINAE_ERROR_ORIGIN(varargs)
- CALLABLE_TRAITS_SFINAE_MSG(varargs, varargs_are_illegal_for_this_type)
+ BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(varargs)
+ BOOST_CLBL_TRTS_SFINAE_MSG(varargs, varargs_are_illegal_for_this_type)
- CALLABLE_TRAITS_DEFINE_SFINAE_ERROR_ORIGIN(member_qualifiers)
- CALLABLE_TRAITS_SFINAE_MSG(member_qualifiers, member_qualifiers_are_illegal_for_this_type)
- CALLABLE_TRAITS_SFINAE_MSG(member_qualifiers, this_compiler_doesnt_support_abominable_function_types)
+ BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(member_qualifiers)
+ BOOST_CLBL_TRTS_SFINAE_MSG(member_qualifiers, member_qualifiers_are_illegal_for_this_type)
+ BOOST_CLBL_TRTS_SFINAE_MSG(member_qualifiers, this_compiler_doesnt_support_abominable_function_types)
- CALLABLE_TRAITS_DEFINE_SFINAE_ERROR_ORIGIN(transaction_safe_)
- CALLABLE_TRAITS_SFINAE_MSG(transaction_safe_, transaction_safe_is_not_supported_by_this_configuration)
+ BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(transaction_safe_)
+ BOOST_CLBL_TRTS_SFINAE_MSG(transaction_safe_, transaction_safe_is_not_supported_by_this_configuration)
- CALLABLE_TRAITS_DEFINE_SFINAE_ERROR_ORIGIN(expand_args)
- CALLABLE_TRAITS_SFINAE_MSG(expand_args, cannot_expand_the_parameter_list_of_first_template_argument)
+ BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(expand_args)
+ BOOST_CLBL_TRTS_SFINAE_MSG(expand_args, cannot_expand_the_parameter_list_of_first_template_argument)
- CALLABLE_TRAITS_DEFINE_SFINAE_ERROR_ORIGIN(member_pointer_required)
- CALLABLE_TRAITS_SFINAE_MSG(member_pointer_required, type_is_not_a_member_pointer)
+ BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(member_pointer_required)
+ BOOST_CLBL_TRTS_SFINAE_MSG(member_pointer_required, type_is_not_a_member_pointer)
- CALLABLE_TRAITS_DEFINE_SFINAE_ERROR_ORIGIN(reference_error)
- CALLABLE_TRAITS_SFINAE_MSG(reference_error, reference_type_not_supported_by_this_metafunction)
+ BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(reference_error)
+ BOOST_CLBL_TRTS_SFINAE_MSG(reference_error, reference_type_not_supported_by_this_metafunction)
-CALLABLE_TRAITS_NAMESPACE_END
+BOOST_CLBL_TRTS_NAMESPACE_END
-#endif // #ifndef CALLABLE_TRAITS_SFINAE_ERRORS_HPP
+#endif // #ifndef BOOST_CLBL_TRTS_SFINAE_ERRORS_HPP
diff --git a/include/boost/callable_traits/detail/traits.hpp b/include/boost/callable_traits/detail/traits.hpp
index c5a3c67..1e20034 100644
--- a/include/boost/callable_traits/detail/traits.hpp
+++ b/include/boost/callable_traits/detail/traits.hpp
@@ -6,8 +6,8 @@ Distributed under the Boost Software License, Version 1.0.
*/
-#ifndef CALLABLE_TRAITS_DETAIL_TRAITS_HPP
-#define CALLABLE_TRAITS_DETAIL_TRAITS_HPP
+#ifndef BOOST_CLBL_TRTS_DETAIL_TRAITS_HPP
+#define BOOST_CLBL_TRTS_DETAIL_TRAITS_HPP
#include
#include
@@ -15,10 +15,11 @@ Distributed under the Boost Software License, Version 1.0.
#include
#include
-CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_BEGIN
+ // Here is where the magic happens
template
- using traits = typename CALLABLE_TRAITS_DISJUNCTION(
+ using traits = typename BOOST_CLBL_TRTS_DISJUNCTION(
function_object,
function,
pmf,
@@ -27,6 +28,6 @@ CALLABLE_TRAITS_DETAIL_NAMESPACE_BEGIN
default_callable_traits
)::traits;
-CALLABLE_TRAITS_DETAIL_NAMESPACE_END
+BOOST_CLBL_TRTS_DETAIL_NAMESPACE_END
#endif
diff --git a/include/boost/callable_traits/detail/unguarded/args_pack_manipulations.hpp b/include/boost/callable_traits/detail/unguarded/args_pack_manipulations.hpp
index 9c49e1e..df5fce7 100644
--- a/include/boost/callable_traits/detail/unguarded/args_pack_manipulations.hpp
+++ b/include/boost/callable_traits/detail/unguarded/args_pack_manipulations.hpp
@@ -9,7 +9,7 @@ DO NOT INCLUDE THIS HEADER DIRECTLY
*/
-static constexpr std::size_t arg_count = sizeof...(CALLABLE_TRAITS_ARGS_PACK);
+static constexpr std::size_t arg_count = sizeof...(BOOST_CLBL_TRTS_ARGS_PACK);
template
struct map_insert {
@@ -26,14 +26,14 @@ template
struct insert_impl;
template
-struct insert_impl, StartTo> {
+struct insert_impl, StartTo> {
using type = sfinae_try<
- CALLABLE_TRAITS_BEGIN_PACK_MANIP
+ BOOST_CLBL_TRTS_BEGIN_PACK_MANIP
typename std::tuple_element<
map_insert::value,
- std::tuple>::type...
- CALLABLE_TRAITS_END_PACK_MANIP,
+ std::tuple>::type...
+ BOOST_CLBL_TRTS_END_PACK_MANIP,
fail_if
>;
@@ -41,7 +41,7 @@ struct insert_impl, StartTo> {
template
using insert_args = typename insert_impl<
- CALLABLE_TRAITS_MAKE_IX_SEQ(arg_count + sizeof...(U)),
+ BOOST_CLBL_TRTS_MAKE_IX_SEQ(arg_count + sizeof...(U)),
std::tuple, N>::type;
template
@@ -57,14 +57,14 @@ template
struct remove_impl;
template
-struct remove_impl {
+struct remove_impl {
using type = sfinae_try<
- CALLABLE_TRAITS_BEGIN_PACK_MANIP
+ BOOST_CLBL_TRTS_BEGIN_PACK_MANIP
typename std::tuple_element<
map_remove::value,
- std::tuple>::type...
- CALLABLE_TRAITS_END_PACK_MANIP,
+ std::tuple>::type...
+ BOOST_CLBL_TRTS_END_PACK_MANIP,
fail_if
>;
@@ -72,17 +72,17 @@ struct remove_impl {
//when not removing anything
template
-struct remove_impl {
+struct remove_impl {
using type =
- CALLABLE_TRAITS_BEGIN_PACK_MANIP
- CALLABLE_TRAITS_ARGS_PACK...
- CALLABLE_TRAITS_END_PACK_MANIP;
+ BOOST_CLBL_TRTS_BEGIN_PACK_MANIP
+ BOOST_CLBL_TRTS_ARGS_PACK...
+ BOOST_CLBL_TRTS_END_PACK_MANIP;
};
template
using remove_args = typename remove_impl<
- CALLABLE_TRAITS_MAKE_IX_SEQ(arg_count - Count), StartIndex, Count>::type;
+ BOOST_CLBL_TRTS_MAKE_IX_SEQ(arg_count - Count), StartIndex, Count>::type;
template
struct map_overwrite {
@@ -99,14 +99,14 @@ template
struct overwrite_impl;
template
-struct overwrite_impl, StartTo> {
+struct overwrite_impl, StartTo> {
using type = sfinae_try<
- CALLABLE_TRAITS_BEGIN_PACK_MANIP
+ BOOST_CLBL_TRTS_BEGIN_PACK_MANIP
typename std::tuple_element<
map_overwrite::value,
- std::tuple>::type...
- CALLABLE_TRAITS_END_PACK_MANIP,
+ std::tuple>::type...
+ BOOST_CLBL_TRTS_END_PACK_MANIP,
fail_if
>;
@@ -114,21 +114,21 @@ struct overwrite_impl, StartTo> {
template
using replace_args = typename overwrite_impl<
- CALLABLE_TRAITS_MAKE_IX_SEQ(arg_count <= StartIndex + sizeof...(U) ?
+ BOOST_CLBL_TRTS_MAKE_IX_SEQ(arg_count <= StartIndex + sizeof...(U) ?
StartIndex + sizeof...(U) : arg_count),
std::tuple, StartIndex>::type;
template
using push_front =
- CALLABLE_TRAITS_BEGIN_PACK_MANIP
- NewArgs..., CALLABLE_TRAITS_ARGS_PACK...
- CALLABLE_TRAITS_END_PACK_MANIP;
+ BOOST_CLBL_TRTS_BEGIN_PACK_MANIP
+ NewArgs..., BOOST_CLBL_TRTS_ARGS_PACK...
+ BOOST_CLBL_TRTS_END_PACK_MANIP;
template
using push_back =
-CALLABLE_TRAITS_BEGIN_PACK_MANIP
-CALLABLE_TRAITS_ARGS_PACK..., NewArgs...
-CALLABLE_TRAITS_END_PACK_MANIP;
+BOOST_CLBL_TRTS_BEGIN_PACK_MANIP
+BOOST_CLBL_TRTS_ARGS_PACK..., NewArgs...
+BOOST_CLBL_TRTS_END_PACK_MANIP;
template
using pop_front = remove_args<0, arg_count <= Count ? arg_count : Count>;
diff --git a/include/boost/callable_traits/detail/unguarded/function.hpp b/include/boost/callable_traits/detail/unguarded/function.hpp
index 07ffb73..ee5de44 100644
--- a/include/boost/callable_traits/detail/unguarded/function.hpp
+++ b/include/boost/callable_traits/detail/unguarded/function.hpp
@@ -8,18 +8,18 @@ HEADER GUARDS INTENTIONALLY OMITTED
DO NOT INCLUDE THIS HEADER DIRECTLY
*/
-#define CALLABLE_TRAITS_INCLUDE_TRANSACTION_SAFE
-#define CALLABLE_TRAITS_IS_TRANSACTION_SAFE std::false_type
+#define BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
+#define BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE std::false_type
#include
-#undef CALLABLE_TRAITS_INCLUDE_TRANSACTION_SAFE
-#undef CALLABLE_TRAITS_IS_TRANSACTION_SAFE
+#undef BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
+#undef BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE
-#ifdef CALLABLE_TRAITS_ENABLE_TRANSACTION_SAFE
-#define CALLABLE_TRAITS_IS_TRANSACTION_SAFE std::true_type
-#define CALLABLE_TRAITS_INCLUDE_TRANSACTION_SAFE transaction_safe
+#ifdef BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE
+#define BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE std::true_type
+#define BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE transaction_safe
#include
#endif
-#undef CALLABLE_TRAITS_INCLUDE_TRANSACTION_SAFE
-#undef CALLABLE_TRAITS_IS_TRANSACTION_SAFE
+#undef BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
+#undef BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE
diff --git a/include/boost/callable_traits/detail/unguarded/function_2.hpp b/include/boost/callable_traits/detail/unguarded/function_2.hpp
index 8d80997..796f483 100644
--- a/include/boost/callable_traits/detail/unguarded/function_2.hpp
+++ b/include/boost/callable_traits/detail/unguarded/function_2.hpp
@@ -6,21 +6,296 @@ Distributed under the Boost Software License, Version 1.0.
HEADER GUARDS INTENTIONALLY OMITTED
DO NOT INCLUDE THIS HEADER DIRECTLY
+
+macros used:
+
+BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS - the function-level qualifiers for the
+ current inclusion (combinations of `const` `volatile` `&` `&&`, or nothing)
+
+BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE - the transaction_safe specifier for
+ the current include (`transaction_safe` or nothing)
+
+BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE - `std::true_type` or `std::false_type`,
+ tied on whether BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE is `transaction_safe`
+
+BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER - `transaction_safe` when
+ BOOST_CLBL_TRTS_ENABLE_TRANSACTION_SAFE is enabled, otherwise nothing
+
+BOOST_CLBL_TRTS_NOEXCEPT_SPEC - the noexcept specifier for
+ the current include (`noexcept` or nothing)
+
+BOOST_CLBL_TRTS_IS_NOEXCEPT - `std::true_type` or `std::false_type`,
+ tied on whether BOOST_CLBL_TRTS_NOEXCEPT_SPEC is `noexcept`
+
+BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER - `noexcept` if
+ BOOST_CLBL_TRTS_ENABLE_NOEXCEPT_TYPES is defined, otherwise nothing
+
*/
-#define CALLABLE_TRAITS_INCLUDE_NOEXCEPT
-#define CALLABLE_TRAITS_IS_NOEXCEPT std::false_type
-#include
-#undef CALLABLE_TRAITS_INCLUDE_NOEXCEPT
-#undef CALLABLE_TRAITS_IS_NOEXCEPT
-#ifdef CALLABLE_TRAITS_ENABLE_NOEXCEPT_TYPES
+template
+struct function
+ : default_callable_traits {
+
+ static constexpr bool value = true;
+
+ using traits = function;
-#define CALLABLE_TRAITS_IS_NOEXCEPT std::true_type
-#define CALLABLE_TRAITS_INCLUDE_NOEXCEPT noexcept
-#include
-#undef CALLABLE_TRAITS_INCLUDE_NOEXCEPT
-#undef CALLABLE_TRAITS_IS_NOEXCEPT
+ using return_type = Return;
-#endif // #ifdef CALLABLE_TRAITS_ENABLE_NOEXCEPT_TYPES
+ using arg_types = std::tuple;
+ using non_invoke_arg_types = arg_types;
+
+ using type = Return(Args...)
+ BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
+ BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
+ BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
+
+ using function_type = Return(Args...);
+
+ using qualified_function_type = Return(Args...)
+ BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
+ BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
+ BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
+
+ using remove_varargs = type;
+
+ using add_varargs = Return (Args..., ...)
+ BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
+ BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
+ BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
+
+ using is_noexcept = BOOST_CLBL_TRTS_IS_NOEXCEPT;
+
+ using remove_noexcept = Return(Args...)
+ BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
+ BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE;
+
+ using add_noexcept = Return(Args...)
+ BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
+ BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
+ BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER;
+
+ using is_transaction_safe = BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE;
+
+ using remove_transaction_safe = Return(Args...)
+ BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
+ BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
+
+ using add_transaction_safe = Return(Args...)
+ BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
+ BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER
+ BOOST_CLBL_TRTS_NOEXCEPT_SPEC;
+
+ using qualifiers = default_callable_traits;
+
+ template
+ using set_qualifiers = set_function_qualifiers;
+
+ #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
+
+ using add_member_lvalue_reference = abominable_functions_not_supported_on_this_compiler;
+ using add_member_rvalue_reference = abominable_functions_not_supported_on_this_compiler;
+ using add_member_const = abominable_functions_not_supported_on_this_compiler;
+ using add_member_volatile = abominable_functions_not_supported_on_this_compiler;
+ using add_member_cv = abominable_functions_not_supported_on_this_compiler;
+
+ #else
+
+ using add_member_lvalue_reference = set_qualifiers<
+ collapse_flags::value>;
+
+ using add_member_rvalue_reference = set_qualifiers<
+ collapse_flags::value>;
+
+ using add_member_const = set_qualifiers;
+
+ using add_member_volatile = set_qualifiers;
+
+ using add_member_cv = set_qualifiers;
+
+ #endif // #ifdef BOOST_CLBL_TRTS_DISABLE_ABOMINABLE_FUNCTIONS
+
+ using remove_member_reference = set_qualifiers;
+
+ using remove_member_const = set_qualifiers<
+ qualifiers::ref_flags | remove_const_flag::value>;
+
+ using remove_member_volatile = set_qualifiers<
+ qualifiers::ref_flags | remove_volatile_flag::value>;
+
+ using remove_member_cv = set_qualifiers;
+
+ template
+ using apply_member_pointer = add_member_pointer;
+
+ template