NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
locale类 参考

区域设置管理类 更多...

#include <locale.hpp>

struct  numeric_info
 数字格式信息 更多...
struct  monetary_info
 货币格式信息 更多...
struct  time_info
 时间格式信息 更多...

Public 类型

enum class  collate_strength : int32_t { primary = 1 , secondary = 2 , tertiary = 3 , identical = 4 }
 字符串比较强度 更多...

Public 成员函数

 locale ()
 默认构造函数
 locale (const string &name)
 从名称构造区域设置
 ~locale ()
 析构函数
 locale (const locale &other)
 拷贝构造函数
localeoperator= (const locale &other)
 拷贝赋值运算符
 locale (locale &&other) noexcept
 移动构造函数
localeoperator= (locale &&other) noexcept
 移动赋值运算符
NEFORCE_NODISCARD const stringname () const noexcept
 获取区域设置名称
NEFORCE_NODISCARD const stringencoding () const noexcept
 获取字符编码
NEFORCE_NODISCARD bool operator== (const locale &o) const noexcept
 相等比较运算符
NEFORCE_NODISCARD bool operator!= (const locale &o) const noexcept
 不等比较运算符
NEFORCE_NODISCARD numeric_info numeric () const
 获取数字格式信息
NEFORCE_NODISCARD monetary_info monetary () const
 获取货币格式信息
NEFORCE_NODISCARD time_info time () const
 获取时间格式信息
NEFORCE_NODISCARD bool is_alpha (char32_t cp) const noexcept
 是否为字母
NEFORCE_NODISCARD bool is_digit (char32_t cp) const noexcept
 是否为数字
NEFORCE_NODISCARD bool is_alnum (char32_t cp) const noexcept
 是否为字母或数字
NEFORCE_NODISCARD bool is_space (char32_t cp) const noexcept
 是否为空白字符
NEFORCE_NODISCARD bool is_upper (char32_t cp) const noexcept
 是否为大写字母
NEFORCE_NODISCARD bool is_lower (char32_t cp) const noexcept
 是否为小写字母
NEFORCE_NODISCARD bool is_punct (char32_t cp) const noexcept
 是否为标点符号
NEFORCE_NODISCARD bool is_print (char32_t cp) const noexcept
 是否为可打印字符
NEFORCE_NODISCARD char32_t to_upper (char32_t cp) const noexcept
 转换为大写
NEFORCE_NODISCARD char32_t to_lower (char32_t cp) const noexcept
 转换为小写
NEFORCE_NODISCARD int compare (const string &a, const string &b, collate_strength strength=collate_strength::tertiary) const
 比较两个字符串
NEFORCE_NODISCARD string collation_key (const string &s) const
 生成排序键
NEFORCE_NODISCARD string to_multibyte (const u32string &ucs4) const
 将UTF-32字符串转换为当前区域设置的多字节字符串
NEFORCE_NODISCARD u32string to_ucs4 (const string &mb) const
 将当前区域设置的多字节字符串转换为UTF-32

静态 Public 成员函数

static NEFORCE_NODISCARD locale classic ()
 获取"C"区域设置
static NEFORCE_NODISCARD locale system ()
 获取系统区域设置
static NEFORCE_NODISCARD locale from_name (const string &name)
 从名称创建区域设置
static NEFORCE_NODISCARD vector< stringavailable_locales ()
 获取系统所有可用的区域设置列表

详细描述

区域设置管理类

提供跨平台的区域设置信息查询和字符处理功能。

使用场景:

  • 国际化/本地化应用程序
  • 格式化数字、货币、日期时间
  • 本地化字符串排序
  • 字符分类和大小写转换
注解
区域设置对象是独立的,修改一个对象不影响其他对象。

在文件 locale.hpp64 行定义.

成员枚举类型说明

◆ collate_strength

enum class locale::collate_strength : int32_t
strong

字符串比较强度

定义字符串比较时考虑的敏感度级别。

枚举值
primary 

一级比较:忽略大小写、变音符号、标点符号

secondary 

二级比较:忽略大小写、变音符号

tertiary 

三级比较:忽略大小写

identical 

完全比较:区分所有字符

在文件 locale.hpp116 行定义.

构造及析构函数说明

◆ locale() [1/4]

locale::locale ( )

