Sitelet https://github.com/svgpp/parameter/commit/b531b64f7bb66687e66c6a51c6bf7b6e53541a40
Skip to content

Commit b531b64

Browse files
authored
Merge pull request boostorg#61 from CromwellEnage/feature_compose_max_arity
Add configuration macro BOOST_PARAMETER_COMPOSE_MAX_ARITY
2 parents 1fde7ae + e5337e2 commit b531b64

14 files changed

Lines changed: 296 additions & 95 deletions

‎doc/html/reference.html‎

Lines changed: 75 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -250,12 +250,15 @@ <h1 class="title">The Boost Parameter Library Reference Documentation</h1>
250250
<li><a class="reference internal" href="#boost-parameter-max-arity"
251251
id="id86">8.6&nbsp;&nbsp;&nbsp;<tt class="docutils literal"
252252
>BOOST_PARAMETER_MAX_ARITY</tt></a></li>
253+
<li><a class="reference internal" href="#boost-parameter-compose-max-arity"
254+
id="id87">8.7&nbsp;&nbsp;&nbsp;<tt class="docutils literal"
255+
>BOOST_PARAMETER_COMPOSE_MAX_ARITY</tt></a></li>
253256
<li><a class="reference internal"
254257
href="#boost-parameter-exponential-overload-threshold-arity"
255-
id="id88">8.7&nbsp;&nbsp;&nbsp;<tt class="docutils literal"
258+
id="id88">8.8&nbsp;&nbsp;&nbsp;<tt class="docutils literal"
256259
>BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY</tt></a></li>
257260
<li><a class="reference internal" href="#outside-of-this-library"
258-
id="id89">8.8&nbsp;&nbsp;&nbsp;...Outside Of This Library</a></li>
261+
id="id89">8.9&nbsp;&nbsp;&nbsp;...Outside Of This Library</a></li>
259262
</ul>
260263
</li>
261264
<li><a class="reference internal" href="#tutorial"
@@ -1890,8 +1893,8 @@ <h2><a class="toc-backref" href="#id54">6.1&nbsp;&nbsp;&nbsp;<tt
18901893
the resulting <a class="reference internal" href="#argumentpack"><span
18911894
class="concept">ArgumentPack</span></a>, while the <tt
18921895
class="docutils literal">compose()</tt> function cannot take in more than <a
1893-
class="reference internal" href="#boost-parameter-max-arity"><tt
1894-
class="docutils literal">BOOST_PARAMETER_MAX_ARITY</tt></a> arguments
1896+
class="reference internal" href="#boost-parameter-compose-max-arity"><tt
1897+
class="docutils literal">BOOST_PARAMETER_COMPOSE_MAX_ARITY</tt></a> arguments
18951898
for compilers that do not support perfect forwarding.</p>
18961899
<table class="docutils field-list" frame="void" rules="none">
18971900
<col class="field-name" />
@@ -9382,11 +9385,77 @@ <h2><a class="toc-backref" href="#id86">8.6&nbsp;&nbsp;&nbsp;<tt
93829385
<th class="field-name">Minimum Value:</th>
93839386
<td class="field-body"><tt class="docutils literal">2</tt></td>
93849387
</tr>
9388+
<tr class="field">
9389+
<th class="field-name">Maximum Value:</th>
9390+
<td class="field-body"><a class="reference internal"
9391+
href="#boost-parameter-compose-max-arity"><tt class="docutils literal"
9392+
>BOOST_PARAMETER_COMPOSE_MAX_ARITY</tt></a></td>
9393+
</tr>
9394+
</tbody>
9395+
</table>
9396+
</div>
9397+
<div class="section" id="boost-parameter-compose-max-arity">
9398+
<h2><a class="toc-backref" href="#id87">8.7&nbsp;&nbsp;&nbsp;<tt
9399+
class="docutils literal">BOOST_PARAMETER_COMPOSE_MAX_ARITY</tt></a></h2>
9400+
<p>If <a class="reference internal"
9401+
href="#boost-parameter-has-perfect-forwarding"><tt class="docutils literal"
9402+
>BOOST_PARAMETER_HAS_PERFECT_FORWARDING</tt></a> is <strong>not</strong>
9403+
<tt class="docutils literal">#defined</tt>, then determines the maximum number
9404+
of arguments supported by the <a class="reference internal" href="#compose"
9405+
><tt class="docutils literal">compose</tt></a> function and by the <a
9406+
class="reference internal"
9407+
href="#boost-parameter-no-spec-function-result-name"><tt
9408+
class="docutils literal">BOOST_PARAMETER_NO_SPEC_FUNCTION</tt></a>, <a
9409+
class="reference internal"
9410+
href="#boost-parameter-no-spec-member-function-result-name"><tt
9411+
class="docutils literal">BOOST_PARAMETER_NO_SPEC_MEMBER_FUNCTION</tt></a>, <a
9412+
class="reference internal"
9413+
href="#boost-parameter-no-spec-c-mem-function-result-name"><tt
9414+
class="docutils literal">BOOST_PARAMETER_NO_SPEC_CONST_MEMBER_FUNCTION</tt></a
9415+
>, <a class="reference internal"
9416+
href="#boost-parameter-no-spec-function-call-op-result"><tt
9417+
class="docutils literal">BOOST_PARAMETER_NO_SPEC_FUNCTION_CALL_OPERATOR</tt
9418+
></a>, <a class="reference internal"
9419+
href="#boost-parameter-no-spec-const-func-call-op-result"><tt
9420+
class="docutils literal"
9421+
>BOOST_PARAMETER_NO_SPEC_CONST_FUNCTION_CALL_OPERATOR</tt></a>, <a
9422+
class="reference internal"
9423+
href="#boost-parameter-no-spec-constructor-cls-impl"><tt
9424+
class="docutils literal">BOOST_PARAMETER_NO_SPEC_CONSTRUCTOR</tt></a>, and <a
9425+
class="reference internal"
9426+
href="#boost-parameter-no-spec-no-base-ctor-cls-func"><tt
9427+
class="docutils literal">BOOST_PARAMETER_NO_SPEC_NO_BASE_CONSTRUCTOR</tt></a>
9428+
code generation macros.</p>
9429+
<table class="docutils field-list" frame="void" rules="none">
9430+
<col class="field-name" />
9431+
<col class="field-body" />
9432+
<tbody valign="top">
9433+
<tr class="field">
9434+
<th class="field-name">Defined in:</th>
9435+
<td class="field-body"><a class="reference external"
9436+
href="../../../../boost/parameter/config.hpp"
9437+
>boost/parameter/config.hpp</a></td>
9438+
</tr>
9439+
</tbody>
9440+
</table>
9441+
<table class="docutils field-list" frame="void" rules="none">
9442+
<col class="field-name" />
9443+
<col class="field-body" />
9444+
<tbody valign="top">
9445+
<tr class="field">
9446+
<th class="field-name">Default Value:</th>
9447+
<td class="field-body"><tt class="docutils literal">20</tt> for a few older
9448+
compilers, <tt class="docutils literal">64</tt> otherwise</td>
9449+
</tr>
9450+
<tr class="field">
9451+
<th class="field-name">Minimum Value:</th>
9452+
<td class="field-body"><tt class="docutils literal">2</tt></td>
9453+
</tr>
93859454
</tbody>
93869455
</table>
93879456
</div>
93889457
<div class="section" id="boost-parameter-exponential-overload-threshold-arity"
9389-
><h2><a class="toc-backref" href="#id88">8.7&nbsp;&nbsp;&nbsp;<tt
9458+
><h2><a class="toc-backref" href="#id88">8.8&nbsp;&nbsp;&nbsp;<tt
93909459
class="docutils literal"
93919460
>BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY</tt></a></h2>
93929461
<p>If this library does <strong>not</strong> support perfect forwarding,
@@ -9428,7 +9497,7 @@ <h2><a class="toc-backref" href="#id86">8.6&nbsp;&nbsp;&nbsp;<tt
94289497
</table>
94299498
</div>
94309499
<div class="section" id="outside-of-this-library"
9431-
><h2><a class="toc-backref" href="#id89">8.8&nbsp;&nbsp;&nbsp;...Outside Of
9500+
><h2><a class="toc-backref" href="#id89">8.9&nbsp;&nbsp;&nbsp;...Outside Of
94329501
This Library</a></h2>
94339502
<ol>
94349503
<li>If <a class="reference external"

