summaryrefslogtreecommitdiff
path: root/boost/numeric/ublas/symmetric.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/numeric/ublas/symmetric.hpp')
-rw-r--r--boost/numeric/ublas/symmetric.hpp177
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 () {