默认构造函数

创建"C"区域设置。

被这些函数引用 classic(), from_name(), locale(), locale(), operator!=(), operator=(), operator=(), operator==() , 以及 system().

◆ locale() [2/4]

locale::locale ( const string & name)
explicit

从名称构造区域设置

参数
name区域设置名称(如"en_US.UTF-8")
异常
locale_exception区域设置不存在时抛出

引用了 name().

◆ locale() [3/4]

locale::locale ( const locale & other)

拷贝构造函数

参数
other源区域设置

引用了 locale().

◆ locale() [4/4]

locale::locale ( locale && other)
noexcept

移动构造函数

参数
other源区域设置

引用了 locale().

成员函数说明

◆ available_locales()

NEFORCE_NODISCARD vector< string > locale::available_locales ( )
static

获取系统所有可用的区域设置列表

返回
区域设置名称列表

◆ classic()

NEFORCE_NODISCARD locale locale::classic ( )
static

获取"C"区域设置

返回
"C"区域设置对象

引用了 locale().

◆ collation_key()

NEFORCE_NODISCARD string locale::collation_key ( const string & s) const

生成排序键

参数
s源字符串
返回
可用于二进制比较的排序键

排序键可直接用于快速比较,但需要更多存储空间。

◆ compare()

NEFORCE_NODISCARD int locale::compare ( const string & a,
const string & b,
collate_strength strength = collate_strength::tertiary ) const

比较两个字符串

参数
a第一个字符串
b第二个字符串
strength比较强度
返回
负数表示a<b,0表示a=b,正数表示a>b

引用了 tertiary.

◆ encoding()

NEFORCE_NODISCARD const string & locale::encoding ( ) const
inlinenoexcept

获取字符编码

返回
编码名称(如"UTF-8")

在文件 locale.hpp211 行定义.

◆ from_name()

NEFORCE_NODISCARD locale locale::from_name ( const string & name)
static

从名称创建区域设置

参数
name区域设置名称
返回
区域设置对象

引用了 locale() , 以及 name().

◆ monetary()

NEFORCE_NODISCARD monetary_info locale::monetary ( ) const

获取货币格式信息

返回
货币格式信息

◆ name()

NEFORCE_NODISCARD const string & locale::name ( ) const
inlinenoexcept

获取区域设置名称

返回
区域设置名称

在文件 locale.hpp205 行定义.

被这些函数引用 from_name() , 以及 locale().

◆ numeric()

NEFORCE_NODISCARD numeric_info locale::numeric ( ) const

获取数字格式信息

返回
数字格式信息

◆ operator!=()

NEFORCE_NODISCARD bool locale::operator!= ( const locale & o) const
inlinenoexcept

不等比较运算符

参数
o另一个区域设置
返回
名称不同返回true

在文件 locale.hpp225 行定义.

引用了 locale().

◆ operator=() [1/2]

locale & locale::operator= ( const locale & other)

拷贝赋值运算符

参数
other源区域设置
返回
自身引用

引用了 locale().

◆ operator=() [2/2]

locale & locale::operator= ( locale && other)
noexcept

移动赋值运算符

参数
other源区域设置
返回
自身引用

引用了 locale().

◆ operator==()

NEFORCE_NODISCARD bool locale::operator== ( const locale & o) const
inlinenoexcept

相等比较运算符

参数
o另一个区域设置
返回
名称相同返回true

在文件 locale.hpp218 行定义.

引用了 locale().

◆ system()

NEFORCE_NODISCARD locale locale::system ( )
static

获取系统区域设置

返回
系统默认区域设置

引用了 locale().

◆ time()

NEFORCE_NODISCARD time_info locale::time ( ) const

获取时间格式信息

返回
时间格式信息

◆ to_multibyte()

NEFORCE_NODISCARD string locale::to_multibyte ( const u32string & ucs4) const

将UTF-32字符串转换为当前区域设置的多字节字符串

参数
ucs4UTF-32字符串
返回
多字节字符串

◆ to_ucs4()

NEFORCE_NODISCARD u32string locale::to_ucs4 ( const string & mb) const

将当前区域设置的多字节字符串转换为UTF-32

参数
mb多字节字符串
返回
UTF-32字符串

该类的文档由以下文件生成: