3
0
mirror of https://github.com/triqs/dft_tools synced 2024-10-31 19:23:45 +01:00

arrays : correct deletion of std::swap for views

- forgot the bool flags, in case a weak view is involved.
This commit is contained in:
Olivier Parcollet 2013-08-23 21:28:30 +02:00
parent f78e6baf9e
commit 3d6c030b1f
3 changed files with 5 additions and 5 deletions

View File

@ -212,8 +212,8 @@ namespace triqs { namespace arrays {
// The std::swap is WRONG for a view because of the copy/move semantics of view. // The std::swap is WRONG for a view because of the copy/move semantics of view.
// Use swap instead (the correct one, found by ADL). // Use swap instead (the correct one, found by ADL).
namespace std { namespace std {
template <typename V, int R, triqs::ull_t Opt, triqs::ull_t To > template <typename V, int R, triqs::ull_t Opt, triqs::ull_t To, bool B1, bool B2>
void swap( triqs::arrays::array_view<V,R,Opt,To> & a , triqs::arrays::array_view<V,R,Opt,To> & b)= delete; void swap( triqs::arrays::array_view<V,R,Opt,To,B1> & a , triqs::arrays::array_view<V,R,Opt,To,B2> & b)= delete;
} }
#include "./expression_template/array_algebra.hpp" #include "./expression_template/array_algebra.hpp"

View File

@ -198,8 +198,8 @@ namespace triqs { namespace arrays {
// The std::swap is WRONG for a view because of the copy/move semantics of view. // The std::swap is WRONG for a view because of the copy/move semantics of view.
// Use swap instead (the correct one, found by ADL). // Use swap instead (the correct one, found by ADL).
namespace std { namespace std {
template <typename V, triqs::ull_t Opt, triqs::ull_t To > template <typename V, triqs::ull_t Opt, triqs::ull_t To, bool B1, bool B2>
void swap( triqs::arrays::matrix_view<V,Opt,To> & a , triqs::arrays::matrix_view<V,Opt,To> & b)= delete; void swap( triqs::arrays::matrix_view<V,Opt,To,B1> & a , triqs::arrays::matrix_view<V,Opt,To,B2> & b)= delete;
} }
#include "./expression_template/matrix_algebra.hpp" #include "./expression_template/matrix_algebra.hpp"
#endif #endif

View File

@ -293,7 +293,7 @@ namespace triqs { namespace arrays {
// The std::swap is WRONG for a view because of the copy/move semantics of view. // The std::swap is WRONG for a view because of the copy/move semantics of view.
// Use swap instead (the correct one, found by ADL). // Use swap instead (the correct one, found by ADL).
namespace std { namespace std {
template <typename V, triqs::ull_t S> void swap( triqs::arrays::vector_view<V,S> & a , triqs::arrays::vector_view<V,S> & b)= delete; template <typename V, triqs::ull_t S, bool B1, bool B2> void swap( triqs::arrays::vector_view<V,S,B1> & a , triqs::arrays::vector_view<V,S,B2> & b)= delete;
} }
#include "./expression_template/vector_algebra.hpp" #include "./expression_template/vector_algebra.hpp"