cMHN 1.1
C++ library for learning MHNs with pRC
Loading...
Searching...
No Matches
slice.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: BSD-2-Clause
2
3#ifndef pRC_CORE_FUNCTORS_SLICE_H
4#define pRC_CORE_FUNCTORS_SLICE_H
5
8
9namespace pRC
10{
11 template<Size... Es>
12 struct Slice
13 {
14 template<class X, class... Os,
15 If<True<decltype(slice<Es...>(declval<X>(), declval<Os>()...))>> =
16 0>
17 constexpr decltype(auto) operator()(X &&a, Os const... offsets) const
18 {
19 return slice<Es...>(forward<X>(a), offsets...);
20 }
21 };
22}
23#endif // pRC_CORE_FUNCTORS_SLICE_H
Definition cholesky.hpp:18
static constexpr auto makeConstantSequence()
Definition sequence.hpp:402
std::size_t Size
Definition type_traits.hpp:20
std::enable_if_t< B{}, int > If
Definition type_traits.hpp:68
static constexpr auto slice(X &&a, Os const ... offsets)
Definition slice.hpp:20
Definition slice.hpp:13
constexpr decltype(auto) operator()(X &&a, Os const ... offsets) const
Definition slice.hpp:17
Definition type_traits.hpp:38