mirror of
https://github.com/triqs/dft_tools
synced 2024-10-31 19:23:45 +01:00
5128126055
Changed operator()(int, int...) && for array, and views. - For const_view and regular type, returns value_type (i.e. a copy). NB : does make a copy, not a move. Ok for scalar type. TODO: think for complicated types. This allows codes like : f(x)(0,0) where f : x-> matrix or const_view to be correct in clef expression evaluation. - For _view : return a value_type &, as before to allow : A(....)(0,0) = rhs; It is not possible to detect dangling refs in that case at compile time. Added a security in TRIQS_ARRAYS_DEBUG mode to detect a dangling ref at run time, i.e. the case where the view is "unique" (ref count ==1). This would be a quite bad design anyway ... - also : - clean operator[] for vector (old workaround for old gcc...) - add IsView flag in ISP impl class, for the impl. of operator() && |
||
---|---|---|
.. | ||
blas_lapack | ||
expression_template | ||
functional | ||
h5 | ||
impl | ||
indexmaps | ||
linalg | ||
python | ||
storages | ||
algorithms.hpp | ||
array.hpp | ||
asserts.hpp | ||
cache.hpp | ||
CMakeLists.txt | ||
h5.hpp | ||
make_immutable_array.hpp | ||
mapped_functions.hpp | ||
matrix_stack_view.hpp | ||
matrix_tensor_proxy.hpp | ||
matrix_view_proxy.hpp | ||
matrix.hpp | ||
vector.hpp |