YSTest
PreAlpha_b400_20130424
The YSLib Test Project
|
命名空间 | |
namespace | Devices |
namespace | Drawing |
图形处理。 | |
namespace | IO |
namespace | Messaging |
namespace | Shells |
namespace | Text |
namespace | Timers |
namespace | UI |
类 | |
struct | GSStringTemplate |
class | MemoryList |
内存块列表。 更多... | |
class | ValueNode |
值类型节点。 更多... | |
class | Application |
程序实例。 更多... | |
class | GMCounter |
模板类实例计数器。 更多... | |
struct | MoreConvertible |
转换类型选择。 更多... | |
struct | SelectConvertible |
转换类型选择。 更多... | |
struct | delete_obj_ndebug |
delete 仿函数。 更多... | |
struct | delete_second_mem_ndebug |
delete 第二成员仿函数。 更多... | |
struct | delete_obj_debug |
delete 仿函数(调试版本)。 更多... | |
struct | delete_second_mem_debug |
delete 第二成员仿函数。 更多... | |
struct | safe_delete_obj |
带置空指针操作的 delete 仿函数。 更多... | |
struct | GIHEvent |
事件处理器接口模板。 更多... | |
class | GHEvent< _tRet(_tParams...)> |
class | GEvent< _tRet(_tParams...)> |
class | GDependencyEvent |
依赖事件项类模板。 更多... | |
class | GEventWrapper |
事件处理器包装类模板。 更多... | |
class | GEventPointerWrapper |
事件项类型。 更多... | |
class | LoggedEvent |
class | FatalError |
非日志记录的致命错误。 更多... | |
struct | ExpandMemberFirst |
仿函数:替换非静态成员二元函数的第一个参数。 更多... | |
struct | ExpandMemberFirstBinder |
仿函数:替换非静态成员二元函数的第一个参数并绑定到指定对象。 更多... | |
struct | OwnershipTag |
指定对于参数指定类型的成员具有所有权的标签。 更多... | |
struct | MoveTag |
指示转移的标记。 更多... | |
struct | PointerTag |
指示指针的标记。 更多... | |
struct | HasOwnershipOf |
标签类型元运算。 更多... | |
struct | IValueHolder |
带等于接口的动态泛型持有者接口。 更多... | |
class | ValueHolder |
带等于接口的值类型动态泛型持有者。 更多... | |
class | PointerHolder |
带等于接口的指针类型动态泛型持有者。 更多... | |
class | ValueObject |
值类型对象类。 更多... | |
class | GDependency |
依赖项类模板。 更多... | |
class | GMRange |
范围模块类。 更多... | |
class | GStaticCache |
全局静态单态存储器。 更多... | |
class | GLocalStaticCache |
全局局部静态单态存储器。 更多... | |
class | File |
文件基类。 更多... | |
class | TextFile |
文本文件类。 更多... | |
struct | IResource |
资源接口。 更多... | |
类型定义 | |
typedef GSStringTemplate< char > ::basic_string | string |
typedef GSStringTemplate < CHRLib::ucs2_t > ::basic_string | ucs2string |
typedef GSStringTemplate < CHRLib::ucs4_t > ::basic_string | ucs4string |
typedef u8 | EventPriority |
事件优先级。 | |
typedef std::exception | Exception |
YSLib 异常基类。 | |
typedef std::runtime_error | GeneralEvent |
一般运行时异常事件类。 | |
typedef std::uint8_t | u8 |
通用数据类型。 | |
typedef std::uint16_t | u16 |
typedef std::uint32_t | u32 |
typedef std::uint64_t | u64 |
typedef std::int8_t | s8 |
typedef std::int16_t | s16 |
typedef std::int32_t | s32 |
typedef std::int64_t | s64 |
typedef volatile u8 | vu8 |
typedef volatile u16 | vu16 |
typedef volatile u32 | vu32 |
typedef volatile u64 | vu64 |
typedef volatile s8 | vs8 |
typedef volatile s16 | vs16 |
typedef volatile s32 | vs32 |
typedef volatile s64 | vs64 |
函数 | |||
YF_API MemoryList & | GetDebugMemoryList () | ||
取调试用内存块列表。 | |||
template<typename _type > | |||
bool | reset (_type *&p) ynothrow | ||
template<typename _type > | |||
bool | operator== (const shared_ptr< _type > &sp, _type *p) | ||
比较: shared_ptr 左值和内建指针类型的相等关系。 | |||
template<typename _type > | |||
bool | operator== (shared_ptr< _type > &&sp, _type *p) | ||
比较: shared_ptr 右值和内建指针类型的相等关系。 | |||
template<typename _type > | |||
bool | operator!= (const shared_ptr< _type > &sp, _type *p) | ||
比较: shared_ptr 左值和内建指针类型的不等关系。 | |||
template<typename _type > | |||
bool | operator!= (shared_ptr< _type > &&sp, _type *p) | ||
比较: shared_ptr 右值和内建指针类型的不等关系。 | |||
template<typename _type > | |||
_type & | Access (const ValueNode &node) | ||
访问节点的指定类型对象。
| |||
template<typename _type > | |||
_type * | AccessPtr (const ValueNode &node) ynothrow | ||
访问节点的指定类型对象指针。 | |||
YF_API const ValueNode & | AccessNode (const ValueNode::Container &, const string &) | ||
访问容器中的节点。 | |||
template<typename _type > | |||
_type & | AccessChild (ValueNode &node, const string &name) | ||
访问指定名称的子节点的指定类型对象。
| |||
template<typename _type > | |||
const _type & | AccessChild (const ValueNode &node, const string &name) | ||
访问指定名称的子节点的指定类型 const 对象。
| |||
template<typename _tString , typename... _tParams> | |||
ValueNode | MakeNode (_tString &&name, _tParams &&...args) | ||
取指定名称和退化参数的值类型节点。 | |||
template<typename _tString , typename... _tParams> | |||
ValueNode | StringifyToNode (_tString &&name, _tParams &&...args) | ||
取指定名称和转换为字符串的值类型节点。 | |||
template<class _tPack > | |||
ValueNode | UnpackToNode (_tPack &&pk) | ||
从参数取以指定分量为初始化参数的值类型节点。 | |||
template<typename... _tParams> | |||
unique_ptr< ValueNode::Container > | CollectNodes (_tParams &&...args) | ||
取指定值类型节点为成员的节点容器。 | |||
template<typename _tString , typename... _tParams> | |||
ValueNode | PackNodes (_tString &&name, _tParams &&...args) | ||
取以指定分量为参数对应初始化得到的值类型节点为子节点的值类型节点。 | |||
YF_API Application & | FetchAppInstance () ynothrow | ||
取应用程序实例。 | |||
shared_ptr< Shell > | FetchShellHandle () ynothrow | ||
取当前应用程序线程空间中活动的 Shell 句柄。 | |||
bool | Activate (const shared_ptr< Shell > &hShl) | ||
激活 Shell 对象:控制权转移给此对象以维持单线程运行。 | |||
YF_API void | PostQuitMessage (int nExitCode, Messaging::Priority p=0xF0) | ||
以优先级 p 发起 Shell 终止请求,返回 nExitCode。 | |||
yconstfn int | FetchZero () ynothrow | ||
取整数类型的零元素。 | |||
yconstfn s8 | FetchSign (int a, int b=0) ynothrow | ||
整数类型符号函数。 | |||
template<typename _type > | |||
yconstfn s8 | FetchSign (const _type &a, const _type &b=FetchZero< _type >()) ynothrow | ||
符号函数。 | |||
yconstfn int | FetchSignFromInterval (int d, int a, int b) ynothrow | ||
判断整数 d 和以 [a, b](a ≤ b) 或 [b, a](a > b) 区间的关系。 | |||
template<typename _type > | |||
yconstfn int | FetchSignFromInterval (const _type &d, const _type &a, const _type &b) ynothrow | ||
判断 d 和以 [a, b](a ≤ b) 或 [b, a](a > b) 区间的关系。 | |||
template<typename _type > | |||
bool | IsInInterval (_type i, _type b) ynothrow | ||
判断 i 是否在左闭右开区间 [FetchZero<_type>() , b) 中。 | |||
template<typename _type > | |||
bool | IsInInterval (_type i, _type a, _type b) ynothrow | ||
判断 i 是否在左闭右开区间 [a, b) 中。 | |||
template<typename _type > | |||
bool | IsInOpenInterval (_type i, _type b) ynothrow | ||
判断 i 是否在开区间 (FetchZero<_type>(), b) 内。 | |||
template<typename _type > | |||
bool | IsInOpenInterval (_type i, _type a, _type b) ynothrow | ||
判断 i 是否在开区间 (a, b) 内。 | |||
template<typename _type > | |||
size_t | SwitchInterval (_type v, const _type *a, size_t n) ynothrow | ||
计算满足指定的值 v 在区间 [a[i] , a[i + 1] ) 内最小的 i 。 | |||
template<typename _type > | |||
size_t | SwitchAddedInterval (_type v, const _type *a, size_t n) ynothrow | ||
计算满足指定的值 v 在区间 [b(i), b(i + 1)) 内的最小的 i ; 其中 b(i) 是 a[i] 前 i 项的和。 | |||
template<typename _type > | |||
void | RestrictInClosedInterval (_type &i, int a, int b) ynothrow | ||
约束整数 i 在闭区间 [a, b] 中。 | |||
template<typename _type > | |||
void | RestrictInInterval (_type &i, int a, int b) ynothrow | ||
约束整数 i 在左闭右开区间 [a, b) 中。 | |||
template<typename _type > | |||
void | RestrictUnsignedStrict (_type &u, unsigned b) ynothrow | ||
约束无符号整数 u 在区间上界 b 内。 | |||
template<typename _type > | |||
void | RestrictUnsigned (_type &u, unsigned b) ynothrow | ||
约束无符号整数 u 在左闭右开区间 [0, b) 中。 | |||
template<typename _type > | |||
void | RestrictLessEqual (_type &a, _type &b) ynothrow | ||
约束关系:a ≤ b 。 | |||
template<typename _tOut > | |||
void | ClearSequence (_tOut dst, size_t n) ynothrow | ||
清除指定的连续对象。 | |||
template<typename _type > | |||
yconstfn auto | CloneNonpolymorphic (const _type &p) -> decltype(&*p) | ||
使用 new 复制指定指针指向的对象。 | |||
template<class _type > | |||
auto | ClonePolymorphic (const _type &p) -> decltype(&*p) | ||
使用 Clone 成员函数复制指定指针指向的多态类类型对象。 | |||
yconstexpr EventPriority | DefaultEventPriority (0x80) | ||
默认事件优先级。 | |||
template<typename _type > | |||
ValueObject | MakeValueObjectByPtr (_type *p) | ||
使用指针构造 ValueObject 实例。 | |||
template<typename _type > | |||
_type | FetchInstance () | ||
取指定类型的无参数构造的对象。 | |||
template<typename _type > | |||
_type & | FetchStaticRef () | ||
取指定类型的静态默认对象。 | |||
template<typename _type > | |||
const _type & | FetchPrototype () | ||
取指定类型的静态原型对象。 | |||
template<typename _tChar > | |||
File & | operator>> (File &f, typename std::char_traits< _tChar >::char_type &c) | ||
从指定文件读字符。 | |||
template<typename _tString > | |||
File & | operator>> (File &f, _tString &str) | ||
从指定文件读空白符分隔的字符串。 | |||
File & | operator<< (File &f, char c) | ||
向指定文件写字符。 | |||
File & | operator<< (File &f, const char *str) | ||
向指定文件写字符串。 | |||
template<typename _tString > | |||
File & | operator<< (File &f, const _tString &str) | ||
向指定文件写字符串。 | |||
auto | begin (ValueNode &node) -> decltype(node.GetBegin()) | ||
迭代器包装,用于 range-based for 。 | |||
auto | begin (const ValueNode &node) -> decltype(node.GetBegin()) | ||
auto | end (ValueNode &node) -> decltype(node.GetEnd()) | ||
auto | end (const ValueNode &node) -> decltype(node.GetEnd()) | ||
const ValueNode & | UnpackToNode (const ValueNode &arg) | ||
从引用参数取值类型节点:返回自身。 | |||
ValueNode && | UnpackToNode (ValueNode &&arg) | ||
YF_API void | PostMessage (const Message &, Messaging::Priority) ynothrow | ||
全局默认队列消息发送函数。 | |||
void | PostMessage (Messaging::ID id, Messaging::Priority prior, const ValueObject &vo={}) ynothrow | ||
void | PostMessage (Messaging::ID id, Messaging::Priority prior, ValueObject &&c) ynothrow | ||
template<Messaging::MessageID _vID> | |||
void | PostMessage (Messaging::Priority prior, const typename Messaging::SMessageMap< _vID >::TargetType &target) ynothrow | ||
template<typename _tRet , typename... _tParams> | |||
GEvent< _tRet(_tParams...)> & | AddUnique (GEvent< _tRet(_tParams...)> &evt, const typename GEvent< _tRet(_tParams...)>::HandlerType &h, EventPriority prior=DefaultEventPriority) | ||
添加单一事件响应:删除后添加。 | |||
template<typename _tRet , typename... _tParams> | |||
GEvent< _tRet(_tParams...)> & | AddUnique (GEvent< _tRet(_tParams...)> &evt, typename GEvent< _tRet(_tParams...)>::HandlerType &&h, EventPriority prior=DefaultEventPriority) | ||
template<typename _type , typename _tRet , typename... _tParams> | |||
GEvent< _tRet(_tParams...)> & | AddUnique (GEvent< _tRet(_tParams...)> &evt, _type &&arg, EventPriority prior=DefaultEventPriority) | ||
template<class _type , typename _tRet , typename... _tParams> | |||
GEvent< _tRet(_tParams...)> & | AddUnique (GEvent< _tRet(_tParams...)> &evt, _type &obj, void(_type::*pm)(typename GEvent< _tRet(_tParams...)>::EventArgsType), EventPriority prior=DefaultEventPriority) | ||
变量 | |
yconstexpr char | BOM_UTF_16LE [] {"\xFF\xFE"} |
Unicode 编码模式标记。 | |
yconstexpr char | BOM_UTF_16BE [] {"\xFE\xFF"} |
yconstexpr char | BOM_UTF_8 [] {"\xEF\xBB\xBF"} |
yconstexpr char | BOM_UTF_32LE [] {"\xFF\xFE\x00\x00"} |
yconstexpr char | BOM_UTF_32BE [] {"\x00\x00\xFE\xFF"} |
typedef u8 YSLib::EventPriority |
typedef std::exception YSLib::Exception |
typedef std::runtime_error YSLib::GeneralEvent |
typedef std::int16_t YSLib::s16 |
在文件 yadaptor.h 第 73 行定义.
typedef std::int32_t YSLib::s32 |
在文件 yadaptor.h 第 74 行定义.
typedef std::int64_t YSLib::s64 |
在文件 yadaptor.h 第 75 行定义.
typedef std::int8_t YSLib::s8 |
在文件 yadaptor.h 第 72 行定义.
typedef GSStringTemplate<char>::basic_string YSLib::string |
typedef std::uint16_t YSLib::u16 |
在文件 yadaptor.h 第 69 行定义.
typedef std::uint32_t YSLib::u32 |
在文件 yadaptor.h 第 70 行定义.
typedef std::uint64_t YSLib::u64 |
在文件 yadaptor.h 第 71 行定义.
typedef std::uint8_t YSLib::u8 |
typedef GSStringTemplate<CHRLib::ucs2_t>::basic_string YSLib::ucs2string |
typedef GSStringTemplate<CHRLib::ucs4_t>::basic_string YSLib::ucs4string |
typedef volatile s16 YSLib::vs16 |
在文件 yadaptor.h 第 81 行定义.
typedef volatile s32 YSLib::vs32 |
在文件 yadaptor.h 第 82 行定义.
typedef volatile s64 YSLib::vs64 |
在文件 yadaptor.h 第 83 行定义.
typedef volatile s8 YSLib::vs8 |
在文件 yadaptor.h 第 80 行定义.
typedef volatile u16 YSLib::vu16 |
在文件 yadaptor.h 第 77 行定义.
typedef volatile u32 YSLib::vu32 |
在文件 yadaptor.h 第 78 行定义.
typedef volatile u64 YSLib::vu64 |
在文件 yadaptor.h 第 79 行定义.
typedef volatile u8 YSLib::vu8 |
在文件 yadaptor.h 第 76 行定义.
|
inline |
访问节点的指定类型对象。
std::bad_cast | 空实例或类型检查失败 。 |
在文件 ValueNode.h 第 213 行定义.
参考 YSLib::ValueObject::Access() , 以及 YSLib::ValueNode::Value.
|
inline |
访问指定名称的子节点的指定类型对象。
std::bad_cast | 空实例或类型检查失败 。 |
在文件 ValueNode.h 第 244 行定义.
参考 YSLib::ValueNode::GetNode().
|
inline |
访问指定名称的子节点的指定类型 const 对象。
std::bad_cast | 空实例或类型检查失败 。 |
在文件 ValueNode.h 第 255 行定义.
参考 YSLib::ValueNode::GetNode().
访问容器中的节点。
|
inline |
访问节点的指定类型对象指针。
在文件 ValueNode.h 第 224 行定义.
参考 YSLib::ValueObject::AccessPtr() , 以及 YSLib::ValueNode::Value.
|
inline |
添加单一事件响应:删除后添加。
参考 YSLib::GEvent< _tRet(_tParams...)>::Add().
参考自 AddUnique().
|
inline |
清除指定的连续对象。
std::remove_reference<decltype(*dst)>::type
, 则应满足 std::is_pod<T> || (std::is_nothrow_default_constructible<T>::value && std::is_nothrow_assignable<T, T>::value)
。 参考 YB_LIKELY.
参考自 YSLib::Drawing::ClearPixel().
yconstfn auto YSLib::CloneNonpolymorphic | ( | const _type & | p | ) | -> decltype(&*p) |
使用 new 复制指定指针指向的对象。
参考自 YSLib::GDependency< _tEvent, _tOwnerPointer >::GetCopyOnWritePtr().
auto YSLib::ClonePolymorphic | ( | const _type & | p | ) | -> decltype(&*p) |
|
inline |
取指定值类型节点为成员的节点容器。
在文件 ValueNode.h 第 319 行定义.
参考 ystdex::seq_insert() , 以及 yforward.
参考自 PackNodes().
yconstexpr EventPriority YSLib::DefaultEventPriority | ( | 0x80 | ) |
默认事件优先级。
YF_API Application& YSLib::FetchAppInstance | ( | ) |
取应用程序实例。
在文件 GUIApplication.cpp 第 180 行定义.
参考自 Activate(),YSLib::Shells::Shell::DefShlProc(),FetchShellHandle(),YSLib::Shells::Shell::IsActive(),IsNowShell() , 以及 PostMessage().
|
inline |
|
inline |
整数类型符号函数。
a < b
则返回 -1 ,否则若 a = b
则返回 0 ,否则返回 1 。 yconstfn int YSLib::FetchSignFromInterval | ( | int | d, |
int | a, | ||
int | b | ||
) |
判断整数 d 和以 [a, b](a ≤ b) 或 [b, a](a > b) 区间的关系。
参考 FetchSign().
yconstfn int YSLib::FetchSignFromInterval | ( | const _type & | d, |
const _type & | a, | ||
const _type & | b | ||
) |
判断 d 和以 [a, b](a ≤ b) 或 [b, a](a > b) 区间的关系。
参考 FetchSign().
|
inline |
YF_API MemoryList& YSLib::GetDebugMemoryList | ( | ) |
取调试用内存块列表。
|
inline |
判断 i 是否在左闭右开区间 [FetchZero<_type>()
, b) 中。
FetchZero<_type>() < b
。 参考 YAssert.
参考自 DeclResource(),YSLib::UI::Menu::IsItemEnabled(),YSLib::UI::Menu::operator+=(),YSLib::UI::Menu::operator-=() , 以及 YSLib::UI::Menu::SetItemEnabled().
|
inline |
|
inline |
|
inline |
|
inline |
取指定名称和退化参数的值类型节点。
在文件 ValueNode.h 第 267 行定义.
参考 ystdex::decay_copy() , 以及 yforward.
参考自 LoadConfiguration() , 以及 Reduce().
bool YSLib::operator!= | ( | const shared_ptr< _type > & | sp, |
_type * | p | ||
) |
bool YSLib::operator!= | ( | shared_ptr< _type > && | sp, |
_type * | p | ||
) |
|
inline |
|
inline |
File& YSLib::operator<< | ( | File & | f, |
const _tString & | str | ||
) |
向指定文件写字符串。
f | 文件。 |
bool(f)
。 参考 YSLib::File::GetPtr() , 以及 YAssert.
bool YSLib::operator== | ( | const shared_ptr< _type > & | sp, |
_type * | p | ||
) |
bool YSLib::operator== | ( | shared_ptr< _type > && | sp, |
_type * | p | ||
) |
File& YSLib::operator>> | ( | File & | f, |
typename std::char_traits< _tChar >::char_type & | c | ||
) |
File& YSLib::operator>> | ( | File & | f, |
_tString & | str | ||
) |
|
inline |
取以指定分量为参数对应初始化得到的值类型节点为子节点的值类型节点。
在文件 ValueNode.h 第 333 行定义.
参考 CollectNodes(),UnpackToNode() , 以及 yforward.
参考自 InitializeInstalled() , 以及 LoadConfiguration().
YF_API void YSLib::PostMessage | ( | const Message & | , |
Messaging::Priority | |||
) |
全局默认队列消息发送函数。
|
inline |
|
inline |
|
inline |
YF_API void YSLib::PostQuitMessage | ( | int | nExitCode, |
Messaging::Priority | p = 0xF0 |
||
) |
void YSLib::RestrictInClosedInterval | ( | _type & | i, |
int | a, | ||
int | b | ||
) |
约束整数 i 在闭区间 [a, b] 中。
!(b < a)
。 !(i < a || b < i)
。 参考 YAssert.
参考自 YSLib::UI::ATrack::SetThumbPosition() , 以及 DualScreenReader::Stretch().
void YSLib::RestrictInInterval | ( | _type & | i, |
int | a, | ||
int | b | ||
) |
约束整数 i 在左闭右开区间 [a, b) 中。
a < b
。 !(i < a) && i < b
。 参考 YAssert.
参考自 DrawHLineSeg(),DrawTrackBackground(),DrawVLineSeg(),YSLib::UI::GSequenceViewer< ListType >::IncreaseHead(),YSLib::UI::GSequenceViewer< ListType >::IncreaseSelected(),YSLib::UI::TextList::LocateViewPosition(),YSLib::UI::ATrack::SetThumbLength() , 以及 InputManager::Update().
|
inline |
约束关系:a ≤ b 。
a <= b
。 参考 std::swap().
参考自 DrawHLineSeg() , 以及 DrawVLineSeg().
void YSLib::RestrictUnsigned | ( | _type & | u, |
unsigned | b | ||
) |
约束无符号整数 u 在左闭右开区间 [0, b) 中。
b != FetchZero<_type>()
。 !(u < FetchZero<_type>()) && u < b
。 参考 YAssert.
void YSLib::RestrictUnsignedStrict | ( | _type & | u, |
unsigned | b | ||
) |
约束无符号整数 u 在区间上界 b 内。
!(b < u)
。 参考自 YSLib::UI::TextList::InvalidateSelected().
|
inline |
取指定名称和转换为字符串的值类型节点。
在文件 ValueNode.h 第 279 行定义.
参考 ystdex::to_string() , 以及 yforward.
size_t YSLib::SwitchAddedInterval | ( | _type | v, |
const _type * | a, | ||
size_t | n | ||
) |
size_t YSLib::SwitchInterval | ( | _type | v, |
const _type * | a, | ||
size_t | n | ||
) |
计算满足指定的值 v 在区间 [a[i]
, a[i + 1]
) 内最小的 i 。
a
。 n != 0
。 !(v < *a)
。 参考 YAssert.
参考自 YSLib::UI::ATrack::CheckArea().
|
inline |
|
inline |
在文件 ValueNode.h 第 295 行定义.
|
inline |
从参数取以指定分量为初始化参数的值类型节点。
在文件 ValueNode.h 第 307 行定义.
参考 ystdex::decay_copy() , 以及 yforward.
yconstexpr char YSLib::BOM_UTF_16BE[] {"\xFE\xFF"} |
yconstexpr char YSLib::BOM_UTF_16LE[] {"\xFF\xFE"} |
Unicode 编码模式标记。
Unicode Encoding Scheme Signatures BOM(byte-order mark ,字节顺序标记)常量。
yconstexpr char YSLib::BOM_UTF_32BE[] {"\x00\x00\xFE\xFF"} |
yconstexpr char YSLib::BOM_UTF_32LE[] {"\xFF\xFE\x00\x00"} |
yconstexpr char YSLib::BOM_UTF_8[] {"\xEF\xBB\xBF"} |