24#ifndef MYSQL_SETS_STRCONV_BOUNDARY_SET_TEXT_FORMAT_H
25#define MYSQL_SETS_STRCONV_BOUNDARY_SET_TEXT_FORMAT_H
53 const std::string_view &boundary_separator =
"-",
54 const std::string_view &interval_separator =
",",
102template <
class Object_t>
Object used to parse strings.
Definition: parser.h:69
True if Test is an interval set, i.e., provides a view over intervals sorted by their endpoints,...
Definition: boundary_set_meta.h:209
Definition: interval_set_meta.h:75
Definition: gtid_binary_format.h:41
void skip_whitespace(Parser &parser)
Move the position forward until end or non-whitespace.
Definition: whitespace.h:47
auto get_default_format(const Binary_format &, const Object_t &)
Definition: gtid_binary_format.h:114
Skip_whitespace
Definition: boundary_set_text_format.h:43
Allow_redundant_separators
Definition: boundary_set_text_format.h:44
Allow_empty
Definition: boundary_set_text_format.h:45
noexcept
The return type for any call_and_catch(f, args...) call where f(args...) returns Type.
Definition: call_and_catch.h:76
Tag to identify the formatting algorithm for boundary sets of integrals, and provide the separator st...
Definition: boundary_set_text_format.h:51
constexpr auto parent() const
Fallback to Text_format to read/write types that don't have encode_impl/decode_impl implemented for B...
Definition: boundary_set_text_format.h:70
Skip_whitespace m_skip_whitespace
When true, accept and skip whitespace between tokens.
Definition: boundary_set_text_format.h:86
Boundary_set_text_format(const Text_format &) noexcept
Definition: boundary_set_text_format.h:65
Allow_redundant_separators m_allow_redundant_separators
When true, accept and skip extra interval separators before and after intervals.
Definition: boundary_set_text_format.h:80
Boundary_set_text_format(const std::string_view &boundary_separator="-", const std::string_view &interval_separator=",", Allow_redundant_separators allow_redundant_separators=Allow_redundant_separators::yes, Allow_empty allow_empty=Allow_empty::yes, Skip_whitespace skip_whitespace_arg=Skip_whitespace::yes) noexcept
Definition: boundary_set_text_format.h:52
std::string_view m_boundary_separator
Separator between start and end of a single interval.
Definition: boundary_set_text_format.h:73
void before_token(Parser &parser) const
Skip whitespace before tokens, if m_skip_whitespace == true.
Definition: boundary_set_text_format.h:89
void after_token(Parser &parser) const
Skip whitespace after tokens, if m_skip_whitespace == true.
Definition: boundary_set_text_format.h:94
std::string_view m_interval_separator
Separator between end of one interval and start of next interval.
Definition: boundary_set_text_format.h:76
Allow_empty m_allow_empty
When true, accept the empty set.
Definition: boundary_set_text_format.h:83
Format tag to identify text format.
Definition: text_format.h:38