mirror of
https://github.com/triqs/dft_tools
synced 2024-10-31 19:23:45 +01:00
arrays : add experimental array_const_view
- not completely clear how to manipulate this alias, in particular when matching template function (and portability : require C++11 compiler).
This commit is contained in:
parent
241d5636d7
commit
017394e17f
47
test/triqs/arrays/alias_const_view.cpp
Normal file
47
test/triqs/arrays/alias_const_view.cpp
Normal file
@ -0,0 +1,47 @@
|
||||
/*******************************************************************************
|
||||
*
|
||||
* TRIQS: a Toolbox for Research in Interacting Quantum Systems
|
||||
*
|
||||
* Copyright (C) 2013 by O. Parcollet
|
||||
*
|
||||
* TRIQS is free software: you can redistribute it and/or modify it under the
|
||||
* terms of the GNU General Public License as published by the Free Software
|
||||
* Foundation, either version 3 of the License, or (at your option) any later
|
||||
* version.
|
||||
*
|
||||
* TRIQS is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* TRIQS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
#include "./common.hpp"
|
||||
#include "./src/array.hpp"
|
||||
#include <iostream>
|
||||
|
||||
//using std::cout; using std::endl;
|
||||
using namespace triqs::arrays;
|
||||
#include <type_traits>
|
||||
|
||||
|
||||
template<typename U, ull_t opt, ull_t to, bool B>
|
||||
void f (array_const_view<U,2,opt,to,B> const & a) {
|
||||
std::cout << a << std::endl ;
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
|
||||
array<long,2 > A (2,3);
|
||||
A() =3;
|
||||
|
||||
f(A());
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -86,6 +86,13 @@ namespace triqs { namespace arrays {
|
||||
};
|
||||
|
||||
#undef IMPL_TYPE
|
||||
|
||||
// This alias is experiemental !! on modern compilers only.
|
||||
#ifndef TRIQS_COMPILER_IS_OBSOLETE
|
||||
template <typename ValueType, int Rank, ull_t Opt=0, ull_t TraversalOrder=0, bool Borrowed=false>
|
||||
using array_const_view = array_view<ValueType, Rank, Opt, TraversalOrder, Borrowed>;
|
||||
#endif
|
||||
|
||||
//------------------------------- array ---------------------------------------------------
|
||||
|
||||
#define IMPL_TYPE indexmap_storage_pair< indexmaps::cuboid::map<Rank,Opt,TraversalOrder>, \
|
||||
|
Loading…
Reference in New Issue
Block a user