From 57aca3865738c3697cb55eb72a1c2c9bd5470ffb Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 4 Feb 2024 09:04:15 -0600 Subject: [PATCH 01/11] Add modular library level build file. --- build.jam | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 build.jam diff --git a/build.jam b/build.jam new file mode 100644 index 0000000..9a15224 --- /dev/null +++ b/build.jam @@ -0,0 +1,21 @@ +# Copyright René Ferdinand Rivera Morell 2023 +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +require-b2 5 ; + +import project ; + +project /boost/callable_traits + : common-requirements + include + ; + +explicit + [ alias boost_callable_traits ] + [ alias all : boost_callable_traits example test ] + ; + +call-if : boost-library callable_traits + ; From 3f8e7dfbbdaf5de59ca7a17ef14fdb7f986f2376 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 11 Mar 2024 08:27:02 -0500 Subject: [PATCH 02/11] Make the library modular usable. --- test/Jamfile.v2 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index bce5f23..8d4d6ae 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -5,8 +5,10 @@ # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) +import-search /boost/config/checks ; + import testing ; -import ../../config/checks/config : requires ; +import config : requires ; project : requirements From c1fa3c91adb036d1e000827ef42f0fd76cc11583 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 4 May 2024 23:27:58 -0500 Subject: [PATCH 03/11] Add missing import-search for cconfig/predef checks. --- test/Jamfile.v2 | 1 + 1 file changed, 1 insertion(+) diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 8d4d6ae..ffb189d 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -8,6 +8,7 @@ import-search /boost/config/checks ; import testing ; +import-search /boost/config/checks ; import config : requires ; project : From c1da5c053a0e5bb386bc2647df046980e3ddfa56 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 5 May 2024 09:00:00 -0500 Subject: [PATCH 04/11] Add requires-b2 check to top-level build file. --- build.jam | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build.jam b/build.jam index 9a15224..ff94b60 100644 --- a/build.jam +++ b/build.jam @@ -3,6 +3,8 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) +require-b2 5.1 ; + require-b2 5 ; import project ; From 246c62ab42060c3519dc277bf3d65278d25d9561 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 6 May 2024 07:15:55 -0500 Subject: [PATCH 05/11] Remove extra import-search. --- test/Jamfile.v2 | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index ffb189d..4b193b9 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -5,8 +5,6 @@ # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) -import-search /boost/config/checks ; - import testing ; import-search /boost/config/checks ; import config : requires ; From 26a8e5a1b3283ca0106e1df994b395c3ee110e05 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 6 May 2024 07:17:36 -0500 Subject: [PATCH 06/11] Remove extra require-b2. --- build.jam | 2 -- 1 file changed, 2 deletions(-) diff --git a/build.jam b/build.jam index ff94b60..c42db7c 100644 --- a/build.jam +++ b/build.jam @@ -5,8 +5,6 @@ require-b2 5.1 ; -require-b2 5 ; - import project ; project /boost/callable_traits From 66d9296e32ee5b6ce3a070359f227d6c5c504b7d Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 14 Jun 2024 11:33:55 -0500 Subject: [PATCH 07/11] Bump B2 require to 5.2 --- build.jam | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/build.jam b/build.jam index c42db7c..9ec7de4 100644 --- a/build.jam +++ b/build.jam @@ -3,9 +3,7 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) -require-b2 5.1 ; - -import project ; +require-b2 5.2 ; project /boost/callable_traits : common-requirements From 7c9d002ff74ccec562efa76699596e1e46ddaf1c Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 20 Jul 2024 22:52:05 -0500 Subject: [PATCH 08/11] Update copyright dates. --- build.jam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.jam b/build.jam index 9ec7de4..f009721 100644 --- a/build.jam +++ b/build.jam @@ -1,4 +1,4 @@ -# Copyright René Ferdinand Rivera Morell 2023 +# Copyright René Ferdinand Rivera Morell 2023-2024 # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) From b29ff8abb777ad5ad868760e808011c3e2ea31e9 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 23 Jul 2024 22:34:24 -0500 Subject: [PATCH 09/11] Move inter-lib dependencies to a project variable and into the build targets. --- build.jam | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.jam b/build.jam index f009721..acb44e0 100644 --- a/build.jam +++ b/build.jam @@ -11,9 +11,10 @@ project /boost/callable_traits ; explicit - [ alias boost_callable_traits ] + [ alias boost_callable_traits : : : : $(boost_dependencies) ] [ alias all : boost_callable_traits example test ] ; call-if : boost-library callable_traits ; + From 15c36eb085896d3c602b531661e19fdb39abf075 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 28 Jul 2024 14:19:04 -0500 Subject: [PATCH 10/11] Adjust doc build to avoid boost-root references. --- doc/callable_traits.qbk | 74 ++++++++++++++++++++--------------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/doc/callable_traits.qbk b/doc/callable_traits.qbk index ac2f649..12ca18e 100644 --- a/doc/callable_traits.qbk +++ b/doc/callable_traits.qbk @@ -67,7 +67,7 @@ The features in [libname] largely overlap with [function_types_link]. Here are s # [libname] supports lvalue/rvalue reference member qualifiers. # [libname] supports `noexcept` and `transaction_safe`. # [function_types] does not attempt to factor all callable types into a unified, [invoke]-aware interface. -# [function_types] relies heavily on "tag" types, while [libname] follows the style of instead. Supporting C++11 and later in [function_types] would have required significant proliferation of these tags. +# [function_types] relies heavily on "tag" types, while [libname] follows the style of instead. Supporting C++11 and later in [function_types] would have required significant proliferation of these tags. For example, here is how to remove member `const` from a member function pointer type in the [function_types] library: @@ -288,106 +288,106 @@ This reference will be most beneficial to readers familiar with the following C+ * [abominable_paper] * [@http://en.cppreference.com/w/c/language/variadic C-style variadics], a.k.a. varargs -[import ../../../boost/callable_traits/add_member_const.hpp] +[import ../include/boost/callable_traits/add_member_const.hpp] [add_member_const_hpp] -[import ../../../boost/callable_traits/add_member_cv.hpp] +[import ../include/boost/callable_traits/add_member_cv.hpp] [add_member_cv_hpp] -[import ../../../boost/callable_traits/add_member_lvalue_reference.hpp] +[import ../include/boost/callable_traits/add_member_lvalue_reference.hpp] [add_member_lvalue_reference_hpp] -[import ../../../boost/callable_traits/add_member_rvalue_reference.hpp] +[import ../include/boost/callable_traits/add_member_rvalue_reference.hpp] [add_member_rvalue_reference_hpp] -[import ../../../boost/callable_traits/add_member_volatile.hpp] +[import ../include/boost/callable_traits/add_member_volatile.hpp] [add_member_volatile_hpp] -[import ../../../boost/callable_traits/add_noexcept.hpp] +[import ../include/boost/callable_traits/add_noexcept.hpp] [add_noexcept_hpp] -[import ../../../boost/callable_traits/add_transaction_safe.hpp] +[import ../include/boost/callable_traits/add_transaction_safe.hpp] [add_transaction_safe_hpp] -[import ../../../boost/callable_traits/add_varargs.hpp] +[import ../include/boost/callable_traits/add_varargs.hpp] [add_varargs_hpp] -[import ../../../boost/callable_traits/apply_member_pointer.hpp] +[import ../include/boost/callable_traits/apply_member_pointer.hpp] [apply_member_pointer_hpp] -[import ../../../boost/callable_traits/apply_return.hpp] +[import ../include/boost/callable_traits/apply_return.hpp] [apply_return_hpp] -[import ../../../boost/callable_traits/args.hpp] +[import ../include/boost/callable_traits/args.hpp] [args_hpp] -[import ../../../boost/callable_traits/class_of.hpp] +[import ../include/boost/callable_traits/class_of.hpp] [class_of_hpp] -[import ../../../boost/callable_traits/function_type.hpp] +[import ../include/boost/callable_traits/function_type.hpp] [function_type_hpp] -[import ../../../boost/callable_traits/has_member_qualifiers.hpp] +[import ../include/boost/callable_traits/has_member_qualifiers.hpp] [has_member_qualifiers_hpp] -[import ../../../boost/callable_traits/has_varargs.hpp] +[import ../include/boost/callable_traits/has_varargs.hpp] [has_varargs_hpp] -[import ../../../boost/callable_traits/has_void_return.hpp] +[import ../include/boost/callable_traits/has_void_return.hpp] [has_void_return_hpp] -[import ../../../boost/callable_traits/is_const_member.hpp] +[import ../include/boost/callable_traits/is_const_member.hpp] [is_const_member_hpp] -[import ../../../boost/callable_traits/is_cv_member.hpp] +[import ../include/boost/callable_traits/is_cv_member.hpp] [is_cv_member_hpp] -[import ../../../boost/callable_traits/is_invocable.hpp] +[import ../include/boost/callable_traits/is_invocable.hpp] [is_invocable_hpp] -[import ../../../boost/callable_traits/is_lvalue_reference_member.hpp] +[import ../include/boost/callable_traits/is_lvalue_reference_member.hpp] [is_lvalue_reference_member_hpp] -[import ../../../boost/callable_traits/is_reference_member.hpp] +[import ../include/boost/callable_traits/is_reference_member.hpp] [is_reference_member_hpp] -[import ../../../boost/callable_traits/is_rvalue_reference_member.hpp] +[import ../include/boost/callable_traits/is_rvalue_reference_member.hpp] [is_rvalue_reference_member_hpp] -[import ../../../boost/callable_traits/is_noexcept.hpp] +[import ../include/boost/callable_traits/is_noexcept.hpp] [is_noexcept_hpp] -[import ../../../boost/callable_traits/is_transaction_safe.hpp] +[import ../include/boost/callable_traits/is_transaction_safe.hpp] [is_transaction_safe_hpp] -[import ../../../boost/callable_traits/is_volatile_member.hpp] +[import ../include/boost/callable_traits/is_volatile_member.hpp] [is_volatile_member_hpp] -[import ../../../boost/callable_traits/qualified_class_of.hpp] +[import ../include/boost/callable_traits/qualified_class_of.hpp] [qualified_class_of_hpp] -[import ../../../boost/callable_traits/remove_member_const.hpp] +[import ../include/boost/callable_traits/remove_member_const.hpp] [remove_member_const_hpp] -[import ../../../boost/callable_traits/remove_member_cv.hpp] +[import ../include/boost/callable_traits/remove_member_cv.hpp] [remove_member_cv_hpp] -[import ../../../boost/callable_traits/remove_member_reference.hpp] +[import ../include/boost/callable_traits/remove_member_reference.hpp] [remove_member_reference_hpp] -[import ../../../boost/callable_traits/remove_member_volatile.hpp] +[import ../include/boost/callable_traits/remove_member_volatile.hpp] [remove_member_volatile_hpp] -[import ../../../boost/callable_traits/remove_noexcept.hpp] +[import ../include/boost/callable_traits/remove_noexcept.hpp] [remove_noexcept_hpp] -[import ../../../boost/callable_traits/remove_transaction_safe.hpp] +[import ../include/boost/callable_traits/remove_transaction_safe.hpp] [remove_transaction_safe_hpp] -[import ../../../boost/callable_traits/remove_varargs.hpp] +[import ../include/boost/callable_traits/remove_varargs.hpp] [remove_varargs_hpp] -[import ../../../boost/callable_traits/return_type.hpp] +[import ../include/boost/callable_traits/return_type.hpp] [return_type_hpp] [endsect][/section:reference] @@ -410,12 +410,12 @@ If you ['are] writing generic code, take a moment to skim your header files, and }; Or maybe something like this: - + template class foo { // ^^^^^^^^^^^^^^^^^^ }; - + Or, if you are *really* unlucky, something like this: template From be1526ad256befba1dbe036826d5983bfd6956f7 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Wed, 31 Jul 2024 08:31:48 -0500 Subject: [PATCH 11/11] Update build deps. --- test/Jamfile.v2 | 1 + 1 file changed, 1 insertion(+) diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 4b193b9..a45529c 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -14,6 +14,7 @@ project : [ requires cxx11_constexpr ] clang:"-pedantic -Wall -Wextra" darwin:"-pedantic -Wall -Wextra" + /boost/callable_traits//boost_callable_traits ; for local source in [ glob *.cpp ]