Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r63143 - sandbox/numeric_bindings/boost/numeric/bindings
From: thomas.klimpel_at_[hidden]
Date: 2010-06-20 13:43:10


Author: klimpel
Date: 2010-06-20 13:43:08 EDT (Sun, 20 Jun 2010)
New Revision: 63143
URL: http://svn.boost.org/trac/boost/changeset/63143

Log:
Changed the return type of the wrapper returning free functions from "wrapper" to "wrapper const", following the suggestion of David Abrahams. This allows them to bind against normal "template<typename T> XXX(T& t)" references (T will be deduced as const) without requiring an additional "template<typename T> XXX(const T& t)" overload.

We still have to decide whether we want to omit the many overloads now.
Text files modified:
   sandbox/numeric_bindings/boost/numeric/bindings/column.hpp | 4 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/conj.hpp | 4 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/herm.hpp | 4 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lower.hpp | 4 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/noop.hpp | 4 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/row.hpp | 4 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/symm.hpp | 4 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/trans.hpp | 4 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/unit_lower.hpp | 4 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/unit_upper.hpp | 4 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/upper.hpp | 4 ++--
   11 files changed, 22 insertions(+), 22 deletions(-)

Modified: sandbox/numeric_bindings/boost/numeric/bindings/column.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/column.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/column.hpp 2010-06-20 13:43:08 EDT (Sun, 20 Jun 2010)
@@ -79,12 +79,12 @@
 }
 
 template< typename T >
