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

Reply via email to