|
| 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