From a7b4dc52339dc524140c9bafc2b638a14f08e66e Mon Sep 17 00:00:00 2001 From: badair Date: Thu, 14 Apr 2016 03:03:15 -0500 Subject: [PATCH 1/2] documentation tweaks --- doc/callable_traits.qbk | 4 ++-- doc/html/callable_traits/ref_can_invoke_constexpr.html | 2 +- doc/html/index.html | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/doc/callable_traits.qbk b/doc/callable_traits.qbk index 54ab4b5..97f3447 100644 --- a/doc/callable_traits.qbk +++ b/doc/callable_traits.qbk @@ -200,7 +200,7 @@ The use cases for [libname] are closely related to those of [@http://www.boost.o [*3.] [libname] is designed to comply with [invoke] rules, with one unobtrusive and beneficial deviation: [link_fn] types types are compatible with all relevant type operations that do not specifically require an invocation. -[*4.] [namespace_scoped][link_arg_at]`<2, Callable>` is more flexible (arguable more readable) than `typename boost::function_traits::arg3_type`. +[*4.] [namespace_scoped][link_arg_at]`<2, Callable>` is more flexible than `typename boost::function_traits::arg3_type`. [*5.] [link_can_invoke] is used to test `INVOKE`-ability at compile-time, with value semantics. For the craziest metaprogrammers, [link_can_invoke_constexpr] does the same as `can_invoke` for [link_constexpr_constructible] types, with an added check for `constexpr`-ness @@ -502,7 +502,7 @@ The simplest way to use [libname] is to include the main header file: [endsect][/section:headers] -[template msvc_incompatible[] is not compatible with the Microsoft Visual C++ compiler in Visual Studio (a.k.a. MSVC). Accordingly, the example(s) below will not compile in MSVC. However, Windows users can still use clang-cl. Refer to the [link_msvc_issues] section for more information.] +[template msvc_incompatible[] is not compatible with the Microsoft Visual C++ compiler in Visual Studio (a.k.a. MSVC). Accordingly, the example(s) below will not compile in MSVC. However, Visual Studio users can still use Clang-cl. Refer to the [link_msvc_issues] section for more information.] diff --git a/doc/html/callable_traits/ref_can_invoke_constexpr.html b/doc/html/callable_traits/ref_can_invoke_constexpr.html index 9de55dd..23b49c1 100644 --- a/doc/html/callable_traits/ref_can_invoke_constexpr.html +++ b/doc/html/callable_traits/ref_can_invoke_constexpr.html @@ -35,7 +35,7 @@ can_invoke_constexpr is not compatible with the Microsoft Visual C++ compiler in Visual Studio (a.k.a. MSVC). Accordingly, the example(s) below will not compile in MSVC. However, - Windows users can still use clang-cl. Refer to the MSVC + Visual Studio users can still use Clang-cl. Refer to the MSVC Issues section for more information.

diff --git a/doc/html/index.html b/doc/html/index.html index 5e88bda..dc9401e 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -535,8 +535,7 @@

4. callable_traits::arg_at<2, Callable> - is more flexible (arguable more readable) than typename - boost::function_traits<Callable>::arg3_type. + is more flexible than typename boost::function_traits<Callable>::arg3_type.

5. can_invoke From fbc2d477a73f898c365bb38675fa5cc505693745 Mon Sep 17 00:00:00 2001 From: badair Date: Thu, 14 Apr 2016 03:03:24 -0500 Subject: [PATCH 2/2] documentation tweaks --- doc/html/callable_traits/ref_bind.html | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/doc/html/callable_traits/ref_bind.html b/doc/html/callable_traits/ref_bind.html index 5163954..a1023cb 100644 --- a/doc/html/callable_traits/ref_bind.html +++ b/doc/html/callable_traits/ref_bind.html @@ -35,7 +35,7 @@ callable_traits::bind is not compatible with the Microsoft Visual C++ compiler in Visual Studio (a.k.a. MSVC). Accordingly, the example(s) below will not compile in MSVC. - However, Windows users can still use clang-cl. Refer to the MSVC + However, Visual Studio users can still use Clang-cl. Refer to the MSVC Issues section for more information.

@@ -116,18 +116,19 @@ Notes
  • +

    callable_traits::bind is the only feature of CallableTraits with non-constexpr behavior. However, the runtime behavior is only provided for convenience -- callable_traits::bind is designed to be a metaprogramming tool, and may be used in unevaluated contexts. -

+

- Example - 1 -

+ Example + 1 +
/* In this example, the last _1 placeholder in the bind
 expression forces all other _1 slots to accept ScaryMonster,
 because ScaryMonster is the narrowest of all _1 parameters. */
@@ -200,9 +201,9 @@ because ScaryMonster is the narrowest of all _1 parameters. */
 

- Example - 2 -

+ Example + 2 +
#include <cassert>
 #include <type_traits>
 #include <functional>
@@ -253,6 +254,7 @@ because ScaryMonster is the narrowest of all _1 parameters. */
     return 0;
 }
 
+

See