-detail::column_wrapper<T> column( T& underlying, std::size_t index ) {
+detail::column_wrapper<T> const column( T& underlying, std::size_t index ) {
     return detail::column_wrapper<T>( underlying, index );
 }
 
 template< typename T >
-detail::column_wrapper<const T> column( const T& underlying, std::size_t index ) {
+detail::column_wrapper<const T> const column( const T& underlying, std::size_t index ) {
     return detail::column_wrapper<const T>( underlying, index );
 }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/conj.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/conj.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/conj.hpp 2010-06-20 13:43:08 EDT (Sun, 20 Jun 2010)
@@ -32,12 +32,12 @@
 }
 
 template< typename T >
-typename result_of::conj< T >::type conj( T& t ) {
+typename result_of::conj< T >::type const conj( T& t ) {
     return typename result_of::conj< T >::type( t );
 }
 
 template< typename T >
-typename result_of::conj< const T >::type conj( const T& t ) {
+typename result_of::conj< const T >::type const conj( const T& t ) {
     return typename result_of::conj< const T >::type( t );
 }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/herm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/herm.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/herm.hpp 2010-06-20 13:43:08 EDT (Sun, 20 Jun 2010)
@@ -28,12 +28,12 @@
 } // namespace result_of
 
 template< typename T >
-typename result_of::herm< T >::type herm( T& underlying ) {
+typename result_of::herm< T >::type const herm( T& underlying ) {
     return typename result_of::herm< T >::type( underlying );
 }
 
 template< typename T >
-typename result_of::herm< const T >::type herm( const T& underlying ) {
+typename result_of::herm< const T >::type const herm( const T& underlying ) {
     return typename result_of::herm< const T >::type( underlying );
 }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lower.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lower.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lower.hpp 2010-06-20 13:43:08 EDT (Sun, 20 Jun 2010)
@@ -29,12 +29,12 @@
 } // namespace result_of
 
 template< typename T >
-typename result_of::lower< T >::type lower( T& underlying ) {
+typename result_of::lower< T >::type const lower( T& underlying ) {
     return typename result_of::lower< T >::type( underlying );
 }
 
 template< typename T >
-typename result_of::lower< const T >::type lower( const T& underlying ) {
+typename result_of::lower< const T >::type const lower( const T& underlying ) {
     return typename result_of::lower< const T >::type( underlying );
 }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/noop.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/noop.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/noop.hpp 2010-06-20 13:43:08 EDT (Sun, 20 Jun 2010)
@@ -45,12 +45,12 @@
 } // namespace result_of
 
 template< typename T >
-detail::noop_wrapper<T> noop( T& underlying ) {
+detail::noop_wrapper<T> const noop( T& underlying ) {
     return detail::noop_wrapper<T>( underlying );
 }
 
 template< typename T >
-detail::noop_wrapper<const T> noop( const T& underlying ) {
+detail::noop_wrapper<const T> const noop( const T& underlying ) {
     return detail::noop_wrapper<const T>( underlying );
 }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/row.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/row.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/row.hpp 2010-06-20 13:43:08 EDT (Sun, 20 Jun 2010)
@@ -78,12 +78,12 @@
 } // namespace result_of
 
 template< typename T >
-detail::row_wrapper<T> row( T& underlying, std::size_t index ) {
+detail::row_wrapper<T> const row( T& underlying, std::size_t index ) {
     return detail::row_wrapper<T>( underlying, index );
 }
 
 template< typename T >
-detail::row_wrapper<const T> row( const T& underlying, std::size_t index ) {
+detail::row_wrapper<const T> const row( const T& underlying, std::size_t index ) {
     return detail::row_wrapper<const T>( underlying, index );
 }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/symm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/symm.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/symm.hpp 2010-06-20 13:43:08 EDT (Sun, 20 Jun 2010)
@@ -28,12 +28,12 @@
 } // namespace result_of
 
 template< typename T >
-typename result_of::symm< T >::type symm( T& underlying ) {
+typename result_of::symm< T >::type const symm( T& underlying ) {
     return typename result_of::symm< T >::type( underlying );
 }
 
 template< typename T >
-typename result_of::symm< const T >::type symm( const T& underlying ) {
+typename result_of::symm< const T >::type const symm( const T& underlying ) {
     return typename result_of::symm< const T >::type( underlying );
 }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/trans.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/trans.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/trans.hpp 2010-06-20 13:43:08 EDT (Sun, 20 Jun 2010)
@@ -134,12 +134,12 @@
 }
 
 template< typename T >
-typename result_of::trans<T>::type trans( T& underlying ) {
+typename result_of::trans<T>::type const trans( T& underlying ) {
     return detail::trans_wrapper<T, mpl::void_>( underlying );
 }
 
 template< typename T >
-typename result_of::trans<const T>::type trans( const T& underlying ) {
+typename result_of::trans<const T>::type const trans( const T& underlying ) {
     return detail::trans_wrapper<const T, mpl::void_>( underlying );
 }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/unit_lower.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/unit_lower.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/unit_lower.hpp 2010-06-20 13:43:08 EDT (Sun, 20 Jun 2010)
@@ -29,12 +29,12 @@
 } // namespace result_of
 
 template< typename T >
-typename result_of::unit_lower< T >::type unit_lower( T& underlying ) {
+typename result_of::unit_lower< T >::type const unit_lower( T& underlying ) {
     return typename result_of::unit_lower< T >::type( underlying );
 }
 
 template< typename T >
-typename result_of::unit_lower< const T >::type unit_lower( const T& underlying ) {
+typename result_of::unit_lower< const T >::type const unit_lower( const T& underlying ) {
     return typename result_of::unit_lower< const T >::type( underlying );
 }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/unit_upper.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/unit_upper.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/unit_upper.hpp 2010-06-20 13:43:08 EDT (Sun, 20 Jun 2010)
@@ -29,12 +29,12 @@
 } // namespace result_of
 
 template< typename T >
-typename result_of::unit_upper< T >::type unit_upper( T& underlying ) {
+typename result_of::unit_upper< T >::type const unit_upper( T& underlying ) {
     return typename result_of::unit_upper< T >::type( underlying );
 }
 
 template< typename T >
-typename result_of::unit_upper< const T >::type unit_upper( const T& underlying ) {
+typename result_of::unit_upper< const T >::type const unit_upper( const T& underlying ) {
     return typename result_of::unit_upper< const T >::type( underlying );
 }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/upper.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/upper.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/upper.hpp 2010-06-20 13:43:08 EDT (Sun, 20 Jun 2010)
@@ -29,12 +29,12 @@
 } // namespace result_of
 
 template< typename T >
-typename result_of::upper< T >::type upper( T& underlying ) {
+typename result_of::upper< T >::type const upper( T& underlying ) {
     return typename result_of::upper< T >::type( underlying );
 }
 
 template< typename T >
-typename result_of::upper< const T >::type upper( const T& underlying ) {
+typename result_of::upper< const T >::type const upper( const T& underlying ) {
     return typename result_of::upper< const T >::type( underlying );
 }
 


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk