CNORXZ
Container with Native Operation Routines and Expressions
Loading...
Searching...
No Matches
op_utility.h
Go to the documentation of this file.
1// -*- C++ -*-
12#ifndef __cxz_op_utility_h__
13#define __cxz_op_utility_h__
14
15#include "base/base.h"
16
17namespace CNORXZ
18{
19 template <SizeT I, class PosT>
20 constexpr decltype(auto) pos_get(const PosT& pos);
21
22 template <SizeT J, SizeT... Is>
23 constexpr SizeT sum_index_sequence(std::index_sequence<Is...> is);
24
25 template <class F, class PosT, class OpTuple, class OpSizes, SizeT... Is>
26 inline auto pos_unpack_args_i(const F& f, const PosT& pos, const OpTuple& args,
27 OpSizes opsizes, std::index_sequence<Is...> is);
28
29 template <class F, class PosT, class... Ops>
30 inline auto pos_unpack_args(const F& f, const PosT& pos, const Tuple<Ops...>& args);
31
32}
33
34#endif
basic headers
constexpr decltype(auto) pos_get(const PosT &pos)
uint64_t SizeT
Definition types.h:38
constexpr SizeT sum_index_sequence(std::index_sequence< I, Is... > is)
auto pos_unpack_args_i(const F &f, const PosT &pos, const OpTuple &args, OpSizes opsizes, std::index_sequence< Is... > is)
Sptr< Range > rangeCast(const RangePtr r)
std::tuple< T... > Tuple
Definition types.h:60
auto pos_unpack_args(const F &f, const PosT &pos, const Tuple< Ops... > &args)