YSTest
PreAlpha_b400_20130424
The YSLib Test Project
首页
相关页面
模块
命名空间
类
文件
文件列表
文件成员
全部
类
命名空间
文件
函数
变量
类型定义
枚举
枚举值
友元
宏定义
组
页
ystring.h
浏览该文件的文档.
1
/*
2
Copyright by FrankHB 2010 - 2013.
3
4
This file is part of the YSLib project, and may only be used,
5
modified, and distributed under the terms of the YSLib project
6
license, LICENSE.TXT. By continuing to use, modify, or distribute
7
this file you indicate that you have read the license and
8
understand and accept it fully.
9
*/
10
28
#ifndef YSL_INC_CORE_YSTRING_H_
29
#define YSL_INC_CORE_YSTRING_H_ 1
30
31
#include "
yobject.h
"
32
#include "../Adaptor/ycont.h"
33
#include "../Adaptor/YTextBase.h"
34
35
YSL_BEGIN
36
37
YSL_BEGIN_NAMESPACE
(Text)
38
39
45
class
YF_API
String
: public
ucs2string
46
{
47
private
:
48
static
ucs2_t
*
s_str
;
49
50
public
:
54
inline
DefDeCtor
(
String
)
58
inline
DefDeCopyCtor
(
String
)
62
inline
DefDeMoveCtor
(
String
)
66
String
(const
ucs2_t
* s)
67
: ucs2string(s)
68
{}
73
template
<
typename
_tChar>
74
String
(
const
_tChar* s,
Encoding
cp =
CS_Default
)
75
: ucs2string(s_str =
ucsdup
(s, cp))
76
{
77
std::free(s_str);
78
}
82
String
(
const
ucs2string& s)
83
: ucs2string(s)
84
{}
89
String
(ucs2string&& s)
90
: ucs2string(std::move(s))
91
{}
96
template
<
typename
_tChar>
97
String
(
const
std::basic_string<_tChar>& s,
Encoding
cs =
CS_Default
)
98
: ucs2string(s_str =
ucsdup
(s.c_str(), cs))
99
{
100
std::free(s_str);
101
}
102
inline
DefDeDtor
(
String
)
103
104
108
inline
DefDeCopyAssignment
(
String
)
113
inline
DefDeMoveAssignment
(
String
)
114
119
string
120
GetMBCS(
Encoding
enc =
CS_Default
)
const
121
{
122
return
GetMBCSOf<string>(*
this
, enc);
123
}
124
};
125
126
YSL_END_NAMESPACE
(Text)
127
128
YSL_END
129
130
#endif
131
YFramework
include
YSLib
Core
ystring.h
生成于 2013年 四月 24日 星期三 18:41:29 , 为 YSTest使用
1.8.2