1#ifndef SOURCEMETA_CORE_URITEMPLATE_TOKEN_H_
2#define SOURCEMETA_CORE_URITEMPLATE_TOKEN_H_
4#ifndef SOURCEMETA_CORE_URITEMPLATE_EXPORT
5#include <sourcemeta/core/uritemplate_export.h>
13namespace sourcemeta::core {
20#pragma warning(disable : 4251)
46 std::vector<URITemplateVariableSpecification>
variables;
50 static constexpr bool named =
false;
59 std::vector<URITemplateVariableSpecification>
variables;
61 static constexpr char op =
'+';
65 static constexpr bool named =
false;
74 std::vector<URITemplateVariableSpecification>
variables;
76 static constexpr char op =
'#';
82 static constexpr bool named =
false;
91 std::vector<URITemplateVariableSpecification>
variables;
93 static constexpr char op =
'.';
99 static constexpr bool named =
false;
108 std::vector<URITemplateVariableSpecification>
variables;
110 static constexpr char op =
'/';
116 static constexpr bool named =
false;
123struct SOURCEMETA_CORE_URITEMPLATE_EXPORT
126 std::vector<URITemplateVariableSpecification>
variables;
128 static constexpr char op =
';';
143 std::vector<URITemplateVariableSpecification>
variables;
145 static constexpr char op =
'?';
160struct SOURCEMETA_CORE_URITEMPLATE_EXPORT
163 std::vector<URITemplateVariableSpecification>
variables;
165 static constexpr char op =
'&';
static constexpr bool allow_reserved
Whether reserved characters are preserved unencoded.
Definition uritemplate_token.h:84
static constexpr char op
The operator character that introduces the expression.
Definition uritemplate_token.h:110
static constexpr char prefix
The character prepended to the expansion output.
Definition uritemplate_token.h:114
static constexpr bool named
Whether the expansion includes variable names.
Definition uritemplate_token.h:171
static constexpr char separator
The character that separates expanded values.
Definition uritemplate_token.h:167
static constexpr char empty_suffix
The character appended to names with empty values.
Definition uritemplate_token.h:175
static constexpr bool named
Whether the expansion includes variable names.
Definition uritemplate_token.h:151
static constexpr char prefix
The character prepended to the expansion output.
Definition uritemplate_token.h:169
std::vector< URITemplateVariableSpecification > variables
The variable specifications to expand.
Definition uritemplate_token.h:74
static constexpr char op
The operator character that introduces the expression.
Definition uritemplate_token.h:128
std::vector< URITemplateVariableSpecification > variables
The variable specifications to expand.
Definition uritemplate_token.h:108
static constexpr bool named
Whether the expansion includes variable names.
Definition uritemplate_token.h:65
static constexpr char op
The operator character that introduces the expression.
Definition uritemplate_token.h:145
static constexpr bool allow_reserved
Whether reserved characters are preserved unencoded.
Definition uritemplate_token.h:173
static constexpr char separator
The character that separates expanded values.
Definition uritemplate_token.h:78
static constexpr char prefix
The character prepended to the expansion output.
Definition uritemplate_token.h:132
static constexpr char separator
The character that separates expanded values.
Definition uritemplate_token.h:63
std::string_view value
The literal string content.
Definition uritemplate_token.h:27
static constexpr bool allow_reserved
Whether reserved characters are preserved unencoded.
Definition uritemplate_token.h:153
static constexpr char op
The operator character that introduces the expression.
Definition uritemplate_token.h:61
static constexpr char prefix
The character prepended to the expansion output.
Definition uritemplate_token.h:97
static constexpr bool named
Whether the expansion includes variable names.
Definition uritemplate_token.h:116
static constexpr char prefix
The character prepended to the expansion output.
Definition uritemplate_token.h:149
std::vector< URITemplateVariableSpecification > variables
The variable specifications to expand.
Definition uritemplate_token.h:91
static constexpr char op
The operator character that introduces the expression.
Definition uritemplate_token.h:76
static constexpr char op
The operator character that introduces the expression.
Definition uritemplate_token.h:165
std::uint16_t length
The maximum prefix length to apply to the value.
Definition uritemplate_token.h:37
static constexpr char separator
The character that separates expanded values.
Definition uritemplate_token.h:48
static constexpr bool named
Whether the expansion includes variable names.
Definition uritemplate_token.h:134
static constexpr char op
The operator character that introduces the expression.
Definition uritemplate_token.h:93
static constexpr bool allow_reserved
Whether reserved characters are preserved unencoded.
Definition uritemplate_token.h:101
static constexpr bool named
Whether the expansion includes variable names.
Definition uritemplate_token.h:82
std::vector< URITemplateVariableSpecification > variables
The variable specifications to expand.
Definition uritemplate_token.h:126
static constexpr char separator
The character that separates expanded values.
Definition uritemplate_token.h:147
bool explode
Whether the variable is exploded into multiple values.
Definition uritemplate_token.h:39
static constexpr char separator
The character that separates expanded values.
Definition uritemplate_token.h:130
static constexpr bool named
Whether the expansion includes variable names.
Definition uritemplate_token.h:50
static constexpr bool named
Whether the expansion includes variable names.
Definition uritemplate_token.h:99
static constexpr bool allow_reserved
Whether reserved characters are preserved unencoded.
Definition uritemplate_token.h:118
static constexpr char separator
The character that separates expanded values.
Definition uritemplate_token.h:112
static constexpr bool allow_reserved
Whether reserved characters are preserved unencoded.
Definition uritemplate_token.h:136
std::vector< URITemplateVariableSpecification > variables
The variable specifications to expand.
Definition uritemplate_token.h:163
static constexpr bool allow_reserved
Whether reserved characters are preserved unencoded.
Definition uritemplate_token.h:52
std::vector< URITemplateVariableSpecification > variables
The variable specifications to expand.
Definition uritemplate_token.h:143
static constexpr char separator
The character that separates expanded values.
Definition uritemplate_token.h:95
static constexpr char prefix
The character prepended to the expansion output.
Definition uritemplate_token.h:80
static constexpr char empty_suffix
The character appended to names with empty values.
Definition uritemplate_token.h:155
std::string_view name
The variable name.
Definition uritemplate_token.h:34
std::vector< URITemplateVariableSpecification > variables
The variable specifications to expand.
Definition uritemplate_token.h:59
std::vector< URITemplateVariableSpecification > variables
The variable specifications to expand.
Definition uritemplate_token.h:46
static constexpr bool allow_reserved
Whether reserved characters are preserved unencoded.
Definition uritemplate_token.h:67
std::variant< URITemplateTokenLiteral, URITemplateTokenVariable, URITemplateTokenReservedExpansion, URITemplateTokenFragmentExpansion, URITemplateTokenLabelExpansion, URITemplateTokenPathExpansion, URITemplateTokenPathParameterExpansion, URITemplateTokenQueryExpansion, URITemplateTokenQueryContinuationExpansion > URITemplateToken
Definition uritemplate_token.h:184