| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | ///////////////////////////////////////////////////////////////////////////////// expr1.hpp// Contains definition of expr\<\>::operator() overloads.////  Copyright 2008 Eric Niebler. Distributed under the Boost//  Software License, Version 1.0. (See accompanying file//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)#define N BOOST_PP_ITERATION()        /// \overload        ///        template<BOOST_PP_ENUM_PARAMS(N, typename A)>        BOOST_FORCEINLINE        typename result_of::BOOST_PP_CAT(funop, N)<            expr const          , default_domain BOOST_PP_ENUM_TRAILING_PARAMS(N, const A)        >::type const        operator ()(BOOST_PP_ENUM_BINARY_PARAMS(N, A, const &a)) const        {            return result_of::BOOST_PP_CAT(funop, N)<                expr const              , default_domain BOOST_PP_ENUM_TRAILING_PARAMS(N, const A)            >::call(*this BOOST_PP_ENUM_TRAILING_PARAMS(N, a));        }        #ifdef BOOST_PROTO_DEFINE_TERMINAL        /// \overload        ///        template<BOOST_PP_ENUM_PARAMS(N, typename A)>        BOOST_FORCEINLINE        typename result_of::BOOST_PP_CAT(funop, N)<            expr          , default_domain BOOST_PP_ENUM_TRAILING_PARAMS(N, const A)        >::type const        operator ()(BOOST_PP_ENUM_BINARY_PARAMS(N, A, const &a))        {            return result_of::BOOST_PP_CAT(funop, N)<                expr              , default_domain BOOST_PP_ENUM_TRAILING_PARAMS(N, const A)            >::call(*this BOOST_PP_ENUM_TRAILING_PARAMS(N, a));        }        #endif#undef N
 |