arg_router
1.4.0
C++ command line argument parsing and routing
|
Functions | |
template<std::size_t N> | |
constexpr bool | GB3 (const std::array< grapheme_cluster_break_class, N > &trailing_window, grapheme_cluster_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | GB6 (const std::array< grapheme_cluster_break_class, N > &trailing_window, grapheme_cluster_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | GB7 (const std::array< grapheme_cluster_break_class, N > &trailing_window, grapheme_cluster_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | GB8 (const std::array< grapheme_cluster_break_class, N > &trailing_window, grapheme_cluster_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | GB9 ([[maybe_unused]] const std::array< grapheme_cluster_break_class, N > &trailing_window, grapheme_cluster_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | GB9a ([[maybe_unused]] const std::array< grapheme_cluster_break_class, N > &trailing_window, grapheme_cluster_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | GB9b (const std::array< grapheme_cluster_break_class, N > &trailing_window, [[maybe_unused]] grapheme_cluster_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | GB11 (const std::array< grapheme_cluster_break_class, N > &trailing_window, grapheme_cluster_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | GB12_13 (const std::array< grapheme_cluster_break_class, N > &trailing_window, grapheme_cluster_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB6 ([[maybe_unused]] const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB7 ([[maybe_unused]] const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB8a_9 (const std::array< line_break_class, N > &trailing_window, [[maybe_unused]] line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB11 (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB12 (const std::array< line_break_class, N > &trailing_window, [[maybe_unused]] line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB12a (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB13 ([[maybe_unused]] const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB14 (const std::array< line_break_class, N > &trailing_window, [[maybe_unused]] line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB15 (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB16 (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB17 (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB19 (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB21 (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB21a (const std::array< line_break_class, N > &trailing_window, [[maybe_unused]] line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB21b (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB22 ([[maybe_unused]] const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB23 (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB23a (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB24 (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB25 (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB26 (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB27 (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB28 (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB29 (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB30 (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB30a (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
template<std::size_t N> | |
constexpr bool | LB30b (const std::array< line_break_class, N > &trailing_window, line_break_class next_class) noexcept |
Variables | |
template<std::size_t N> | |
constexpr auto | grapheme_cluster |
template<std::size_t N> | |
constexpr auto | line_break |
Namespace for grapheme cluster and line break rules.
These rules define when not to break.
|
constexprnoexcept |
Rule GB11, do not break within emoji modifier sequences or emoji zwj sequences.
From https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundary_Rules.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 183 of file grapheme_cluster_break.hpp.
|
constexprnoexcept |
Rule GB12 and GB13, do not break within emoji flag sequences.
From https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundary_Rules.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 202 of file grapheme_cluster_break.hpp.
|
constexprnoexcept |
Rule GB3, do not split between CR and LF.
From https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundary_Rules.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 52 of file grapheme_cluster_break.hpp.
|
constexprnoexcept |
Rule GB6, do not break Hangul syllable sequences.
From https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundary_Rules.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 70 of file grapheme_cluster_break.hpp.
|
constexprnoexcept |
Rule GB7, do not break Hangul syllable sequences.
From https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundary_Rules.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 91 of file grapheme_cluster_break.hpp.
|
constexprnoexcept |
Rule GB8, do not break Hangul syllable sequences.
From https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundary_Rules.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 111 of file grapheme_cluster_break.hpp.
|
constexprnoexcept |
Rule GB9, do not break before extending characters or ZWJ.
From https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundary_Rules.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 130 of file grapheme_cluster_break.hpp.
|
constexprnoexcept |
Rule GB9a, do not break before SpacingMarks, or after Prepend characters.
From https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundary_Rules.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 148 of file grapheme_cluster_break.hpp.
|
constexprnoexcept |
Rule GB9b, do not break before SpacingMarks, or after Prepend characters.
From https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundary_Rules.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 165 of file grapheme_cluster_break.hpp.
|
constexprnoexcept |
Rule LB11, do not break before or after Word joiner and related characters.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 125 of file line_break.hpp.
|
constexprnoexcept |
Rule LB12, do not break after NBSP and related characters.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 143 of file line_break.hpp.
|
constexprnoexcept |
Rule LB12a, do not break before NBSP and related characters, except after spaces and hyphens.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 160 of file line_break.hpp.
|
constexprnoexcept |
Rule LB13, do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 180 of file line_break.hpp.
|
constexprnoexcept |
Rule LB14, do not break after ‘[’, even after spaces.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 201 of file line_break.hpp.
|
constexprnoexcept |
Rule LB15, do not break within ‘”[’, even with intervening spaces.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 228 of file line_break.hpp.
|
constexprnoexcept |
Rule LB16, do not break between closing punctuation and a nonstarter (NS
), even with intervening spaces.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 257 of file line_break.hpp.
|
constexprnoexcept |
Rule LB17, do not break within ‘——’, even with intervening spaces.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 285 of file line_break.hpp.
|
constexprnoexcept |
Rule LB19, do not break before or after quotation marks, such as ‘”’.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 313 of file line_break.hpp.
|
constexprnoexcept |
Rule LB21, do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 332 of file line_break.hpp.
|
constexprnoexcept |
Rule LB21a, do not break after Hebrew + Hyphen.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 352 of file line_break.hpp.
|
constexprnoexcept |
Rule LB21b, do not break between Solidus and Hebrew letters.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 371 of file line_break.hpp.
|
constexprnoexcept |
Rule LB22, do not break before ellipses.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 389 of file line_break.hpp.
|
constexprnoexcept |
Rule LB23, do not break between digits and letters.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 406 of file line_break.hpp.
|
constexprnoexcept |
Rule LB23a, do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 429 of file line_break.hpp.
|
constexprnoexcept |
Rule LB24, do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 454 of file line_break.hpp.
|
constexprnoexcept |
Rule LB25, do not break between these pairs of classes relevant to numbers.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 478 of file line_break.hpp.
|
constexprnoexcept |
Rule LB26, do not break a Korean syllable.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 519 of file line_break.hpp.
|
constexprnoexcept |
Rule LB27, treat a Korean Syllable Block the same as ID.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 547 of file line_break.hpp.
|
constexprnoexcept |
Rule LB28, do not break between alphabetics (“at”).
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 575 of file line_break.hpp.
|
constexprnoexcept |
Rule LB29, do not break between numeric punctuation and alphabetics (“e.g.”).
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 595 of file line_break.hpp.
|
constexprnoexcept |
Rule LB30, do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 619 of file line_break.hpp.
|
constexprnoexcept |
Rule LB30a, break between two regional indicator symbols if and only if there are an even number of regional indicators preceding the position of the break.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 644 of file line_break.hpp.
|
constexprnoexcept |
Rule LB30b, do not break between an emoji base (or potential emoji) and an emoji modifier.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 672 of file line_break.hpp.
|
constexprnoexcept |
Rule LB6, do not break before hard line breaks.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 69 of file line_break.hpp.
|
constexprnoexcept |
Rule LB7, do not break before spaces or zero width space.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 89 of file line_break.hpp.
|
constexprnoexcept |
Rule LB8a and LB9, do not break after a combining character sequence or zero width joiner.
From https://www.unicode.org/reports/tr14/#Algorithm.
N | Size of trailing window |
trailing_window | Trailing window of properties, the zeroth index is the 'current' class begin iterated over |
next_class | The class after the current one |
Definition at line 107 of file line_break.hpp.
|
constexpr |
Array of rule function pointers, just to ease iteration.
N | Size of trailing window |
Definition at line 224 of file grapheme_cluster_break.hpp.
|
constexpr |
Array of rule function pointers, just to ease iteration.
N | Size of trailing window |
Definition at line 685 of file line_break.hpp.