‎doc/reference.rst‎

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1086,7 +1086,7 @@ Unlike the |tagged reference| comma operator, the ``compose()`` function is
10861086
variadic, as mentioned before. However, the |tagged reference| comma operator
10871087
can be invoked indefinitely and therefore does not limit the size of the
10881088
resulting |ArgumentPack|, while the ``compose()`` function cannot take in more
1089-
than |BOOST_PARAMETER_MAX_ARITY| arguments for compilers that do not
1089+
than |BOOST_PARAMETER_COMPOSE_MAX_ARITY| arguments for compilers that do not
10901090
support perfect forwarding.
10911091

10921092
:Requires: ``t0`` and all elements in ``args`` must be |tagged reference|
@@ -6825,11 +6825,32 @@ __ ../../../../boost/parameter/config.hpp
68256825
:Default Value: |BOOST_MPL_LIMIT_VECTOR_SIZE|_ (defined by `Boost.MPL`_) if
68266826
perfect forwarding is supported, ``8`` otherwise.
68276827
:Minimum Value: ``2``
6828+
:Maximum Value: |BOOST_PARAMETER_COMPOSE_MAX_ARITY|
68286829

68296830
.. |BOOST_MPL_LIMIT_VECTOR_SIZE| replace:: ``BOOST_MPL_LIMIT_VECTOR_SIZE``
68306831
.. _BOOST_MPL_LIMIT_VECTOR_SIZE: ../../../mpl/doc/refmanual/limit-vector-size.html
68316832
.. _`Boost.MPL`: ../../../mpl/doc/index.html
68326833

