simstr 1.0
Yet another strings library
 
Загрузка...
Поиск...
Не найдено
Ссылка на концепт simstr::StrType

Базовая концепция строкового объекта. Подробнее...

#include <strexpr.h>

Определение концепта

template<typename A, typename K>
concept simstr::StrType = requires(const A& a) {
{ a.is_empty() } -> std::same_as<bool>;
{ a.length() } -> std::convertible_to<size_t>;
{ a.symbols() } -> std::same_as<const K*>;
} && std::is_same_v<typename std::remove_cvref_t<A>::symb_type, K>
Базовая концепция строкового объекта.
Определения strexpr.h:159

Подробное описание

Базовая концепция строкового объекта.

Параметры шаблона
A- проверяемый тип
K- тип символов

В библиотеке для разных целей могут использоваться различные типы объектов строк. Мы считаем строковым объектом любой объект, поддерживающий методы:

  • is_empty(): возвращает, пуста ли строка.
  • length(): возвращает длину строки без нулевого терминатора.
  • symbols(): возвращает указатель на строку символов.
  • typename symb_type: задаёт тип символов строки