Skip to content

Commit 2dbb009

Browse files
committed
PP usage speedups (mostly for EDG)
[SVN r15286]
1 parent d91b6e9 commit 2dbb009

File tree

9 files changed

+31
-31
lines changed

9 files changed

+31
-31
lines changed

include/boost/python/call.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ call(PyObject* callable
5454
return converter(
5555
PyEval_CallFunction(
5656
callable
57-
, const_cast<char*>("(" BOOST_PP_REPEAT(N, BOOST_PYTHON_FIXED, "O") ")")
58-
BOOST_PP_REPEAT(N, BOOST_PYTHON_FAST_ARG_TO_PYTHON_GET, nil)
57+
, const_cast<char*>("(" BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_FIXED, "O") ")")
58+
BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_FAST_ARG_TO_PYTHON_GET, nil)
5959
));
6060
}
6161

include/boost/python/call_method.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ call_method(PyObject* self, char const* name
5454
PyEval_CallMethod(
5555
self
5656
, const_cast<char*>(name)
57-
, const_cast<char*>("(" BOOST_PP_REPEAT(N, BOOST_PYTHON_FIXED, "O") ")")
58-
BOOST_PP_REPEAT(N, BOOST_PYTHON_FAST_ARG_TO_PYTHON_GET, nil)
57+
, const_cast<char*>("(" BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_FIXED, "O") ")")
58+
BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_FAST_ARG_TO_PYTHON_GET, nil)
5959
));
6060
}
6161

include/boost/python/detail/defaults_gen.hpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,21 +41,21 @@ struct func_stubs_base {};
4141
#define BPL_IMPL_TYPEDEF_GEN(z, INDEX, DATA) \
4242
typedef typename boost::python::detail::type_at \
4343
< \
44-
BOOST_PP_ADD(INDEX, DATA), \
44+
BOOST_PP_ADD_D(1, INDEX, DATA), \
4545
SigT \
4646
>::type BOOST_PP_CAT(T, INDEX); \
4747

4848
#define BPL_IMPL_FUNC_WRAPPER_GEN(z, index, DATA) \
4949
static RT BOOST_PP_CAT(func_, index) ( \
5050
BOOST_PYTHON_BINARY_ENUM( \
51-
BOOST_PP_ADD(BOOST_PP_TUPLE_ELEM(3, 1, DATA), index), T, arg) \
51+
BOOST_PP_ADD_D(1, BOOST_PP_TUPLE_ELEM(3, 1, DATA), index), T, arg) \
5252
) \
5353
{ \
5454
BOOST_PP_TUPLE_ELEM(3, 2, DATA) \
5555
BOOST_PP_TUPLE_ELEM(3, 0, DATA) \
5656
( \
5757
BOOST_PP_ENUM_PARAMS( \
58-
BOOST_PP_ADD(BOOST_PP_TUPLE_ELEM(3, 1, DATA), index), \
58+
BOOST_PP_ADD_D(1, BOOST_PP_TUPLE_ELEM(3, 1, DATA), index), \
5959
arg \
6060
) \
6161
); \
@@ -83,7 +83,7 @@ struct func_stubs_base {};
8383
( \
8484
BOOST_PP_INC(N_DFLTS), \
8585
BPL_IMPL_FUNC_WRAPPER_GEN, \
86-
(FNAME, BOOST_PP_SUB(N_ARGS, N_DFLTS), RETURN) \
86+
(FNAME, BOOST_PP_SUB_D(1, N_ARGS, N_DFLTS), RETURN) \
8787
) \
8888
}; \
8989
}; \
@@ -92,14 +92,14 @@ struct func_stubs_base {};
9292
#define BPL_IMPL_MEM_FUNC_WRAPPER_GEN(z, index, DATA) \
9393
static RT BOOST_PP_CAT(func_, index) ( \
9494
ClassT& obj BOOST_PP_COMMA_IF( \
95-
BOOST_PP_ADD(BOOST_PP_TUPLE_ELEM(3, 1, DATA), index)) \
95+
BOOST_PP_ADD_D(1, BOOST_PP_TUPLE_ELEM(3, 1, DATA), index)) \
9696
BOOST_PYTHON_BINARY_ENUM( \
97-
BOOST_PP_ADD(BOOST_PP_TUPLE_ELEM(3, 1, DATA), index), T, arg) \
97+
BOOST_PP_ADD_D(1, BOOST_PP_TUPLE_ELEM(3, 1, DATA), index), T, arg) \
9898
) \
9999
{ \
100100
BOOST_PP_TUPLE_ELEM(3, 2, DATA) obj.BOOST_PP_TUPLE_ELEM(3, 0, DATA)( \
101101
BOOST_PP_ENUM_PARAMS( \
102-
BOOST_PP_ADD(BOOST_PP_TUPLE_ELEM(3, 1, DATA), index), arg \
102+
BOOST_PP_ADD_D(1, BOOST_PP_TUPLE_ELEM(3, 1, DATA), index), arg \
103103
) \
104104
); \
105105
}
@@ -127,7 +127,7 @@ struct func_stubs_base {};
127127
( \
128128
BOOST_PP_INC(N_DFLTS), \
129129
BPL_IMPL_MEM_FUNC_WRAPPER_GEN, \
130-
(FNAME, BOOST_PP_SUB(N_ARGS, N_DFLTS), RETURN) \
130+
(FNAME, BOOST_PP_SUB_D(1, N_ARGS, N_DFLTS), RETURN) \
131131
) \
132132
}; \
133133
};
@@ -265,7 +265,7 @@ struct func_stubs_base {};
265265
FNAME, \
266266
GENERATOR_NAME, \
267267
MAX_ARGS, \
268-
BOOST_PP_SUB(MAX_ARGS, MIN_ARGS) \
268+
BOOST_PP_SUB_D(1, MAX_ARGS, MIN_ARGS) \
269269
)
270270

