2
0
mirror of https://github.com/boostorg/ublas.git synced 2026-02-26 17:12:10 +00:00

FIX Container concept requires erase_element

This commit is contained in:
Michael Stevens
2005-06-27 12:37:27 +00:00
parent 2b7956c150
commit f05d72ea3f
6 changed files with 35 additions and 1 deletions

View File

@@ -199,6 +199,10 @@ namespace boost { namespace numeric { namespace ublas {
reference insert_element (size_type i, size_type j, const_reference t) {
return (operator () (i, j) = t);
}
BOOST_UBLAS_INLINE
void erase_element (size_type i, size_type j) {
return (operator () (i, j) = value_type/*zero*/());
}
// Zeroing
BOOST_UBLAS_INLINE

View File

@@ -384,6 +384,12 @@ namespace boost { namespace numeric { namespace ublas {
return (data () [triangular_type::element (layout_type (), j, size_, i, size_)] = type_traits<value_type>::conj (t));
}
}
BOOST_UBLAS_INLINE
void erase_element (size_type i, size_type j) {
BOOST_UBLAS_CHECK (i < size_, bad_index ());
BOOST_UBLAS_CHECK (j < size_, bad_index ());
data () [triangular_type::element (layout_type (), i, size_, j, size_)] = value_type/*zero*/();
}
// Zeroing
BOOST_UBLAS_INLINE

View File

@@ -163,7 +163,10 @@ namespace boost { namespace numeric { namespace ublas {
reference insert_element (size_type i, size_type j, const_reference t) {
return (at_element (i, j) = t);
}
void erase_element (size_type i, size_type j) {
return (at_element (i, j) = value_type/*zero*/());
}
// Zeroing
BOOST_UBLAS_INLINE
void clear () {
@@ -1075,6 +1078,10 @@ namespace boost { namespace numeric { namespace ublas {
reference insert_element (size_type i, size_type j, const_reference t) {
return (at_element (i, j) = t);
}
BOOST_UBLAS_INLINE
void erase_element (size_type i, size_type j) {
return (at_element (i, j) = value_type/*zero*/());
}
// Zeroing
BOOST_UBLAS_INLINE

View File

@@ -171,6 +171,10 @@ namespace boost { namespace numeric { namespace ublas {
reference insert_element (size_type i, size_type j, const_reference t) {
return (operator () (i, j) = t);
}
BOOST_UBLAS_INLINE
void erase_element (size_type i, size_type j) {
return (operator () (i, j) = value_type/*zero*/());
}
// Zeroing
BOOST_UBLAS_INLINE

View File

@@ -153,6 +153,10 @@ namespace boost { namespace numeric { namespace ublas {
reference insert_element (size_type i, size_type j, const_reference t) {
return (operator () (i, j) = t);
}
BOOST_UBLAS_INLINE
void erase_element (size_type i, size_type j) {
return (operator () (i, j) = value_type/*zero*/());
}
// Zeroing
BOOST_UBLAS_INLINE

View File

@@ -132,6 +132,10 @@ namespace boost { namespace numeric { namespace ublas {
reference insert_element (size_type i, const_reference t) {
return (data () [i] = t);
}
BOOST_UBLAS_INLINE
void erase_element (size_type i) {
data () [i] = value_type/*zero*/();
}
// Zeroing
BOOST_UBLAS_INLINE
@@ -1258,6 +1262,11 @@ namespace boost { namespace numeric { namespace ublas {
BOOST_UBLAS_CHECK (i < size_, bad_index ());
return (data_ [i] = t);
}
BOOST_UBLAS_INLINE
void erase_element (size_type i) {
BOOST_UBLAS_CHECK (i < size_, bad_index ());
return (data_ [i] = value_type/*zero*/());
}
// Zeroing
BOOST_UBLAS_INLINE