API

class ctll::fixed_string

A compile-time fixed string.

Example:

static constexpr auto pattern = ctll::fixed_string{ "h.*" };

constexpr auto match(std::string_view sv) noexcept {
    return ctre::match<pattern>(sv);
}
template<class Iterator, class ...Captures>
class ctre::regex_results
using char_type = typename std::iterator_traits<Iterator>::value_type

The character type used by the Iterator.

template<size_t Id>
constexpr captured_content<Id, void>::storage<Iterator> get()
template<class Name>
constexpr captured_content<deduced, Name>::storage<Iterator> get()
template<ctll::fixed_string Name>
constexpr captured_content<deduced, Name>::storage<Iterator> get()

Returns the capture specified by Id or Name. ID 0 is the full match, ID 1 is the first capture group, ID 2 is the second, etc. Named groups are specified using (?<name>).

Example:

if (auto m = ctre::match<"(?<chars>[a-z]+)([0-9]+)">("abc123")) {
  m.get<"chars">(); //abc
  m.get<2>(); //123
}
constexpr size_t size()

Returns the number of captures in this result object.

constexpr operator bool() const noexcept

Returns whether the match was successful.

constexpr operator std::basic_string_view<char_type>() const noexcept
constexpr std::basic_string_view<char_type> to_view() const noexcept
constexpr std::basic_string_view<char_type> view() const noexcept

Converts the match to a string view.

explicit constexpr operator std::basic_string<char_type>() const noexcept
constexpr std::basic_string<char_type> to_string() const noexcept
constexpr std::basic_string<char_type> str() const noexcept

Converts the match to a string view.

template<size_t Id, typename Name = void>
class captured_content
template<typename Iterator>
class storage
constexpr auto begin() const noexcept
constexpr auto end() const noexcept

Returns the begin or end iterator for the captured content.

constexpr operator bool() const noexcept

Returns whether the match was successful.

constexpr auto size() const noexcept

Returns the number of characters in the capture.

constexpr operator std::basic_string_view<char_type>() const noexcept
constexpr std::basic_string_view<char_type> to_view() const noexcept
constexpr std::basic_string_view<char_type> view() const noexcept

Converts the capture to a string view.

explicit constexpr operator std::basic_string<char_type>() const noexcept
constexpr std::basic_string<char_type> to_string() const noexcept
constexpr std::basic_string<char_type> str() const noexcept

Converts the capture to a string view.

static constexpr size_t get_id() noexcept

Returns Id

template<auto &RE, class ...Args>
constexpr ctre::regex_results<deduced> match(Args&&... args)
template<ctll::fixed_string RE, class ...Args>
constexpr ctre::regex_results<deduced> match(Args&&... args)

Matches RE against the whole input. Args... must be either a string-like object with begin and end member functions, or a pair of forward iterators.

template<auto &RE, class ...Args>
constexpr ctre::regex_results<deduced> search(Args&&... args)
template<ctll::fixed_string RE, class ...Args>
constexpr ctre::regex_results<deduced> search(Args&&... args)

Searches for a match somewhere within the input. Args... must be either a string-like object with begin and end member functions, or a pair of forward iterators.