271271
#define BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(GENERATOR_NAME, FNAME, MIN_ARGS, MAX_ARGS) \
@@ -274,7 +274,7 @@ struct func_stubs_base {};
274274
FNAME, \
275275
GENERATOR_NAME, \
276276
MAX_ARGS, \
277-
BOOST_PP_SUB(MAX_ARGS, MIN_ARGS) \
277+
BOOST_PP_SUB_D(1, MAX_ARGS, MIN_ARGS) \
278278
)
279279

280280
// deprecated macro names (to be removed)

include/boost/python/detail/make_tuple.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
make_tuple(BOOST_PYTHON_BINARY_ENUM(N, A, const& a))
2323
{
2424
tuple result((detail::new_reference)::PyTuple_New(N));
25-
BOOST_PP_REPEAT(N, BOOST_PYTHON_MAKE_TUPLE_ARG, _)
25+
BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_MAKE_TUPLE_ARG, _)
2626
return result;
2727
}
2828

include/boost/python/detail/returning.hpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -96,15 +96,15 @@ struct returning<void>
9696
, PyObject*, P const* policies)
9797
{
9898
// check that each of the arguments is convertible
99-
BOOST_PP_REPEAT(N, BOOST_PYTHON_CHECK_CONVERSION, nil)
99+
BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_CHECK_CONVERSION, nil)
100100

101101
// find the result converter
102102
typedef typename P::result_converter result_converter;
103103
typename mpl::apply1<result_converter, R>::type cr;
104104
if (!cr.convertible() || !policies->precall(args_))
105105
return 0;
106106
PyObject* result = cr(
107-
(*pf)(BOOST_PP_REPEAT(N, BOOST_PYTHON_CALL_ARGS, nil))
107+
(*pf)(BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_CALL_ARGS, nil))
108108
);
109109
return policies->postcall(args_, result);
110110
}
@@ -117,11 +117,11 @@ struct returning<void>
117117
, PyObject*, P const* policies)
118118
{
119119
// check that each of the arguments is convertible
120-
BOOST_PP_REPEAT(N, BOOST_PYTHON_CHECK_CONVERSION, nil)
120+
BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_CHECK_CONVERSION, nil)
121121

122122
if (!policies->precall(args_))
123123
return 0;
124-
(*pf)(BOOST_PP_REPEAT(N, BOOST_PYTHON_CALL_ARGS, nil));
124+
(*pf)(BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_CALL_ARGS, nil));
125125
return policies->postcall(args_, detail::none());
126126
}
127127
# endif // returning void / non-void
@@ -168,7 +168,7 @@ struct returning<void>
168168
return 0;
169169

170170
// unroll a loop for the rest of them
171-
BOOST_PP_REPEAT(N, BOOST_PYTHON_CHECK_CONVERSION, nil)
171+
BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_CHECK_CONVERSION, nil)
172172

173173
// find the result converter
174174
typedef typename P::result_converter result_converter;
@@ -177,7 +177,7 @@ struct returning<void>
177177
return 0;
178178
PyObject* result = cr(
179179
((ct(PyTuple_GET_ITEM(args_, 0))).*pmf)(
180-
BOOST_PP_REPEAT(N, BOOST_PYTHON_CALL_ARGS, nil))
180+
BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_CALL_ARGS, nil))
181181
);
182182
return policies->postcall(args_, result);
183183
}
@@ -196,13 +196,13 @@ struct returning<void>
196196
return 0;
197197