6834+
``BOOST_PARAMETER_COMPOSE_MAX_ARITY``
6835+
-------------------------------------
6836+
6837+
If |BOOST_PARAMETER_HAS_PERFECT_FORWARDING| is **not** ``#defined``, then
6838+
determines the maximum number of arguments supported by the |compose| function
6839+
and by the |BOOST_PARAMETER_NO_SPEC_FUNCTION|,
6840+
|BOOST_PARAMETER_NO_SPEC_MEMBER_FUNCTION|,
6841+
|BOOST_PARAMETER_NO_SPEC_CONST_MEMBER_FUNCTION|,
6842+
|BOOST_PARAMETER_NO_SPEC_FUNCTION_CALL_OPERATOR|,
6843+
|BOOST_PARAMETER_NO_SPEC_CONST_FUNCTION_CALL_OPERATOR|,
6844+
|BOOST_PARAMETER_NO_SPEC_CONSTRUCTOR|, and
6845+
|BOOST_PARAMETER_NO_SPEC_NO_BASE_CONSTRUCTOR| code generation macros.
6846+
6847+
:Defined in: `boost/parameter/config.hpp`__
6848+
6849+
__ ../../../../boost/parameter/config.hpp
6850+
6851+
:Default Value: ``20`` for a few older compilers, ``64`` otherwise
6852+
:Minimum Value: ``2``
6853+
68336854
``BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY``
68346855
--------------------------------------------------------
68356856

