dune-functions 2.9.0
Classes | Namespaces | Typedefs | Functions
utility.hh File Reference
#include <utility>
#include <type_traits>
#include <dune/common/overloadset.hh>
#include <dune/common/indices.hh>
#include <dune/functions/common/functionconcepts.hh>

Go to the source code of this file.

Classes

struct  Dune::Functions::LastType< T >
 Get last entry of type list. More...
 
struct  Dune::Functions::RotateTuple< T >
 Rotate type list by one, such that last entry is moved to first position. More...
 

Namespaces

namespace  Dune
 
namespace  Dune::Functions
 

Typedefs

template<template< class... > class T, class ArgTuple >
using Dune::Functions::ExpandTuple = typename Imp::ExpandTupleHelper< T, ArgTuple >::Type
 Expand tuple arguments as template arguments. More...
 
template<template< class... > class F, class... Tuples>
using Dune::Functions::TransformTuple = typename Imp::TransformTupleHelper< F, Tuples... >::Type
 Transform tuple types argument using type-functor. More...
 
template<class IntegerSequence >
using Dune::Functions::IntegerSequenceTuple = typename Imp::IntegerSequenceTupleHelper< IntegerSequence >::Type
 Transform integer_sequence<I,k...> to tuple<integral_constant<I,k>...> More...
 

Functions

template<class F , class size_type , size_type firstValue, class... Args>
auto Dune::Functions::forwardAsStaticInteger (std::integer_sequence< size_type, firstValue > values, const size_type &i, F &&f, Args &&... args) -> decltype(f(std::integral_constant< size_type, firstValue >(), std::forward< Args >(args)...))
 
template<class F , class size_type , size_type firstValue, size_type secondValue, size_type... otherValues, class... Args>
auto Dune::Functions::forwardAsStaticInteger (std::integer_sequence< size_type, firstValue, secondValue, otherValues... > values, const size_type i, F &&f, Args &&... args) -> decltype(f(std::integral_constant< size_type, firstValue >(), std::forward< Args >(args)...))
 
template<std::size_t end, class F , class size_type , class... Args>
auto Dune::Functions::forwardAsStaticIndex (const size_type &i, F &&f, Args &&... args) -> decltype(f(Dune::Indices::_0, std::forward< Args >(args)...))
 Transform dynamic index to static index_constant. More...
 
template<class F , class... T>
auto Dune::Functions::transformTuple (F &&f, const std::tuple< T... > &tuple) -> decltype(Imp::transformTupleHelper(std::forward< F >(f), tuple, std::index_sequence_for< T... >{}))
 Transform tuple value using a functor. More...
 
template<class F , class... T1, class... T2>
auto Dune::Functions::transformTuple (F &&f, const std::tuple< T1... > &tuple1, const std::tuple< T2... > &tuple2) -> decltype(Imp::transformTupleHelper(std::forward< F >(f), tuple1, tuple2, std::index_sequence_for< T1... >{}))
 Transform tuple value using a binary functor. More...
 
template<class Expression >
auto Dune::Functions::callableCheck (Expression f)
 Create a predicate for checking validity of expressions. More...
 
template<class Check >
auto Dune::Functions::negatePredicate (Check check)
 Negate given predicate. More...
 
template<class T >
auto Dune::Functions::forwardCapture (T &&t)
 Create a capture object for perfect forwarding. More...