198198
// unroll a loop for the rest of them
199-
BOOST_PP_REPEAT(N, BOOST_PYTHON_CHECK_CONVERSION, nil)
199+
BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_CHECK_CONVERSION, nil)
200200

201201
if (!policies->precall(args_))
202202
return 0;
203203

204204
((ct(PyTuple_GET_ITEM(args_, 0))).*pmf)(
205-
BOOST_PP_REPEAT(N, BOOST_PYTHON_CALL_ARGS, nil));
205+
BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_CALL_ARGS, nil));
206206
return policies->postcall(args_, detail::none());
207207
}
208208
# endif

include/boost/python/init.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -310,8 +310,8 @@ template <BOOST_PYTHON_TEMPLATE_TYPES>
310310
struct init : detail::check_init_params<BOOST_PYTHON_TEMPLATE_ARGS>
311311
{
312312
typedef boost::mpl::type_list<T0> l0;
313-
BOOST_PP_REPEAT
314-
(BOOST_PP_DEC(BOOST_PYTHON_MAX_ARITY), BOOST_PYTHON_APPEND_TO_INIT, 0)
313+
BOOST_PP_REPEAT_1ST(
314+
BOOST_PP_DEC(BOOST_PYTHON_MAX_ARITY), BOOST_PYTHON_APPEND_TO_INIT, 0)
315315

316316
typedef BOOST_PP_CAT(l, BOOST_PP_DEC(BOOST_PYTHON_MAX_ARITY)) sequence;
317317

include/boost/python/object/make_holder.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ struct make_holder<N>
5656
template <class Holder, class ArgList>
5757
struct apply
5858
{
59-
BOOST_PP_REPEAT(N, BOOST_PYTHON_FORWARD_ARG, nil)
59+
BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_FORWARD_ARG, nil)
6060
static void execute(
6161
PyObject* p
6262
BOOST_PP_COMMA_IF(N) BOOST_PYTHON_BINARY_ENUM(N, t, a))
@@ -66,7 +66,7 @@ struct make_holder<N>
6666
void* memory = Holder::allocate(p, offsetof(instance_t, storage), sizeof(Holder));
6767
try {
6868
(new (memory) Holder(
69-
p BOOST_PP_REPEAT(N, BOOST_PYTHON_DO_FORWARD_ARG, nil)))->install(p);
69+
p BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_DO_FORWARD_ARG, nil)))->install(p);
7070
}
7171
catch(...) {
7272
Holder::deallocate(p, memory);

include/boost/python/object/pointer_holder.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ void* pointer_holder_back_reference<Pointer, Value>::holds(type_info dst_t)
131131
# endif
132132
pointer_holder(PyObject* BOOST_PP_COMMA_IF(N) BOOST_PYTHON_BINARY_ENUM(N, A, a))
133133
: m_p(new Value(
134-
BOOST_PP_REPEAT(N, BOOST_PYTHON_UNFORWARD_LOCAL, nil)
134+
BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_UNFORWARD_LOCAL, nil)
135135
))
136136
{}
137137

@@ -149,7 +149,7 @@ void* pointer_holder_back_reference<Pointer, Value>::holds(type_info dst_t)
149149
pointer_holder_back_reference(
150150
PyObject* p BOOST_PP_COMMA_IF(N) BOOST_PYTHON_BINARY_ENUM(N, A, a))
151151
: m_p(new held_type(
152-
p BOOST_PP_COMMA_IF(N) BOOST_PP_REPEAT(N, BOOST_PYTHON_UNFORWARD_LOCAL, nil)
152+
p BOOST_PP_COMMA_IF(N) BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_UNFORWARD_LOCAL, nil)
153153
))
154154
{}
155155

include/boost/python/object/value_holder.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ void* value_holder_back_reference<Held,BackReferenceType>::holds(
101101
value_holder(
102102
PyObject* BOOST_PP_COMMA_IF(N) BOOST_PYTHON_BINARY_ENUM(N, A, a))
103103
: m_held(
104-
BOOST_PP_REPEAT(N, BOOST_PYTHON_UNFORWARD_LOCAL, nil)
104+
BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_UNFORWARD_LOCAL, nil)
105105
)
106106
{}
107107

@@ -121,7 +121,7 @@ void* value_holder_back_reference<Held,BackReferenceType>::holds(
121121
PyObject* p BOOST_PP_COMMA_IF(N) BOOST_PYTHON_BINARY_ENUM(N, A, a))
122122
: m_held(
123123
p BOOST_PP_COMMA_IF(N)
124-
BOOST_PP_REPEAT(N, BOOST_PYTHON_UNFORWARD_LOCAL, nil)
124+
BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_UNFORWARD_LOCAL, nil)
125125
)
126126
{
127127
}

0 commit comments

Comments
 (0)