‎include/boost/parameter/are_tagged_arguments.hpp‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ namespace boost { namespace parameter {
7171
BOOST_PP_ENUM_PARAMS_Z(z, n, prefix) \
7272
BOOST_PP_ENUM_TRAILING_PARAMS_Z( \
7373
z \
74-
, BOOST_PP_SUB(BOOST_PARAMETER_MAX_ARITY, n) \
74+
, BOOST_PP_SUB(BOOST_PARAMETER_COMPOSE_MAX_ARITY, n) \
7575
, ::boost::parameter::void_ BOOST_PP_INTERCEPT \
7676
) \
7777
> : BOOST_PP_CAT(BOOST_PP_REPEAT_, z)( \
@@ -96,7 +96,7 @@ namespace boost { namespace parameter {
9696

9797
template <
9898
BOOST_PP_ENUM_BINARY_PARAMS(
99-
BOOST_PP_INC(BOOST_PARAMETER_MAX_ARITY)
99+
BOOST_PP_INC(BOOST_PARAMETER_COMPOSE_MAX_ARITY)
100100
, typename TaggedArg
101101
, = ::boost::parameter::void_ BOOST_PP_INTERCEPT
102102
)
@@ -110,7 +110,7 @@ namespace boost { namespace parameter {
110110

111111
BOOST_PP_REPEAT_FROM_TO(
112112
1
113-
, BOOST_PP_INC(BOOST_PARAMETER_MAX_ARITY)
113+
, BOOST_PP_INC(BOOST_PARAMETER_COMPOSE_MAX_ARITY)
114114
, BOOST_PARAMETER_ARE_TAGGED_ARGUMENTS_OVERLOADS_Z
115115
, TaggedArg
116116
)

‎include/boost/parameter/aux_/arg_list.hpp‎

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -447,11 +447,11 @@ namespace boost { namespace parameter { namespace aux {
447447
{
448448
}
449449

450-
// Constructor taking BOOST_PARAMETER_MAX_ARITY empty_arg_list
450+
// Constructor taking BOOST_PARAMETER_COMPOSE_MAX_ARITY empty_arg_list
451451
// arguments; this makes initialization.
452452
inline empty_arg_list(
453453
BOOST_PP_ENUM_PARAMS(
454-
BOOST_PARAMETER_MAX_ARITY
454+
BOOST_PARAMETER_COMPOSE_MAX_ARITY
455455
, ::boost::parameter::void_ BOOST_PP_INTERCEPT
456456
)
457457
)
@@ -488,7 +488,7 @@ namespace boost { namespace parameter { namespace aux {
488488
typedef ::boost::parameter::aux::empty_arg_list type;
489489
};
490490
};
491-
#endif // Borland workarounds needed.
491+
#endif // Borland workarounds needed
492492

493493
// If either of these operators are called, it means there is no
494494
// argument in the list that matches the supplied keyword. Just
@@ -592,14 +592,24 @@ namespace boost { namespace parameter { namespace aux {
592592
// Store the arguments in successive nodes of this list.
593593
template <
594594
// typename A0, typename A1, ...
595-
BOOST_PP_ENUM_PARAMS(BOOST_PARAMETER_MAX_ARITY, typename A)
595+
BOOST_PP_ENUM_PARAMS(
596+
BOOST_PARAMETER_COMPOSE_MAX_ARITY
597+
, typename A
598+
)
596599
>
597600
inline arg_list(
598601
// A0& a0, A1& a1, ...
599-
BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PARAMETER_MAX_ARITY, A, & a)
602+
BOOST_PP_ENUM_BINARY_PARAMS(
603+
BOOST_PARAMETER_COMPOSE_MAX_ARITY
604+
, A
605+
, & a
606+
)
600607
) : Next(
601608
// a1, a2, ...
602-
BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PARAMETER_MAX_ARITY, a)
609+
BOOST_PP_ENUM_SHIFTED_PARAMS(
610+
BOOST_PARAMETER_COMPOSE_MAX_ARITY
611+
, a
612+
)
603613
, ::boost::parameter::aux::void_reference()
604614
)
605615
, arg(a0)
@@ -660,8 +670,8 @@ namespace boost { namespace parameter { namespace aux {
660670
, duplicate_keyword
661671
, (key_type)
662672
);
663-
#endif
664-
#endif // Borland workarounds not needed.
673+
#endif // SFINAE/MSVC workarounds needed
674+
#endif // Borland workarounds not needed
665675

666676
public:
667677
//
@@ -856,7 +866,7 @@ namespace boost { namespace parameter { namespace aux {
856866
// Builds an overload set including satisfies functions defined
857867
// in base classes.
858868
using Next::satisfies;
859-
#endif // Borland workarounds needed.
869+
#endif // Borland workarounds needed
860870

861871
// Comma operator to compose argument list without using parameters<>.
862872
// Useful for argument lists with undetermined length.

‎include/boost/parameter/aux_/preprocessor/impl/no_spec_overloads.hpp‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@
116116
#define BOOST_PARAMETER_NO_SPEC_FUNCTION_HEAD(result, name, is_const) \
117117
template < \
118118
BOOST_PP_ENUM_BINARY_PARAMS( \
119-
BOOST_PARAMETER_MAX_ARITY \
119+
BOOST_PARAMETER_COMPOSE_MAX_ARITY \
120120
, typename TaggedArg \
121121
, = ::boost::parameter::void_ BOOST_PP_INTERCEPT \
122122
) \
@@ -287,7 +287,7 @@
287287
#define BOOST_PARAMETER_NO_SPEC_CONSTRUCTOR(class_, base) \
288288
BOOST_PP_REPEAT_FROM_TO( \
289289
1 \
290-
, BOOST_PP_INC(BOOST_PARAMETER_MAX_ARITY) \
290+
, BOOST_PP_INC(BOOST_PARAMETER_COMPOSE_MAX_ARITY) \
291291
, BOOST_PARAMETER_NO_SPEC_CONSTRUCTOR_OVERLOAD_Z \
292292
, (class_, base) \
293293
)
@@ -299,7 +299,7 @@
299299
#define BOOST_PARAMETER_NO_SPEC_NO_BASE_CONSTRUCTOR(class_, func) \
300300
BOOST_PP_REPEAT_FROM_TO( \
301301
1 \
302-
, BOOST_PP_INC(BOOST_PARAMETER_MAX_ARITY) \
302+
, BOOST_PP_INC(BOOST_PARAMETER_COMPOSE_MAX_ARITY) \
303303
, BOOST_PARAMETER_NO_SPEC_NO_BASE_CONSTRUCTOR_OVERLOAD_Z \
304304
, (class_, func) \
305305
)
@@ -310,7 +310,7 @@
310310
#define BOOST_PARAMETER_NO_SPEC_FUNCTION_OVERLOAD(name, impl, is_m, c) \
311311
BOOST_PP_REPEAT_FROM_TO( \
312312
1 \
313-
, BOOST_PP_INC(BOOST_PARAMETER_MAX_ARITY) \
313+
, BOOST_PP_INC(BOOST_PARAMETER_COMPOSE_MAX_ARITY) \
314314
, BOOST_PARAMETER_NO_SPEC_FUNCTION_OVERLOAD_Z \
315315
, (name, impl, is_m, c) \
316316
)

‎include/boost/parameter/aux_/preprocessor/no_perfect_forwarding_begin.hpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@
141141
) \
142142
BOOST_PP_ENUM_TRAILING_PARAMS( \
143143
BOOST_PP_SUB( \
144-
BOOST_PARAMETER_MAX_ARITY \
144+
BOOST_PARAMETER_COMPOSE_MAX_ARITY \
145145
, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)) \
146146
) \
147147
, ::boost::parameter::aux::void_reference() BOOST_PP_INTERCEPT \

‎include/boost/parameter/aux_/preprocessor/overloads.hpp‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
// >
1919
// , unnamed_list
2020
// >::type
21-
// operator()(A0 const& a0, A1 const& a1) const
21+
// operator()(A0 const& a0, A1 const& a1) const
2222
// {
2323
// typedef typename ::boost::mpl::apply_wrap1<
2424
// ::boost::parameter::aux::make_arg_list<
@@ -69,7 +69,7 @@ template <BOOST_PP_ENUM_PARAMS(N, typename A)>
6969
typename ::boost::mpl::first<
7070
typename BOOST_PARAMETER_arg_list(N)::type
7171
>::type
72-
operator()(BOOST_PP_ENUM_BINARY_PARAMS(N, A, & a)) const
72+
operator()(BOOST_PP_ENUM_BINARY_PARAMS(N, A, & a)) const
7373
{
7474
typedef typename BOOST_PARAMETER_arg_list(N)::type result;
7575
typedef typename ::boost::mpl::first<result>::type result_type;
@@ -79,7 +79,7 @@ operator()(BOOST_PP_ENUM_BINARY_PARAMS(N, A, & a)) const
7979
return result_type(
8080
BOOST_PP_ENUM(N, BOOST_PARAMETER_arg_pack_init, BOOST_PP_DEC(N))
8181
BOOST_PP_ENUM_TRAILING_PARAMS(
82-
BOOST_PP_SUB(BOOST_PARAMETER_MAX_ARITY, N)
82+
BOOST_PP_SUB(BOOST_PARAMETER_COMPOSE_MAX_ARITY, N)
8383
, ::boost::parameter::aux::void_reference() BOOST_PP_INTERCEPT
8484
)
8585
);

‎include/boost/parameter/compose.hpp‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright Cromwell D. Enage 2018.
1+
// Copyright Cromwell D. Enage 2019.
22
// Distributed under the Boost Software License, Version 1.0.
33
// (See accompanying file LICENSE_1_0.txt or copy at
44
// http://www.boost.org/LICENSE_1_0.txt)
@@ -103,7 +103,7 @@ namespace boost { namespace parameter {
103103
BOOST_PP_ENUM_PARAMS_Z(z, n, a) \
104104
BOOST_PP_ENUM_TRAILING_PARAMS_Z( \
105105
z \
106-
, BOOST_PP_SUB(BOOST_PARAMETER_MAX_ARITY, n) \
106+
, BOOST_PP_SUB(BOOST_PARAMETER_COMPOSE_MAX_ARITY, n) \
107107
, ::boost::parameter::aux::void_reference() BOOST_PP_INTERCEPT \
108108
) \
109109
); \
@@ -126,7 +126,7 @@ namespace boost { namespace parameter {
126126
BOOST_PP_ENUM_PARAMS_Z(z, n, a) \
127127
BOOST_PP_ENUM_TRAILING_PARAMS_Z( \
128128
z \
129-
, BOOST_PP_SUB(BOOST_PARAMETER_MAX_ARITY, n) \
129+
, BOOST_PP_SUB(BOOST_PARAMETER_COMPOSE_MAX_ARITY, n) \
130130
, ::boost::parameter::aux::void_reference() BOOST_PP_INTERCEPT \
131131
) \
132132
); \
@@ -141,7 +141,7 @@ namespace boost { namespace parameter {
141141

142142
BOOST_PP_REPEAT_FROM_TO(
143143
1
144-
, BOOST_PP_INC(BOOST_PARAMETER_MAX_ARITY)
144+
, BOOST_PP_INC(BOOST_PARAMETER_COMPOSE_MAX_ARITY)
145145
, BOOST_PARAMETER_compose_arg_list_function_overload
146146
, TaggedArg
147147
)

‎include/boost/parameter/config.hpp‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,15 @@
6464
#if !defined(BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY)
6565
#define BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY 0
6666
#endif
67+
#if !defined(BOOST_PARAMETER_COMPOSE_MAX_ARITY)
68+
#if BOOST_WORKAROUND(BOOST_MSVC, < 1800)
69+
// Some tests cause MSVC-11.0 and earlier to run out of heap space
70+
// if the value is set any higher. -- Cromwell D. Enage
71+
#define BOOST_PARAMETER_COMPOSE_MAX_ARITY 20
72+
#else
73+
#define BOOST_PARAMETER_COMPOSE_MAX_ARITY 64
74+
#endif
75+
#endif // BOOST_PARAMETER_COMPOSE_MAX_ARITY
6776
#if !defined(BOOST_PARAMETER_MAX_ARITY)
6877
#define BOOST_PARAMETER_MAX_ARITY 8
6978
#endif

0 commit comments

Comments
 (0)