~ubuntu-branches/ubuntu/wily/bombono-dvd/wily

« back to all changes in this revision

Viewing changes to libs/boost-lib/boost/lambda/detail/operators.hpp

  • Committer: Bazaar Package Importer
  • Author(s): Alessio Treglia
  • Date: 2010-11-04 11:46:25 UTC
  • mto: This revision was merged to the branch mainline in revision 8.
  • Revision ID: james.westby@ubuntu.com-20101104114625-8xfdhvhpsm51i0nu
Tags: upstream-0.8.0
Import upstream version 0.8.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
// Boost Lambda Library - operators.hpp --------------------------------------
2
2
 
3
 
// Copyright (C) 1999, 2000 Jaakko J�rvi (jaakko.jarvi@cs.utu.fi)
 
3
// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi)
4
4
//
5
5
// Distributed under the Boost Software License, Version 1.0. (See
6
6
// accompanying file LICENSE_1_0.txt or copy at
37
37
lambda_functor<                                                              \
38
38
  lambda_functor_base<                                                       \
39
39
    ACTION,                                                                  \
40
 
    tuple<lambda_functor<Arg>, typename CONVERSION <CONSTB>::type>         \
 
40
    tuple<lambda_functor<Arg>, typename const_copy_argument <CONSTB>::type>  \
41
41
  >                                                                          \
42
42
>                                                                            \
43
43
OPER_NAME (const lambda_functor<Arg>& a, CONSTB& b) {                      \
44
44
  return                                                                     \
45
45
    lambda_functor_base<                                                     \
46
46
      ACTION,                                                                \
47
 
      tuple<lambda_functor<Arg>, typename CONVERSION <CONSTB>::type>       \
 
47
      tuple<lambda_functor<Arg>, typename const_copy_argument <CONSTB>::type>\
48
48
    >                                                                        \
49
 
   (tuple<lambda_functor<Arg>, typename CONVERSION <CONSTB>::type>(a, b)); \
 
49
   (tuple<lambda_functor<Arg>, typename const_copy_argument <CONSTB>::type>(a, b)); \
50
50
}
51
51
 
52
52
 
258
258
#error "Multiple defines of  BOOST_LAMBDA_PTR_ARITHMETIC_E1"
259
259
#endif
260
260
 
261
 
#define BOOST_LAMBDA_PTR_ARITHMETIC_E1(OPER_NAME, ACTION, CONSTB)            \
 
261
#define BOOST_LAMBDA_PTR_ARITHMETIC_E1(OPER_NAME, ACTION, CONSTB)           \
262
262
template<class Arg, int N, class B>                                         \
263
263
inline const                                                                \
264
264
lambda_functor<                                                             \
265
 
  lambda_functor_base<ACTION, tuple<lambda_functor<Arg>, CONSTB(&)[N]> >   \
 
265
  lambda_functor_base<ACTION, tuple<lambda_functor<Arg>, CONSTB(&)[N]> >    \
266
266
>                                                                           \
267
 
OPER_NAME (const lambda_functor<Arg>& a, CONSTB(&b)[N])                    \
 
267
OPER_NAME (const lambda_functor<Arg>& a, CONSTB(&b)[N])                     \
268
268
{                                                                           \
269
 
  return lambda_functor<                                                    \
270
 
    lambda_functor_base<ACTION, tuple<lambda_functor<Arg>, CONSTB(&)[N]> > \
271
 
  >(tuple<lambda_functor<Arg>, CONSTB(&)[N]>(a, b));                       \
 
269
  return                                                                    \
 
270
    lambda_functor_base<ACTION, tuple<lambda_functor<Arg>, CONSTB(&)[N]> >  \
 
271
  (tuple<lambda_functor<Arg>, CONSTB(&)[N]>(a, b));                         \
272
272
}
273
273
 
274
274
 
276
276
#error "Multiple defines of  BOOST_LAMBDA_PTR_ARITHMETIC_E2"
277
277
#endif
278
278
 
279
 
#define BOOST_LAMBDA_PTR_ARITHMETIC_E2(OPER_NAME, ACTION, CONSTA)             \
280
 
template<int N, class A, class Arg>                                          \
281
 
inline const                                                                 \
282
 
lambda_functor<                                                              \
 
279
#define BOOST_LAMBDA_PTR_ARITHMETIC_E2(OPER_NAME, ACTION, CONSTA)           \
 
280
template<int N, class A, class Arg>                                         \
 
281
inline const                                                                \
 
282
lambda_functor<                                                             \
283
283
  lambda_functor_base<ACTION, tuple<CONSTA(&)[N], lambda_functor<Arg> > >   \
284
 
>                                                                            \
 
284
>                                                                           \
285
285
OPER_NAME (CONSTA(&a)[N], const lambda_functor<Arg>& b)                     \
286
 
{                                                                            \
287
 
  return                                                                     \
 
286
{                                                                           \
 
287
  return                                                                    \
288
288
    lambda_functor_base<ACTION, tuple<CONSTA(&)[N], lambda_functor<Arg> > > \
289
289
    (tuple<CONSTA(&)[N], lambda_functor<Arg> >(a, b));                      \
290
290
}