Update of /cvsroot/boost/boost/boost/xpressive/proto
In directory
sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv23603/boost/xpressive/proto
Modified Files:
extends.hpp
Log Message:
named captures for dynamic regexes, doxygen comments
Index: extends.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/proto/extends.hpp,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- extends.hpp 30 Apr 2007 23:07:18 -0000 1.30
+++ extends.hpp 7 May 2007 04:41:25 -0000 1.31
@@ -33,19 +33,22 @@
#define BOOST_PROTO_DEFINE_FUN_OP(Z, N, Data)\
template<typename This BOOST_PP_ENUM_TRAILING_PARAMS_Z(Z, N, typename
A)>\
struct result<This(BOOST_PP_ENUM_PARAMS_Z(Z, N, A))>\
- : boost::proto::generate<\
- BOOST_PP_TUPLE_ELEM(3, 2, Data)\
- , typename boost::proto::result_of::BOOST_PP_CAT(funop, N)<\
- BOOST_PP_TUPLE_ELEM(3, 1, Data) const\
- BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z(\
- Z\
- , N\
- , typename boost::remove_reference<A\
- , >::type BOOST_PP_INTERCEPT\
- )\
+ {\
+ typedef\
+ typename boost::proto::generate<\
+ BOOST_PP_TUPLE_ELEM(3, 2, Data)\
+ , typename boost::proto::result_of::BOOST_PP_CAT(funop, N)<\
+ BOOST_PP_TUPLE_ELEM(3, 1, Data) const\
+ BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z(\
+ Z\
+ , N\
+ , typename boost::remove_reference<A\
+ , >::type BOOST_PP_INTERCEPT\
+ )\
+ >::type\
>::type\
- >\
- {};\
+ type;\
+ };\
\
template<BOOST_PP_ENUM_PARAMS_Z(Z, N, typename A)>\
typename boost::proto::generate<\
@@ -211,24 +214,28 @@
/// \brief Empty type to be used as a dummy template parameter of
/// POD expression wrappers. It allows argument-dependent lookup
- /// to find proto's operator overloads.
+ /// to find Proto's operator overloads.
///
- /// For example:
+ /// \c proto::is_proto_expr allows argument-dependent lookup
+ /// to find Proto's operator overloads. For example:
///
- /// template< typename T, typename Dummy = proto::is_proto_expr >
- /// struct my_terminal
- /// {
- /// BOOST_PROTO_EXTENDS(
- /// typename proto::terminal\<T\>::type
- /// , my_terminal\<T\>
- /// , default_domain
- /// )
- /// };
+ /// \code
+ /// template<typename T, typename Dummy = proto::is_proto_expr>
+ /// struct my_terminal
+ /// {
+ /// BOOST_PROTO_EXTENDS(
+ /// typename proto::terminal<T>::type
+ /// , my_terminal<T>
+ /// , default_domain
+ /// )
+ /// };
///
- /// my_terminal\<int\> _1, _2;
- /// _1 + _2; // OK, uses proto::operator+
+ /// // ...
+ /// my_terminal<int> _1, _2;
+ /// _1 + _2; // OK, uses proto::operator+
+ /// \endcode
///
- /// Without the second Dummy template parameter, Proto's operator
+ /// Without the second \c Dummy template parameter, Proto's operator
/// overloads would not be considered by name lookup.
struct is_proto_expr
{};
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs