diff options
Diffstat (limited to 'boost/numeric/ublas/symmetric.hpp')
-rw-r--r-- | boost/numeric/ublas/symmetric.hpp | 177 |
1 files changed, 176 insertions, 1 deletions
diff --git a/boost/numeric/ublas/symmetric.hpp b/boost/numeric/ublas/symmetric.hpp index ea1bde51ac..9a40969c10 100644 --- a/boost/numeric/ublas/symmetric.hpp +++ b/boost/numeric/ublas/symmetric.hpp @@ -376,6 +376,13 @@ namespace boost { namespace numeric { namespace ublas { #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif + const_iterator2 cbegin () const { + return begin (); + } + BOOST_UBLAS_INLINE +#ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION + typename self_type:: +#endif const_iterator2 end () const { return (*this) ().find2 (1, it1_, (*this) ().size2 ()); } @@ -383,6 +390,13 @@ namespace boost { namespace numeric { namespace ublas { #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif + const_iterator2 cend () const { + return end (); + } + BOOST_UBLAS_INLINE +#ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION + typename self_type:: +#endif const_reverse_iterator2 rbegin () const { return const_reverse_iterator2 (end ()); } @@ -390,9 +404,23 @@ namespace boost { namespace numeric { namespace ublas { #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif + const_reverse_iterator2 crbegin () const { + return rbegin (); + } + BOOST_UBLAS_INLINE +#ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION + typename self_type:: +#endif const_reverse_iterator2 rend () const { return const_reverse_iterator2 (begin ()); } + BOOST_UBLAS_INLINE +#ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION + typename self_type:: +#endif + const_reverse_iterator2 crend () const { + return rend (); + } #endif // Indices @@ -439,9 +467,17 @@ namespace boost { namespace numeric { namespace ublas { return find1 (0, 0, 0); } BOOST_UBLAS_INLINE + const_iterator1 cbegin1 () const { + return begin1 (); + } + BOOST_UBLAS_INLINE const_iterator1 end1 () const { return find1 (0, size_, 0); } + BOOST_UBLAS_INLINE + const_iterator1 cend1 () const { + return end1 (); + } #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator1: @@ -658,6 +694,13 @@ namespace boost { namespace numeric { namespace ublas { #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif + const_iterator1 cbegin () const { + return begin (); + } + BOOST_UBLAS_INLINE +#ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION + typename self_type:: +#endif const_iterator1 end () const { return (*this) ().find1 (1, (*this) ().size1 (), it2_); } @@ -665,6 +708,13 @@ namespace boost { namespace numeric { namespace ublas { #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif + const_iterator1 cend () const { + return end (); + } + BOOST_UBLAS_INLINE +#ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION + typename self_type:: +#endif const_reverse_iterator1 rbegin () const { return const_reverse_iterator1 (end ()); } @@ -672,9 +722,23 @@ namespace boost { namespace numeric { namespace ublas { #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif + const_reverse_iterator1 crbegin () const { + return rbegin (); + } + BOOST_UBLAS_INLINE +#ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION + typename self_type:: +#endif const_reverse_iterator1 rend () const { return const_reverse_iterator1 (begin ()); } + BOOST_UBLAS_INLINE +#ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION + typename self_type:: +#endif + const_reverse_iterator1 crend () const { + return rend (); + } #endif // Indices @@ -721,9 +785,17 @@ namespace boost { namespace numeric { namespace ublas { return find2 (0, 0, 0); } BOOST_UBLAS_INLINE + const_iterator2 cbegin2 () const { + return begin2 (); + } + BOOST_UBLAS_INLINE const_iterator2 end2 () const { return find2 (0, 0, size_); } + BOOST_UBLAS_INLINE + const_iterator2 cend2 () const { + return end2 (); + } #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator2: @@ -873,9 +945,17 @@ namespace boost { namespace numeric { namespace ublas { return const_reverse_iterator1 (end1 ()); } BOOST_UBLAS_INLINE + const_reverse_iterator1 crbegin1 () const { + return rbegin1 (); + } + BOOST_UBLAS_INLINE const_reverse_iterator1 rend1 () const { return const_reverse_iterator1 (begin1 ()); } + BOOST_UBLAS_INLINE + const_reverse_iterator1 crend1 () const { + return rend1 (); + } BOOST_UBLAS_INLINE reverse_iterator1 rbegin1 () { @@ -891,10 +971,17 @@ namespace boost { namespace numeric { namespace ublas { return const_reverse_iterator2 (end2 ()); } BOOST_UBLAS_INLINE + const_reverse_iterator2 crbegin2 () const { + return rbegin2 (); + } + BOOST_UBLAS_INLINE const_reverse_iterator2 rend2 () const { return const_reverse_iterator2 (begin2 ()); } - + BOOST_UBLAS_INLINE + const_reverse_iterator2 crend2 () const { + return rend2 (); + } BOOST_UBLAS_INLINE reverse_iterator2 rbegin2 () { return reverse_iterator2 (end2 ()); @@ -1391,6 +1478,13 @@ namespace boost { namespace numeric { namespace ublas { #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif + const_iterator2 cbegin () const { + return begin (); + } + BOOST_UBLAS_INLINE +#ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION + typename self_type:: +#endif const_iterator2 end () const { return (*this) ().find2 (1, index1 (), (*this) ().size2 ()); } @@ -1398,6 +1492,13 @@ namespace boost { namespace numeric { namespace ublas { #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif + const_iterator2 cend () const { + return end (); + } + BOOST_UBLAS_INLINE +#ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION + typename self_type:: +#endif const_reverse_iterator2 rbegin () const { return const_reverse_iterator2 (end ()); } @@ -1405,9 +1506,23 @@ namespace boost { namespace numeric { namespace ublas { #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif + const_reverse_iterator2 crbegin () const { + return rbegin (); + } + BOOST_UBLAS_INLINE +#ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION + typename self_type:: +#endif const_reverse_iterator2 rend () const { return const_reverse_iterator2 (begin ()); } + BOOST_UBLAS_INLINE +#ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION + typename self_type:: +#endif + const_reverse_iterator2 crend () const { + return rend (); + } #endif // Indices @@ -1484,9 +1599,17 @@ namespace boost { namespace numeric { namespace ublas { return find1 (0, 0, 0); } BOOST_UBLAS_INLINE + const_iterator1 cbegin1 () const { + return begin1 (); + } + BOOST_UBLAS_INLINE const_iterator1 end1 () const { return find1 (0, size1 (), 0); } + BOOST_UBLAS_INLINE + const_iterator1 cend1 () const { + return end1 (); + } #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator1: @@ -1838,6 +1961,13 @@ namespace boost { namespace numeric { namespace ublas { #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif + const_iterator1 cbegin () const { + return begin (); + } + BOOST_UBLAS_INLINE +#ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION + typename self_type:: +#endif const_iterator1 end () const { return (*this) ().find1 (1, (*this) ().size1 (), index2 ()); } @@ -1845,6 +1975,13 @@ namespace boost { namespace numeric { namespace ublas { #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif + const_iterator1 cend () const { + return end (); + } + BOOST_UBLAS_INLINE +#ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION + typename self_type:: +#endif const_reverse_iterator1 rbegin () const { return const_reverse_iterator1 (end ()); } @@ -1852,9 +1989,23 @@ namespace boost { namespace numeric { namespace ublas { #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif + const_reverse_iterator1 crbegin () const { + return rbegin (); + } + BOOST_UBLAS_INLINE +#ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION + typename self_type:: +#endif const_reverse_iterator1 rend () const { return const_reverse_iterator1 (begin ()); } + BOOST_UBLAS_INLINE +#ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION + typename self_type:: +#endif + const_reverse_iterator1 crend () const { + return rend (); + } #endif // Indices @@ -1931,9 +2082,17 @@ namespace boost { namespace numeric { namespace ublas { return find2 (0, 0, 0); } BOOST_UBLAS_INLINE + const_iterator2 cbegin2 () const { + return begin2 (); + } + BOOST_UBLAS_INLINE const_iterator2 end2 () const { return find2 (0, 0, size2 ()); } + BOOST_UBLAS_INLINE + const_iterator2 cend2 () const { + return end2 (); + } #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator2: @@ -2079,9 +2238,17 @@ namespace boost { namespace numeric { namespace ublas { return const_reverse_iterator1 (end1 ()); } BOOST_UBLAS_INLINE + const_reverse_iterator1 crbegin1 () const { + return rbegin1 (); + } + BOOST_UBLAS_INLINE const_reverse_iterator1 rend1 () const { return const_reverse_iterator1 (begin1 ()); } + BOOST_UBLAS_INLINE + const_reverse_iterator1 crend1 () const { + return rend1 (); + } BOOST_UBLAS_INLINE reverse_iterator1 rbegin1 () { @@ -2097,9 +2264,17 @@ namespace boost { namespace numeric { namespace ublas { return const_reverse_iterator2 (end2 ()); } BOOST_UBLAS_INLINE + const_reverse_iterator2 crbegin2 () const { + return rbegin2 (); + } + BOOST_UBLAS_INLINE const_reverse_iterator2 rend2 () const { return const_reverse_iterator2 (begin2 ()); } + BOOST_UBLAS_INLINE + const_reverse_iterator2 crend2 () const { + return rend2 (); + } BOOST_UBLAS_INLINE reverse_iterator2 rbegin2 () { |