lucid  0.0.1
Lifting-based Uncertain Control Invariant Dynamics
Loading...
Searching...
No Matches
lucid::TypedIterable Concept Reference

Check if the type T is an iterable type with elements of type U. More...

#include <concept.h>

Concept definition

template<class T, class U>
concept lucid::TypedIterable = requires(T t, U u) {
{ t.begin() } -> std::convertible_to<typename T::iterator>;
{ t.end() } -> std::convertible_to<typename T::iterator>;
} && std::convertible_to<typename T::value_type, U>
Check if the type T is an iterable type with elements of type U.
Definition concept.h:104

Detailed Description

Check if the type T is an iterable type with elements of type U.

template <TypedIterable<int> T>
void foo(T t); // T can be any iterable type with elements of type int
Template Parameters
Ttype to check
Utype of the elements