From 38cc207b23b3b4836f477d901f034736b79f6cbb Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Fri, 11 Oct 2013 23:15:00 +0000 Subject: [PATCH 1/6] Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION Process #ifndef...#endif conditions. [SVN r86244] --- include/boost/function_types/detail/class_transform.hpp | 2 -- include/boost/function_types/detail/to_sequence.hpp | 2 -- include/boost/function_types/property_tags.hpp | 2 -- 3 files changed, 6 deletions(-) diff --git a/include/boost/function_types/detail/class_transform.hpp b/include/boost/function_types/detail/class_transform.hpp index ef9a225..27b97b3 100644 --- a/include/boost/function_types/detail/class_transform.hpp +++ b/include/boost/function_types/detail/class_transform.hpp @@ -28,7 +28,6 @@ struct class_transform { typedef typename mpl::apply1::type type; }; -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION // We can short-circuit the mechanism implemented in the primary template for // the most common lambda expression and save both the "un-lambdaing" and the // type traits invocation (we know that T can only be a class type). @@ -53,7 +52,6 @@ template struct class_transform< T, add_pointer< remove_cv<_> > > template struct class_transform< T, mpl::always > { typedef U type; }; -#endif } } } // namespace ::boost::function_types::detail diff --git a/include/boost/function_types/detail/to_sequence.hpp b/include/boost/function_types/detail/to_sequence.hpp index 828acd9..54854db 100644 --- a/include/boost/function_types/detail/to_sequence.hpp +++ b/include/boost/function_types/detail/to_sequence.hpp @@ -32,14 +32,12 @@ struct to_sequence type; }; -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION // reduce template instantiations, if possible template struct to_sequence< components > { typedef typename components::types type; }; -#endif } } } // namespace ::boost::function_types::detail diff --git a/include/boost/function_types/property_tags.hpp b/include/boost/function_types/property_tags.hpp index bbc64d5..c2158d3 100644 --- a/include/boost/function_types/property_tags.hpp +++ b/include/boost/function_types/property_tags.hpp @@ -102,7 +102,6 @@ struct tag detail::compound_tag > { }; -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION template struct tag : detail::compound_tag,Tag3> { }; @@ -112,7 +111,6 @@ template struct tag template struct tag : Tag1 { }; -#endif template struct represents From e7fcc6818b7e6fd500ab99e9e2f9aac44aa562c9 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Fri, 11 Oct 2013 23:17:48 +0000 Subject: [PATCH 2/6] Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION Process #ifndef...#else...#endif blocks. [SVN r86245] --- include/boost/function_types/components.hpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/include/boost/function_types/components.hpp b/include/boost/function_types/components.hpp index 53d81b6..d348682 100644 --- a/include/boost/function_types/components.hpp +++ b/include/boost/function_types/components.hpp @@ -47,7 +47,6 @@ #include -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION # if BOOST_FT_MAX_ARITY < 10 # include # elif BOOST_FT_MAX_ARITY < 20 @@ -59,9 +58,6 @@ # elif BOOST_FT_MAX_ARITY < 50 # include # endif -#else -# include -#endif #include #include From 46f56ef9aebda86839b08493a7048be403f4a43f Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Fri, 11 Oct 2013 23:22:36 +0000 Subject: [PATCH 3/6] Remove remaining occurances of BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION These evaded scripting. [SVN r86249] --- include/boost/function_types/detail/cv_traits.hpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/include/boost/function_types/detail/cv_traits.hpp b/include/boost/function_types/detail/cv_traits.hpp index 242f45b..75a7d80 100644 --- a/include/boost/function_types/detail/cv_traits.hpp +++ b/include/boost/function_types/detail/cv_traits.hpp @@ -12,8 +12,7 @@ #include #include -#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - || BOOST_WORKAROUND(__BORLANDC__, <= 0x582) +#if BOOST_WORKAROUND(__BORLANDC__, <= 0x582) # include # include # include @@ -23,8 +22,7 @@ namespace boost { namespace function_types { namespace detail { -#if ! (defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - || BOOST_WORKAROUND(__BORLANDC__, <= 0x582)) +#if BOOST_WORKAROUND(__BORLANDC__, <= 0x582)) template struct cv_traits { typedef non_cv tag; typedef T type; }; From 2cc2141906aeff0772d623232fc94ff2dcff8625 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Sun, 13 Oct 2013 08:15:49 +0000 Subject: [PATCH 4/6] Fix workaround ifdef. [SVN r86280] --- include/boost/function_types/detail/cv_traits.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/function_types/detail/cv_traits.hpp b/include/boost/function_types/detail/cv_traits.hpp index 75a7d80..4e15fa4 100644 --- a/include/boost/function_types/detail/cv_traits.hpp +++ b/include/boost/function_types/detail/cv_traits.hpp @@ -22,7 +22,7 @@ namespace boost { namespace function_types { namespace detail { -#if BOOST_WORKAROUND(__BORLANDC__, <= 0x582)) +#if !BOOST_WORKAROUND(__BORLANDC__, <= 0x582) template struct cv_traits { typedef non_cv tag; typedef T type; }; From caed0a6ee8a291716552e52cae3a79ac7050bff9 Mon Sep 17 00:00:00 2001 From: Michel Morin Date: Wed, 30 Oct 2013 12:51:24 +0000 Subject: [PATCH 5/6] Correct broken links to C++ standard papers. Refs #9212. [SVN r86524] --- example/fast_mem_fn.hpp | 2 +- example/result_of.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/example/fast_mem_fn.hpp b/example/fast_mem_fn.hpp index 97f95b0..2587c18 100644 --- a/example/fast_mem_fn.hpp +++ b/example/fast_mem_fn.hpp @@ -62,7 +62,7 @@ // ============ // // [Dimov1] Dimov, P., Hinnant H., Abrahams, D. The Forwarding Problem -// http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1385.htm +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm // // [Dimov2] Dimov, P. Documentation of boost::mem_fn // http://www.boost.org/libs/bind/mem_fn.html diff --git a/example/result_of.hpp b/example/result_of.hpp index 1527221..7c3341a 100644 --- a/example/result_of.hpp +++ b/example/result_of.hpp @@ -26,7 +26,7 @@ // // [Gregor02] Gregor, D. A uniform method for computing function object return // types (revision 1) -// http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1454.html +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1454.html #include #include From 222884c4f77e324bfb7246f94c1153c432c2e321 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Mon, 18 Aug 2014 14:59:16 +0100 Subject: [PATCH 6/6] Add metadata file. --- meta/libraries.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 meta/libraries.json diff --git a/meta/libraries.json b/meta/libraries.json new file mode 100644 index 0000000..44b499e --- /dev/null +++ b/meta/libraries.json @@ -0,0 +1,15 @@ +{ + "key": "function_types", + "name": "Function Types", + "authors": [ + "Tobias Schwinger" + ], + "description": "Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types.", + "category": [ + "Generic", + "Metaprogramming" + ], + "maintainers": [ + "Tobias Schwinger " + ] +}