dune-common 2.10
Loading...
Searching...
No Matches
concept.hh File Reference

Infrastructure for concepts. More...

#include <type_traits>
#include <utility>
#include <tuple>
#include <dune/common/typeutilities.hh>
#include <dune/common/typelist.hh>
#include <dune/common/indices.hh>
#include <dune/common/std/type_traits.hh>

Go to the source code of this file.

Classes

struct  Dune::Concept::Refines< BaseConcepts >
 Base class for refined concepts. More...

Namespaces

namespace  Dune
 Dune namespace.
namespace  Dune::Concept
 Namespace for concepts.

Functions

template<class C, class... T>
constexpr auto Dune::models ()
 Check if concept is modeled by given types.
template<class C, class Tuple>
constexpr auto Dune::Concept::tupleEntriesModel ()
template<bool b, typename std::enable_if< b, int >::type = 0>
constexpr bool Dune::Concept::requireTrue ()
template<class C, class... T, typename std::enable_if< models< C, T... >(), int >::type = 0>
constexpr bool Dune::Concept::requireConcept ()
template<class C, class... T, typename std::enable_if< models< C, T... >(), int >::type = 0>
constexpr bool Dune::Concept::requireConcept (T &&...)
template<class C, class Tuple, typename std::enable_if< tupleEntriesModel< C, Tuple >(), int >::type = 0>
constexpr bool Dune::Concept::requireConceptForTupleEntries ()
template<class From, class To, typename std::enable_if< std::is_convertible< From, To >::value, int >::type = 0>
constexpr bool Dune::Concept::requireConvertible ()
template<class To, class From, typename std::enable_if< std::is_convertible< From, To >::value, int >::type = 0>
constexpr bool Dune::Concept::requireConvertible (const From &)
template<typename T>
constexpr bool Dune::Concept::requireType ()
template<class Base, class Derived, typename std::enable_if< std::is_base_of< Base, Derived >::value, int >::type = 0>
constexpr bool Dune::Concept::requireBaseOf ()
template<class Base, class Derived, typename std::enable_if< std::is_base_of< Base, Derived >::value, int >::type = 0>
constexpr bool Dune::Concept::requireBaseOf (const Derived &)
template<class A, class B, typename std::enable_if< std::is_same< A, B >::value, int >::type = 0>
constexpr bool Dune::Concept::requireSameType ()

Detailed Description

Infrastructure for concepts.