xrtHttpLanguageRangeValid
判断文本是否是 RFC 4647 basic language range;纯谓词不修改错误槽。
bool xrtHttpLanguageRangeValid(xstrview Range);
| 参数 | 说明 |
|---|---|
| xstrview Range | Range 参数 |
返回:判断文本是否是 RFC 4647 basic language range;纯谓词不修改错误槽。
示例已编译验证
/* 判断文本是否是 RFC 4647 basic language range;纯谓词不修改错误槽。 */ result = xrtHttpLanguageRangeValid(Range);
xrtHttpLanguageTagValid
判断文本是否是可用于匹配的基本语言标签;纯谓词不修改错误槽。
bool xrtHttpLanguageTagValid(xstrview Tag);
| 参数 | 说明 |
|---|---|
| xstrview Tag | 标签 |
返回:判断文本是否是可用于匹配的基本语言标签;纯谓词不修改错误槽。
示例已编译验证
/* 判断文本是否是可用于匹配的基本语言标签;纯谓词不修改错误槽。 */ result = xrtHttpLanguageTagValid(Tag);
xrtHttpLanguageCursorInit
初始化可重复使用的 Accept-Language 字段游标。
void xrtHttpLanguageCursorInit(xhttplanguagecursor* pCursor);
| 参数 | 说明 |
|---|---|
| xhttplanguagecursor* pCursor | 游标 |
返回:初始化可重复使用的 Accept-Language 字段游标。
示例已编译验证
httplanguagecursorinit obj; xrtHttpLanguageCursorInit(&obj, pCursor);
xrtHttpLanguageRangeNext
严格迭代一个 Accept-Language 字段值。
xhttpnext xrtHttpLanguageRangeNext( xstrview List, size_t* pOffset, xhttplanguagerange* pRange );
| 参数 | 说明 |
|---|---|
| xstrview List | Lst 参数 |
| size_t* pOffset | 出:偏移 |
| xhttplanguagerange* pRange | Range 参数 |
返回:严格迭代一个 Accept-Language 字段值。
示例已编译验证
/* 严格迭代一个 Accept-Language 字段值。 */ result = xrtHttpLanguageRangeNext(List, pOffset, pRange);
xrtHttpAcceptLanguageNext
按线路顺序跨越全部重复 Accept-Language 字段迭代语言范围。
xhttpnext xrtHttpAcceptLanguageNext( const xhttpfield* pFields, size_t iCount, xhttplanguagecursor* pCursor, xhttplanguagerange* pRange );
| 参数 | 说明 |
|---|---|
| const xhttpfield* pFields | 字段数组 |
| size_t iCount | 数量 |
| xhttplanguagecursor* pCursor | 游标 |
| xhttplanguagerange* pRange | Range 参数 |
返回:按线路顺序跨越全部重复 Accept-Language 字段迭代语言范围。
示例已编译验证
/* 按线路顺序跨越全部重复 Accept-Language 字段迭代语言范围。 */ result = xrtHttpAcceptLanguageNext(pFields, iCount, pCursor, pRange);
xrtHttpLanguageBasicMatch
按 RFC 4647 Basic Filtering 判断语言范围是否匹配语言标签。
xhttpnext xrtHttpLanguageBasicMatch( xstrview Range, xstrview Tag );
| 参数 | 说明 |
|---|---|
| xstrview Range | Range 参数 |
| xstrview Tag | 标签 |
返回:按 RFC 4647 Basic Filtering 判断语言范围是否匹配语言标签。
示例已编译验证
/* 按 RFC 4647 Basic Filtering 判断语言范围是否匹配语言标签。 */ result = xrtHttpLanguageBasicMatch(Range, Tag);
xrtHttpAcceptLanguageMatch
计算语言标签的有效 Accept-Language 匹配;缺失字段质量为 1000。
bool xrtHttpAcceptLanguageMatch( const xhttpfield* pFields, size_t iCount, xstrview Tag, xhttplanguagematch* pMatch );
| 参数 | 说明 |
|---|---|
| const xhttpfield* pFields | 字段数组 |
| size_t iCount | 数量 |
| xstrview Tag | 标签 |
| xhttplanguagematch* pMatch | 出:匹配详情 |
返回:计算语言标签的有效 Accept-Language 匹配;缺失字段质量为 1000。
示例已编译验证
/* 计算语言标签的有效 Accept-Language 匹配;缺失字段质量为 1000。 */ result = xrtHttpAcceptLanguageMatch(pFields, iCount, Tag, pMatch);
xrtHttpAcceptLanguageQuality
返回语言标签的有效质量;错误与不可接受都返回零,错误槽区分二者。
uint16 xrtHttpAcceptLanguageQuality( const xhttpfield* pFields, size_t iCount, xstrview Tag );
| 参数 | 说明 |
|---|---|
| const xhttpfield* pFields | 字段数组 |
| size_t iCount | 数量 |
| xstrview Tag | 标签 |
返回:返回语言标签的有效质量;错误与不可接受都返回零,错误槽区分二者。
示例已编译验证
/* 返回语言标签的有效质量;错误与不可接受都返回零,错误槽区分二者。 */ result = xrtHttpAcceptLanguageQuality(pFields, iCount, Tag);
xrtHttpAcceptLanguageSelect
使用 Basic Filtering 从服务端偏好顺序中选择最高质量语言。
xhttpnext xrtHttpAcceptLanguageSelect( const xhttpfield* pFields, size_t iFieldCount, const xstrview* pTags, size_t iTagCount, size_t* pIndex );
| 参数 | 说明 |
|---|---|
| const xhttpfield* pFields | 字段数组 |
| size_t iFieldCount | 字段数量 |
| const xstrview* pTags | Tags 参数 |
| size_t iTagCount | TagCount 参数 |
| size_t* pIndex | 出:下标 |
返回:使用 Basic Filtering 从服务端偏好顺序中选择最高质量语言。
示例已编译验证
/* 使用 Basic Filtering 从服务端偏好顺序中选择最高质量语言。 */ result = xrtHttpAcceptLanguageSelect(pFields, iFieldCount, pTags, iTagCount, pIndex);
xrtHttpAcceptLanguageLookup
按 RFC 4647 Lookup 逐级回退,并返回可用语言数组中的索引。
xhttpnext xrtHttpAcceptLanguageLookup( const xhttpfield* pFields, size_t iFieldCount, const xstrview* pTags, size_t iTagCount, size_t* pIndex );
| 参数 | 说明 |
|---|---|
| const xhttpfield* pFields | 字段数组 |
| size_t iFieldCount | 字段数量 |
| const xstrview* pTags | Tags 参数 |
| size_t iTagCount | TagCount 参数 |
| size_t* pIndex | 出:下标 |
返回:按 RFC 4647 Lookup 逐级回退,并返回可用语言数组中的索引。
示例已编译验证
/* 按 RFC 4647 Lookup 逐级回退,并返回可用语言数组中的索引。 */ result = xrtHttpAcceptLanguageLookup(pFields, iFieldCount, pTags, iTagCount, pIndex);