Update of /cvsroot/boost/boost/boost/lambda/detail
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv603/boost/lambda/detail
Modified Files:
lambda_functors.hpp
Log Message:
Rvalue support
Index: lambda_functors.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/lambda/detail/lambda_functors.hpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- lambda_functors.hpp 6 Jul 2006 13:47:26 -0000 1.8
+++ lambda_functors.hpp 29 Jul 2007 20:33:46 -0000 1.9
@@ -148,6 +148,14 @@
>(a, cnull_type(), cnull_type(), cnull_type());
}
+ template<class A>
+ typename inherited::template sig<tuple<A const&> >::type
+ operator()(A const& a) const {
+ return inherited::template call<
+ typename inherited::template sig<tuple<A const&> >::type
+ >(a, cnull_type(), cnull_type(), cnull_type());
+ }
+
template<class A, class B>
typename inherited::template sig<tuple<A&, B&> >::type
operator()(A& a, B& b) const {
@@ -156,6 +164,30 @@
>(a, b, cnull_type(), cnull_type());
}
+ template<class A, class B>
+ typename inherited::template sig<tuple<A const&, B&> >::type
+ operator()(A const& a, B& b) const {
+ return inherited::template call<
+ typename inherited::template sig<tuple<A const&, B&> >::type
+ >(a, b, cnull_type(), cnull_type());
+ }
+
+ template<class A, class B>
+ typename inherited::template sig<tuple<A&, B const&> >::type
+ operator()(A& a, B const& b) const {
+ return inherited::template call<
+ typename inherited::template sig<tuple<A&, B const&> >::type
+ >(a, b, cnull_type(), cnull_type());
+ }
+
+ template<class A, class B>
+ typename inherited::template sig<tuple<A const&, B const&> >::type
+ operator()(A const& a, B const& b) const {
+ return inherited::template call<
+ typename inherited::template sig<tuple<A const&, B const&> >::type
+ >(a, b, cnull_type(), cnull_type());
+ }
+
template<class A, class B, class C>
typename inherited::template sig<tuple<A&, B&, C&> >::type
operator()(A& a, B& b, C& c) const
@@ -165,6 +197,15 @@
>(a, b, c, cnull_type());
}
+ template<class A, class B, class C>
+ typename inherited::template sig<tuple<A const&, B const&, C const&> >::type
+ operator()(A const& a, B const& b, C const& c) const
+ {
+ return inherited::template call<
+ typename inherited::template sig<tuple<A const&, B const&, C const&>
>::type
+ >(a, b, c, cnull_type());
+ }
+
// for internal calls with env
template<CALL_TEMPLATE_ARGS>
typename inherited::template sig<tuple<CALL_REFERENCE_TYPES> >::type
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs