|
template<typename T , typename std::enable_if< is_range< T >::value, int >::type = 0> |
T::value_type | Dune::max_value (const T &v) |
| compute the maximum value over a range More...
|
|
template<typename T , typename std::enable_if< is_range< T >::value, int >::type = 0> |
T::value_type | Dune::min_value (const T &v) |
| compute the minimum value over a range More...
|
|
template<typename T , typename std::enable_if< is_range< T >::value, int >::type = 0> |
bool | Dune::any_true (const T &v) |
| similar to std::bitset<N>::any() return true, if any entries is true More...
|
|
template<std::size_t N> |
bool | Dune::any_true (const std::bitset< N > &b) |
|
template<typename T , typename std::enable_if< is_range< T >::value, int >::type = 0> |
bool | Dune::all_true (const T &v) |
| similar to std::bitset<N>::all() return true, if any entries is true More...
|
|
template<std::size_t N> |
bool | Dune::all_true (const std::bitset< N > &b) |
|
constexpr | Dune::IntegralRange< T >::IntegralRange (value_type from, value_type to) noexcept |
| construct integer range [from, to) More...
|
|
constexpr | Dune::IntegralRange< T >::IntegralRange (value_type to) noexcept |
| construct integer range [0, to) More...
|
|
constexpr | Dune::IntegralRange< T >::IntegralRange (std::pair< value_type, value_type > range) noexcept |
| construct integer range std::pair More...
|
|
constexpr iterator | Dune::IntegralRange< T >::begin () const noexcept |
| obtain a random-access iterator to the first element More...
|
|
constexpr iterator | Dune::IntegralRange< T >::end () const noexcept |
| obtain a random-access iterator past the last element More...
|
|
constexpr value_type | Dune::IntegralRange< T >::operator[] (const value_type &i) const noexcept |
| access specified element More...
|
|
constexpr bool | Dune::IntegralRange< T >::empty () const noexcept |
| check whether the range is empty More...
|
|
constexpr size_type | Dune::IntegralRange< T >::size () const noexcept |
| obtain number of elements in the range More...
|
|
constexpr | Dune::StaticIntegralRange< T, to, from >::StaticIntegralRange () noexcept=default |
| default constructor More...
|
|
constexpr | Dune::StaticIntegralRange< T, to, from >::operator IntegralRange< T > () const noexcept |
| cast into dynamic IntegralRange More...
|
|
constexpr | Dune::StaticIntegralRange< T, to, from >::operator integer_sequence () const noexcept |
| cast into corresponding std::integer_sequence More...
|
|
static constexpr iterator | Dune::StaticIntegralRange< T, to, from >::begin () noexcept |
| obtain a random-access iterator to the first element More...
|
|
static constexpr iterator | Dune::StaticIntegralRange< T, to, from >::end () noexcept |
| obtain a random-access iterator past the last element More...
|
|
template<class U , U i> |
constexpr auto | Dune::StaticIntegralRange< T, to, from >::operator[] (const std::integral_constant< U, i > &) const noexcept -> std::integral_constant< value_type, from+static_cast< value_type >(i)> |
| access specified element (static version) More...
|
|
constexpr value_type | Dune::StaticIntegralRange< T, to, from >::operator[] (const size_type &i) const noexcept |
| access specified element (dynamic version) More...
|
|
static constexpr std::integral_constant< bool, from==to > | Dune::StaticIntegralRange< T, to, from >::empty () noexcept |
| check whether the range is empty More...
|
|
static constexpr std::integral_constant< size_type, static_cast< size_type >to) - static_cast< size_type >from) > | Dune::StaticIntegralRange< T, to, from >::size () noexcept |
| obtain number of elements in the range More...
|
|
template<class T , class U , std::enable_if_t< std::is_same< std::decay_t< T >, std::decay_t< U >>::value, int > = 0, std::enable_if_t< std::is_integral< std::decay_t< T >>::value, int > = 0> |
static IntegralRange< std::decay_t< T > > | Dune::range (T &&from, U &&to) noexcept |
| free standing function for setting up a range based for loop over an integer range for (auto i: range(0,10)) // 0,1,2,3,4,5,6,7,8,9 or for (auto i: range(-10,10)) // -10,-9,..,8,9 or for (auto i: range(10)) // 0,1,2,3,4,5,6,7,8,9 More...
|
|
template<class T , std::enable_if_t< std::is_integral< std::decay_t< T >>::value, int > = 0> |
static IntegralRange< std::decay_t< T > > | Dune::range (T &&to) noexcept |
|
template<class T , T to> |
static StaticIntegralRange< T, to > | Dune::range (std::integral_constant< T, to >) noexcept |
|
Utilities for reduction like operations on ranges.
template<class T , class U , std::enable_if_t< std::is_same< std::decay_t< T >, std::decay_t< U >>::value, int > = 0, std::enable_if_t< std::is_integral< std::decay_t< T >>::value, int > = 0>
static IntegralRange<std::decay_t<T> > Dune::range |
( |
T && |
from, |
|
|
U && |
to |
|
) |
| |
|
inlinestaticnoexcept |
free standing function for setting up a range based for loop over an integer range for (auto i: range(0,10)) // 0,1,2,3,4,5,6,7,8,9 or for (auto i: range(-10,10)) // -10,-9,..,8,9 or for (auto i: range(10)) // 0,1,2,3,4,5,6,7,8,9