lucid  0.0.1
Lifting-based Uncertain Control Invariant Dynamics
Loading...
Searching...
No Matches
concept.h File Reference
#include <concepts>

Namespaces

namespace  lucid
 Root namespace for the lucid library.
 

Concepts

concept  lucid::SizedDataContainer
 Check if the type T is a data container of type U having a data() method which returns a raw pointer and a size() method which returns the size of the container.
 
concept  lucid::MapFromTo
 Check if the type T constitutes a map from type From to type To.
 
concept  lucid::SelfReferenceCounter
 Check if the type T is a self-reference counter type.
 
concept  lucid::Iterable
 Check if the type T is an iterable type.
 
concept  lucid::SizedIterable
 Check if the type T is an iterable type with a size() method.
 
concept  lucid::TypedIterable
 Check if the type T is an iterable type with elements of type U.
 
concept  lucid::SizedTypedIterable
 Check if the type T is an iterable type with elements of type U and a size() method.
 
concept  lucid::IsAnyOf
 Check if the type T is any of the types U.
 
concept  lucid::IsNotAnyOf
 Check if the type T is not any of the types U.
 
concept  lucid::Arithmetic
 Check if the type T supports the arithmetic operations +, -, *, /.
 
concept  lucid::Numeric
 Check if the type T supports the arithmetic operations +, -, *, / and the comparison operators <, >, <=, >=.
 

Detailed Description

Author
Room 6.030
Licence:
BSD 3-Clause License

Collection of concepts used in the lucid library. Concepts have been introduced in the c++20 standard and are used in the lucid library in order to make the code more readable and to provide better error messages in templated code.