TRIQS/nda 1.3.0
Multi-dimensional array library for C++
Loading...
Searching...
No Matches
idx_map.hpp File Reference
#include "./permutation.hpp"
#include "./range.hpp"
#include "./slice_static.hpp"
#include "../macros.hpp"
#include "../traits.hpp"
#include <algorithm>
#include <array>
#include <concepts>
#include <cstdint>
#include <cstdlib>
#include <functional>
#include <numeric>
#include <stdexcept>
#include <type_traits>
#include <utility>
#include <vector>

Detailed Description

Provides a class that maps multi-dimensional indices to a linear index and vice versa.

Definition in file idx_map.hpp.

Go to the source code of this file.

Classes

class  nda::idx_map< Rank, StaticExtents, StrideOrder, LayoutProp >
 Layout that specifies how to map multi-dimensional indices to a linear/flat index. More...
 

Variables

template<int Rank>
constexpr uint64_t nda::C_stride_order = nda::encode(nda::permutations::identity<Rank>())
 C/Row-major stride order.
 
template<int Rank>
constexpr uint64_t nda::Fortran_stride_order = nda::encode(nda::permutations::reverse_identity<Rank>())
 Fortran/Column-major stride order.