|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r62118 - branches/ublas-doxygen
From: david.bellot_at_[hidden]
Date: 2010-05-21 09:32:12
Author: david.bellot
Date: 2010-05-21 09:32:08 EDT (Fri, 21 May 2010)
New Revision: 62118
URL: http://svn.boost.org/trac/boost/changeset/62118
Log:
added range in vector_proxy
Text files modified:
branches/ublas-doxygen/vector.hpp | 2 +
branches/ublas-doxygen/vector_proxy.hpp | 45 +++++++++++++++++++++++++++++++++++++++
2 files changed, 46 insertions(+), 1 deletions(-)
Modified: branches/ublas-doxygen/vector.hpp
==============================================================================
--- branches/ublas-doxygen/vector.hpp (original)
+++ branches/ublas-doxygen/vector.hpp 2010-05-21 09:32:08 EDT (Fri, 21 May 2010)
@@ -11,6 +11,8 @@
//
// And we acknowledge the support from all contributors.
+/// \file Defition
+
#ifndef _BOOST_UBLAS_VECTOR_
#define _BOOST_UBLAS_VECTOR_
Modified: branches/ublas-doxygen/vector_proxy.hpp
==============================================================================
--- branches/ublas-doxygen/vector_proxy.hpp (original)
+++ branches/ublas-doxygen/vector_proxy.hpp 2010-05-21 09:32:08 EDT (Fri, 21 May 2010)
@@ -21,7 +21,16 @@
namespace boost { namespace numeric { namespace ublas {
+ // ------------------------
// Vector based range class
+ // ------------------------
+
+ /// \brief A subvector defined by a range on another vector. It is used as a normal vector.
+ /// A subvector defined by a range on another vector. It is used as a normal vector.
+ /// After being defined it allows the manipulation of a subvector like a normal vector.
+ /// If the specified range falls outside that of of the index range of the vector, then
+ /// the \c vector_range is not a well formed Vector Expression and access to an element
+ /// outside of index range of the vector is \b undefined.
template<class V>
class vector_range:
public vector_expression<vector_range<V> > {
@@ -476,13 +485,25 @@
range_type r_;
};
+ // ------------------
// Simple Projections
+ // ------------------
+
+ /// \brief Return a \c vector_range on a specified vector, a start and stop index.
+ /// Return a \c vector_range on a specified vector, a start and stop index. The resulting \c vector_range can be manipulated like a normal vector.
+ /// If the specified range falls outside that of of the index range of the vector, then the resulting \c vector_range is not a well formed
+ /// Vector Expression and access to an element outside of index range of the vector is \b undefined.
template<class V>
BOOST_UBLAS_INLINE
vector_range<V> subrange (V &data, typename V::size_type start, typename V::size_type stop) {
typedef basic_range<typename V::size_type, typename V::difference_type> range_type;
return vector_range<V> (data, range_type (start, stop));
}
+
+ /// \brief Return a \c const \c vector_range on a specified vector, a start and stop index.
+ /// Return a \c const \c vector_range on a specified vector, a start and stop index. The resulting \c const \c vector_range can be manipulated like a normal vector.
+ /// If the specified range falls outside that of of the index range of the vector, then the resulting \c vector_range is not a well formed
+ /// Vector Expression and access to an element outside of index range of the vector is \b undefined.
template<class V>
BOOST_UBLAS_INLINE
vector_range<const V> subrange (const V &data, typename V::size_type start, typename V::size_type stop) {
@@ -490,23 +511,45 @@
return vector_range<const V> (data, range_type (start, stop));
}
+ // -------------------
// Generic Projections
+ // -------------------
+
+ /// \brief Return a \c const \c vector_range on a specified vector and \c range
+ /// Return a \c const \c vector_range on a specified vector and \c range. The resulting \c vector_range can be manipulated like a normal vector.
+ /// If the specified range falls outside that of of the index range of the vector, then the resulting \c vector_range is not a well formed
+ /// Vector Expression and access to an element outside of index range of the vector is \b undefined.
template<class V>
BOOST_UBLAS_INLINE
vector_range<V> project (V &data, typename vector_range<V>::range_type const &r) {
return vector_range<V> (data, r);
}
+
+ /// \brief Return a \c vector_range on a specified vector and \c range
+ /// Return a \c vector_range on a specified vector and \c range. The resulting \c vector_range can be manipulated like a normal vector.
+ /// If the specified range falls outside that of of the index range of the vector, then the resulting \c vector_range is not a well formed
+ /// Vector Expression and access to an element outside of index range of the vector is \b undefined.
template<class V>
BOOST_UBLAS_INLINE
const vector_range<const V> project (const V &data, typename vector_range<V>::range_type const &r) {
// ISSUE was: return vector_range<V> (const_cast<V &> (data), r);
return vector_range<const V> (data, r);
- }
+ }
+
+ /// \brief Return a \c const \c vector_range on a specified vector and const \c range
+ /// Return a \c const \c vector_range on a specified vector and const \c range. The resulting \c vector_range can be manipulated like a normal vector.
+ /// If the specified range falls outside that of of the index range of the vector, then the resulting \c vector_range is not a well formed
+ /// Vector Expression and access to an element outside of index range of the vector is \b undefined.
template<class V>
BOOST_UBLAS_INLINE
vector_range<V> project (vector_range<V> &data, const typename vector_range<V>::range_type &r) {
return data.project (r);
}
+
+ /// \brief Return a \c vector_range on a specified vector and const \c range
+ /// Return a \c vector_range on a specified vector and const \c range. The resulting \c vector_range can be manipulated like a normal vector.
+ /// If the specified range falls outside that of of the index range of the vector, then the resulting \c vector_range is not a well formed
+ /// Vector Expression and access to an element outside of index range of the vector is \b undefined.
template<class V>
BOOST_UBLAS_INLINE
const vector_range<V> project (const vector_range<V> &data, const typename vector_range<V>::range_type &r) {
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