Skip to content
Extraits de code Groupes Projets
Vérifiée Valider 18ae278e rédigé par Kubat's avatar Kubat
Parcourir les fichiers

MISC: Add the string trait

parent 5582a9fe
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!21Add clean logs support + dependent MR
Ce commit fait partie de la requête de fusion !22. Les commentaires créés ici seront créés dans le contexte de cette requête de fusion.
......@@ -26,6 +26,7 @@
// Use chrono instead of std::chrono...
namespace chrono = std::chrono;
using chrono::duration_cast;
// Prety define for OpenMP's parallel for loop with indentation not fucked up
// by clang-format.
......@@ -58,8 +59,23 @@ concept PropertyConstViewable = requires(T element)
// clang-format on
};
// Concept with a better name for inheritence between types
template <class T, class U>
concept Derived = std::is_base_of<U, T>::value;
// Concept for string things
template <typename T>
concept StringType = requires(T str)
{
// clang-format off
typename T::iterator; // Can iterate
typename T::value_type; // The `Char`
{ str.size() } -> std::convertible_to<std::size_t>;
{ str.begin() } -> std::same_as<typename T::iterator>;
{ str.end() } -> std::same_as<typename T::iterator>;
{ str[0] } -> std::same_as<typename T::value_type>;
// clang-format on
};
}
namespace Vivy::Utils
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter