YSTest: platform 命名空间参考

YSTest PreAlpha_b500_20140530 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 命名空间列表
- 命名空间成员

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
命名空间 | 类 | 类型定义 | 函数 | 变量
platform 命名空间参考

默认平台命名空间。 更多...

## 命名空间

| ColorSpace
| 系统默认颜色空间。
| Consoles
| 控制台接口。
| Descriptions
| 平台描述空间。
| KeyCategory

## 类

class | Color
| 颜色。 更多...
class | DirectorySession
| 目录会话：表示打开的目录。 更多...
class | FileOperationFailure
| 表示文件操作失败的异常。 更多...
class | HDirectory
| 目录句柄：表示打开的目录和内容迭代状态。 更多...
class | Logger
| 日志记录器。 更多...
class | MappedFile
| 只读内存映射文件。 更多...
struct | XYZATrait
| XYZA 特征。 更多...

## 类型定义

using | FileIterator = ystdex::indirect_input_iterator< HDirectory * >
| 文件迭代器。 更多...
using | KeyIndex = std::size_t
| 按键索引类型：标识特定的按键在按键集合中的位置。 更多...
using | KeyInput = std::bitset< KeyBitsetWidth >
| 按键并行位宽。 更多...
using | SPos = std::int16_t
| 屏幕坐标度量。 更多...
using | SDst = std::uint16_t
| 屏幕坐标距离。 更多...
using | BitmapPtr = PixelType *
using | ConstBitmapPtr = const PixelType *
using | MonoType = ystdex::octet
using | AlphaType = ystdex::octet

## 枚举

enum | PathCategory : yimpl(std::uint32_t) { PathCategory::Empty, PathCategory::Self, PathCategory::Parent, PathCategory::Node }
| 路径类别。 更多...

enum

NodeCategory : ystdex::underlying_type_t< PathCategory > {
NodeCategory::Empty = ystdex::underlying_type_t<PathCategory>(PathCategory::Empty), NodeCategory::Unknown = ystdex::underlying_type_t<PathCategory>(PathCategory::Node), NodeCategory::Missing, NodeCategory::Invalid,
NodeCategory::Regular, NodeCategory::Directory, NodeCategory::Device = 0x1000, NodeCategory::Block,
NodeCategory::Character, NodeCategory::yimpl, NodeCategory::FIFO, NodeCategory::Socket,
NodeCategory::yimpl, NodeCategory::SymbolicLink, NodeCategory::HardLink, NodeCategory::Junction,
NodeCategory::Special = 0x4000, NodeCategory::yimpl =()
}

| 文件系统节点类别。 更多...

## 函数

YF_API Logger & | FetchCommonLogger ()
| 取公共日志记录器。 更多...
YF_API int | uopen (const char *filename, int oflag) ynothrow
| 以 UTF-8 文件名无缓冲打开文件。 更多...
YF_API int | uopen (const char *filename, int oflag, int pmode) ynothrow
| 以 UTF-8 文件名无缓冲打开文件。 更多...
YF_API int | uopen (const char16_t *filename, int oflag) ynothrow
| 以 UCS-2 文件名无缓冲打开文件。 更多...
YF_API int | uopen (const char16_t *filename, int oflag, int pmode) ynothrow
| 以 UCS-2 文件名无缓冲打开文件。 更多...
YF_API std::FILE * | ufopen (const char *filename, const char *mode) ynothrow
| 以 UTF-8 文件名打开文件。 更多...
YF_API std::FILE * | ufopen (const char16_t *filename, const char16_t *mode) ynothrow
| 以 UCS-2 文件名打开文件。 更多...
YF_API bool | ufexists (const char *) ynothrow
| 判断指定 UTF-8 文件名的文件是否存在。 更多...
YF_API bool | ufexists (const char16_t *) ynothrow
| 判断指定 UCS-2 文件名的文件是否存在。 更多...
template<class _tString >
| PDefH (bool, ufexists, const _tString &str) ynothrow ImplRet(ufexists(str.c_str())) YF_API char16_t *u16getcwd_n(char16_t *buf
| 判断指定字符串为文件名的文件是否存在。 更多...
YF_API bool | IsAbsolute (const char *)
| 判断指定路径字符串是否表示一个绝对路径。 更多...
YF_API std::size_t | GetRootNameLength (const char *)
| 取指定路径的文件系统根节点名称的长度。 更多...
YF_API void | WaitForInput ()
| 等待任意按键。 更多...
YF_API KeyIndex | FindFirstKey (const KeyInput &) ynothrow
| 找到输入缓冲区记录中最小的按键编码。 更多...
YF_API KeyIndex | FindNextKey (const KeyInput &, KeyIndex) ynothrow
| 找到输入缓冲区记录中大于指定编码的最小的按键编码。 更多...
YF_API void | StartTicks ()
| 开始 tick 计时。 更多...
YF_API std::uint32_t | GetTicks ()
| 取 tick 数。 更多...
YF_API std::uint64_t | GetHighResolutionTicks ()
| 取高精度 tick 数。 更多...
template<size_t _vB, size_t _vG, size_t _vR, size_t _vA>
union | YB_ATTR (packed) YB_ATTR(aligned(yalignof(typename XYZATrait< _vB
| BGRA 四元组。 更多...
| DefDeCtor (BGRA) yconstfn BGRA(typename Trait
yconstfn | BGRA (typename Trait::BType b, typename Trait::GType g, typename Trait::RType r, typename Trait::AType a)
yconstfn | DefCvt (const ynothrow, typename Trait::IntegerType, Integer) yconstfn DefGetter(const ynothrow
yconstfn Integer &Trait::AMask Trait::XYZBitsN yconstfn | DefGetter (const ynothrow, typename Trait::BType, B, Integer &Trait::XMask) yconstfn DefGetter(const ynothrow
yconstfn Integer &Trait::AMask Trait::XYZBitsN yconstfn Integer &Trait::YMask Trait::XBitsN yconstfn | DefGetter (const ynothrow, typename Trait::RType, R,(Integer &Trait::ZMask) >> Trait::XYBitsN)}
| DefDeCtor (RGBA) yconstfn RGBA(typename Trait
yconstfn | RGBA (typename Trait::BType r, typename Trait::GType g, typename Trait::RType b, typename Trait::AType a)
yconstfn Integer &Trait::AMask Trait::XYZBitsN yconstfn | DefGetter (const ynothrow, typename Trait::BType, B,(Integer &Trait::ZMask) >> Trait::XYBitsN) yconstfn DefGetter(const ynothrow
yconstfn Integer &Trait::AMask Trait::XYZBitsN yconstfn Integer &Trait::YMask Trait::XBitsN yconstfn | DefGetter (const ynothrow, typename Trait::RType, R, Integer &Trait::XMask)}
YF_API void | YConsoleInit (std::uint8_t dspIndex, Color fc=ColorSpace::White, Color bc=ColorSpace::Black)
| 启动控制台。 更多...
YF_API bool | InitVideo ()
| 初始化视频输出。 更多...
YB_NORETURN YF_API void | terminate () ynothrow
| 异常终止函数。 更多...
std::string | LogWithSource (const char *file, int line, const char *fmt,...)
char16_t * | u16getcwd_n (char16_t *buf, std::size_t size) ynothrow
YF_API void | YDebugSetStatus (bool=true)
| 调试模式：设置状态。 更多...
YF_API bool | YDebugGetStatus ()
| 调试模式：取得状态。 更多...
YF_API void | YDebugBegin ()
| 调试模式：显示控制台。 更多...
YF_API void | YDebug ()
| 调试模式：按键继续。 更多...
YF_API void | YDebug (const char *)
| 调试模式：显示控制台字符串，按键继续。 更多...
YF_API int | yprintf (const char *,...)
| 调试模式 printf ：显示控制台格式化输出 ，按键继续。 更多...
YF_API bool | uchdir (const char *) ynothrow
| 切换当前工作路径至指定的 UTF-8 字符串。 更多...
YF_API bool | umkdir (const char *) ynothrow
| 按 UTF-8 路径以默认权限新建一个目录。 更多...
YF_API bool | urmdir (const char *) ynothrow
| 按 UTF-8 路径删除一个空目录。 更多...
YF_API bool | uunlink (const char *) ynothrow
| 按 UTF-8 路径删除一个非目录文件。 更多...
YF_API bool | uremove (const char *) ynothrow
| 按 UTF-8 路径删除一个文件。 更多...
YF_API bool | truncate (std::FILE *, std::size_t) ynothrow
| 截断文件至指定长度。 更多...
YF_API std::uint64_t | GetFileSizeOf (int)
| 取文件的大小。 更多...
YF_API std::uint64_t | GetFileSizeOf (std::FILE *)

## 变量

std::size_t size | ynothrow
union _vA::IntegerType | BGRA
Trait::ArrayType | Bytes
Trait::IntegerType | Integer
yconstfn | A
yconstfn Integer &Trait::AMask Trait::XYZBitsN yconstfn | G
union _vA::IntegerType | RGBA
| fd
if(p==MAP_FAILED) throw std | addr = static_cast<ystdex::byte*>(p)
yconstexpr | MapKeyChar
yconstexpr | PDefH (char, MapKeyChar, KeyIndex) ynothrow ImplRet(char()) yconstexpr PDefH(char
| 映射按键到键入的字符。 更多...
yconstexpr const KeyInput KeyIndex ynothrow | ImplRet (char()) namespace KeyCodes
| 本机按键编码。 更多...

## 详细描述

默认平台命名空间。

## 类型定义说明

using platform::AlphaType = typedef ystdex::octet

在文件 Video.h 第 186 行定义.

using platform::BitmapPtr = typedef PixelType*

在文件 Video.h 第 295 行定义.

using platform::ConstBitmapPtr = typedef const PixelType*

在文件 Video.h 第 296 行定义.

using platform::FileIterator = typedef ystdex::indirect_input_iterator<HDirectory*>

文件迭代器。

自从
  build 411

在文件 YCLib/FileSystem.h 第 539 行定义.

using platform::KeyIndex = typedef std::size_t

按键索引类型：标识特定的按键在按键集合中的位置。

自从
  build 490

在文件 Keys.h 第 42 行定义.

using platform::KeyInput = typedef std::bitset<KeyBitsetWidth>

按键并行位宽。

注解
  不少于实际表示的 KeyPad 按键数。

自从
  build 490

本机输入类型。

自从
  build 298

支持并行按键的缓冲区数据类型。

在文件 Keys.h 第 68 行定义.

using platform::MonoType = typedef ystdex::octet

自从
  build 417

在文件 Video.h 第 185 行定义.

using platform::SDst = typedef std::uint16_t

屏幕坐标距离。

在文件 Video.h 第 39 行定义.

using platform::SPos = typedef std::int16_t

屏幕坐标度量。

在文件 Video.h 第 38 行定义.

## 枚举类型说明

enum platform::NodeCategory : ystdex::underlying_type_t< PathCategory >

strong

文件系统节点类别。

枚举值
Empty |
Unknown |

Missing

自从
  build 474

Invalid |
Regular |
Directory |

Device

注解
  以下枚举项具体行为依赖于文件系统和/或操作系统提供的接口。
  0x1000 起每 0x1000 一个独立区间，分别表示设备文件、通信实体、 无附加限制的链接点和其它特殊文件系统实体；首个枚举项表示该子类的未分类节点。

自从
  build 474

Block |
Character |
yimpl |
FIFO |
Socket |
yimpl |
SymbolicLink |
HardLink |

Junction

自从
  build 474

Special |
yimpl |

在文件 YCLib/FileSystem.h 第 343 行定义.

enum platform::PathCategory : yimpl(std::uint32_t)

strong

路径类别。

自从
  build 412

枚举值
Empty |
Self |
Parent |
Node |

在文件 YCLib/FileSystem.h 第 334 行定义.

## 函数说明

yconstfn platform::BGRA | ( | typename Trait::BType | b,
|  | typename Trait::GType | g,
|  | typename Trait::RType | r,
|  | typename Trait::AType | a
| ) |  |

在文件 Video.h 第 108 行定义.

yconstfn platform::DefCvt | ( | const ynothrow | ,
|  | typename Trait::IntegerType | ,
|  | Integer |
| ) |  | const

自从
  build 442
  build 448

platform::DefDeCtor | ( | BGRA |  | ) |

在文件 Video.h 第 102 行定义.

platform::DefDeCtor | ( | RGBA |  | ) |

在文件 Video.h 第 154 行定义.

yconstfn Integer& Trait::AMask Trait::XYZBitsN yconstfn platform::DefGetter | ( | const ynothrow | ,
|  | typename Trait::BType | ,
|  | B | ,
|  | Integer &Trait::XMask |
| ) |  | const

自从
  build 448

yconstfn Integer& Trait::AMask Trait::XYZBitsN yconstfn Integer& Trait::YMask Trait::XBitsN yconstfn platform::DefGetter | ( | const ynothrow | ,
|  | typename Trait::RType | ,
|  | R | ,
|  | (Integer &Trait::ZMask) >> Trait::XYBitsN |
| ) |  |

自从
  build 448

yconstfn Integer& Trait::AMask Trait::XYZBitsN yconstfn platform::DefGetter | ( | const ynothrow | ,
|  | typename Trait::BType | ,
|  | B | ,
|  | (Integer &Trait::ZMask) >> Trait::XYBitsN |
| ) |  | const

自从
  build 448

yconstfn Integer& Trait::AMask Trait::XYZBitsN yconstfn Integer& Trait::YMask Trait::XBitsN yconstfn platform::DefGetter | ( | const ynothrow | ,
|  | typename Trait::RType | ,
|  | R | ,
|  | Integer &Trait::XMask |
| ) |  |

自从
  build 448

Logger & platform::FetchCommonLogger | ( |  | ) |

取公共日志记录器。

自从
  build 498

在文件 Debug.cpp 第 212 行定义.

参考自 ANativeActivity_onCreate().

这是这个函数的调用关系图:

KeyIndex platform::FindFirstKey | ( | const KeyInput & | keys | ) |

找到输入缓冲区记录中最小的按键编码。

返回
  若存在编码则为最小值，否则为 KeyBitsetWidth 。

自从
  build 490

待办事项:
  支持 libstdc++ 以外的实现。

在文件 Keys.cpp 第 36 行定义.

参考自 platform::KeyCategory::FindFirstKeyInCategroy().

这是这个函数的调用关系图:

KeyIndex platform::FindNextKey | ( | const KeyInput & | keys,
|  | KeyIndex | key
| ) |  |

找到输入缓冲区记录中大于指定编码的最小的按键编码。

返回
  若存在编码则为大于指定编码的最小值，否则为 KeyBitsetWidth 。

自从
  build 490

待办事项:
  支持 libstdc++ 以外的实现。

在文件 Keys.cpp 第 46 行定义.

参考自 platform::KeyCategory::FindFirstKeyInCategroy().

这是这个函数的调用关系图:

std::uint64_t platform::GetFileSizeOf | ( | int | fd | ) |

取文件的大小。

返回
  以字节计算的文件大小。

异常

  FileOperationFailure | 参数无效或文件大小查询失败。

注解
  `errno` 在出错时会被设置。

自从
  build 475

待办事项:
  使用 errno 决定异常。

在文件 YCLib/FileSystem.cpp 第 437 行定义.

参考 YB_LIKELY.

参考自 GetFileSizeOf() , 以及 platform::MappedFile::MappedFile().

这是这个函数的调用关系图:

std::uint64_t platform::GetFileSizeOf | ( | std::FILE * | fp | ) |

前置条件
  断言：输入非空指针。

在文件 YCLib/FileSystem.cpp 第 455 行定义.

参考 GetFileSizeOf() , 以及 yconstraint.

函数调用图:

std::uint64_t platform::GetHighResolutionTicks | ( |  | ) |

取高精度 tick 数。

注解
  单位为纳秒。
  调用 StartTicks 。

警告
  首次调用 StartTicks 前非线程安全。

自从
  build 291

在文件 Timer.cpp 第 157 行定义.

参考 StartTicks().

参考自 YSLib::Timers::HighResolutionClock::now() , 以及 YSLib::FPSCounter::Refresh().

函数调用图:

这是这个函数的调用关系图:

std::size_t platform::GetRootNameLength | ( | const char * | path | ) |

取指定路径的文件系统根节点名称的长度。

自从
  build 412

在文件 YCLib/FileSystem.cpp 第 573 行定义.

std::uint32_t platform::GetTicks | ( |  | ) |

取 tick 数。

注解
  单位为毫秒。
  调用 StartTicks 。

警告
  首次调用 StartTicks 前非线程安全。

在文件 Timer.cpp 第 141 行定义.

参考 StartTicks().

函数调用图:

yconstexpr const KeyInput KeyIndex ynothrow platform::ImplRet | ( | char() |  | ) |

本机按键编码。

注解
  MinGW32 下的 KeyCodes 中仅含每个实现默认需要支持的基本集合。

自从
  build 298

取锁定键状态。

返回
  若参数指定可锁定的键则取状态，否则总是 false 。

自从
  build 490

待办事项:
  Android 实现。

切换锁定键状态。

返回
  若参数指定可锁定的键则切换状态，否则忽略。

自从
  build 490

待办事项:
  Android 实现。

在文件 Keys.h 第 191 行定义.

参考 A, Empty, YSLib::Drawing::X, YSLib::Drawing::Y, yconstexpr, YF_API , 以及 ynothrow.

YF_API bool platform::InitVideo | ( |  | ) |

初始化视频输出。

警告
  不保证线程安全性。

在文件 Video.cpp 第 133 行定义.

bool platform::IsAbsolute | ( | const char * | path | ) |

判断指定路径字符串是否表示一个绝对路径。

自从
  build 412

在文件 YCLib/FileSystem.cpp 第 554 行定义.

std::string platform::LogWithSource | ( | const char * | file,
|  | int | line,
|  | const char * | fmt,
|  |  | ...
| ) |  |

在文件 Debug.cpp 第 225 行定义.

参考 YSLib::UI::args, ystdex::sfmt(), ystdex::vsfmt() , 以及 YAssertNonnull.

函数调用图:

yconstexpr platform::PDefH | ( | char | ,
|  | MapKeyChar | ,
|  | KeyIndex |
| ) |  |

映射按键到键入的字符。

返回
  若未找到对应按键或不支持为 char() ，否则为对应的字符。

注解
  对于 Win32 ，返回值不大于 0x80 。

自从
  build 490

待办事项:
  Android 实现。

自从
  build 489

template<class _tString >

platform::PDefH | ( | bool | ,
|  | ufexists | ,
|  | const _tString & | str
| ) |  |

inline

判断指定字符串为文件名的文件是否存在。

注解
  使用 NTCTS 参数 ufexists 实现。

自从
  build 324

当第一参数非空时取当前工作目录（ UCS-2 编码）复制至指定缓冲区中。

参数

  buf | 缓冲区起始指针。
  size | 缓冲区长。

返回
  若成功为 buf ，否则为空指针。

自从
  build 324

yconstfn platform::RGBA | ( | typename Trait::BType | r,
|  | typename Trait::GType | g,
|  | typename Trait::RType | b,
|  | typename Trait::AType | a
| ) |  |

在文件 Video.h 第 160 行定义.

void platform::StartTicks | ( |  | ) |

开始 tick 计时。

警告
  首次调用前非线程安全。

在文件 Timer.cpp 第 102 行定义.

参考 YB_UNLIKELY , 以及 yunseq.

参考自 GetHighResolutionTicks() , 以及 GetTicks().

这是这个函数的调用关系图:

void platform::terminate | ( |  | ) |

异常终止函数。

自从
  build 319

在文件 ycommon.cpp 第 39 行定义.

参考自 YSLib::HandleFatalError(), YSLib::InitializeEnviornment() , 以及 ShowFatalError().

这是这个函数的调用关系图:

bool platform::truncate | ( | std::FILE * | fp,
|  | std::size_t | size
| ) |  |

截断文件至指定长度。

前置条件
  指定文件需已经打开并可写。

注解
  不改变文件读写位置。

自从
  build 341

若文件不足指定长度，扩展并使用空字节填充；否则保留起始指定长度的字节。

在文件 YCLib/FileSystem.cpp 第 426 行定义.

参考 CHRLib::fp.

char16_t* platform::u16getcwd_n | ( | char16_t * | buf,
|  | std::size_t | size
| ) |  |

在文件 YCLib/FileSystem.cpp 第 335 行定义.

参考 CHRLib::MBCSToUCS2() , 以及 YB_LIKELY.

参考自 YSLib::IO::FetchCurrentWorkingDirectory().

函数调用图:

这是这个函数的调用关系图:

bool platform::uchdir | ( | const char * | path | ) |

切换当前工作路径至指定的 UTF-8 字符串。

自从
  build 476

在文件 YCLib/FileSystem.cpp 第 405 行定义.

bool platform::ufexists | ( | const char * | filename | ) |

判断指定 UTF-8 文件名的文件是否存在。

注解
  使用 ufopen 实现。

前置条件
  断言：参数非空。

自从
  build 324

在文件 YCLib/FileSystem.cpp 第 307 行定义.

参考 ystdex::fexists(), ufopen() , 以及 yconstraint.

参考自 YSLib::IO::ClassifyNode(), YSLib::LoadNPLA1File() , 以及 YSLib::Drawing::FontCache::LoadTypefaces().

函数调用图:

这是这个函数的调用关系图:

bool platform::ufexists | ( | const char16_t * | filename | ) |

判断指定 UCS-2 文件名的文件是否存在。

注解
  使用 ufopen 实现。

前置条件
  断言：参数非空。

自从
  build 324

在文件 YCLib/FileSystem.cpp 第 322 行定义.

参考 ufopen() , 以及 yconstraint.

函数调用图:

std::FILE * platform::ufopen | ( | const char * | filename,
|  | const char * | mode
| ) |  |

以 UTF-8 文件名打开文件。

参数

  filename | 文件名，意义同 std::fopen 。
  mode | 打开模式，基本语义同 ISO C99 ，具体行为取决于实现。

前置条件
  断言：`filename && mode && *mode != 0` 。

自从
  build 299

在文件 YCLib/FileSystem.cpp 第 269 行定义.

参考 yconstraint.

参考自 YSLib::File::Open() , 以及 ufexists().

这是这个函数的调用关系图:

std::FILE * platform::ufopen | ( | const char16_t * | filename,
|  | const char16_t * | mode
| ) |  |

以 UCS-2 文件名打开文件。

参数

  filename | 文件名，意义同 std::fopen 。
  mode | 打开模式，基本语义同 ISO C99 ，具体行为取决于实现。

前置条件
  断言：`filename && mode && *mode != 0` 。

自从
  build 324

在文件 YCLib/FileSystem.cpp 第 287 行定义.

参考 CHRLib::strdup() , 以及 yconstraint.

函数调用图:

bool platform::umkdir | ( | const char * | path | ) |

按 UTF-8 路径以默认权限新建一个目录。

注解
  权限由实现定义： DS 使用最大权限； MinGW32 使用 _wmkdir 指定的默认权限。

自从
  build 475

在文件 YCLib/FileSystem.cpp 第 407 行定义.

参考自 YSLib::IO::EnsureDirectory().

这是这个函数的调用关系图:

int platform::uopen | ( | const char * | filename,
|  | int | oflag
| ) |  |

以 UTF-8 文件名无缓冲打开文件。

自从
  build 402
  build 458 as workaround for Visual C++ 2013

参数

  filename | 文件名，意义同 POSIX `::open` 。
  oflag | 打开标识，基本语义同 POSIX 2003 ，具体行为取决于实现。

前置条件
  断言：`filename` 。

自从
  build 324

在文件 YCLib/FileSystem.cpp 第 204 行定义.

参考 yconstraint.

int platform::uopen | ( | const char * | filename,
|  | int | oflag,
|  | int | pmode
| ) |  |

以 UTF-8 文件名无缓冲打开文件。

参数

  filename | 文件名，意义同 POSIX `::open` 。
  oflag | 打开标识，基本语义同 POSIX 2003 ，具体行为取决于实现。
  pmode | 打开模式，基本语义同 POSIX 2003 ，具体行为取决于实现。

前置条件
  断言：`filename` 。

自从
  build 324

在文件 YCLib/FileSystem.cpp 第 220 行定义.

参考 yconstraint.

int platform::uopen | ( | const char16_t * | filename,
|  | int | oflag
| ) |  |

以 UCS-2 文件名无缓冲打开文件。

参数

  filename | 文件名，意义同 POSIX `::open` 。
  oflag | 打开标识，基本语义同 POSIX 2003 ，具体行为取决于实现。

前置条件
  断言：`filename` 。

自从
  build 324

在文件 YCLib/FileSystem.cpp 第 236 行定义.

参考 CHRLib::strdup() , 以及 yconstraint.

函数调用图:

int platform::uopen | ( | const char16_t * | filename,
|  | int | oflag,
|  | int | pmode
| ) |  |

以 UCS-2 文件名无缓冲打开文件。

参数

  filename | 文件名，意义同 POSIX `::open` 。
  oflag | 打开标识，基本语义同 POSIX 2003 ，具体行为取决于实现。
  pmode | 打开模式，基本语义同 POSIX 2003 ，具体行为取决于实现。

前置条件
  断言：`filename` 。

自从
  build 324

在文件 YCLib/FileSystem.cpp 第 252 行定义.

参考 CHRLib::strdup() , 以及 yconstraint.

函数调用图:

bool platform::uremove | ( | const char * | path | ) |

按 UTF-8 路径删除一个文件。

自从
  build 476

在文件 YCLib/FileSystem.cpp 第 419 行定义.

bool platform::urmdir | ( | const char * | path | ) |

按 UTF-8 路径删除一个空目录。

自从
  build 475

在文件 YCLib/FileSystem.cpp 第 415 行定义.

bool platform::uunlink | ( | const char * | path | ) |

按 UTF-8 路径删除一个非目录文件。

自从
  build 476

在文件 YCLib/FileSystem.cpp 第 417 行定义.

void platform::WaitForInput | ( |  | ) |

等待任意按键。

在文件 Input.cpp 第 47 行定义.

参考 platform_ex::FetchKeyDownState() , 以及 platform_ex::UpdateKeyStates().

参考自 YSLib::UI::Console::Pause(), YDebug() , 以及 yprintf().

函数调用图:

这是这个函数的调用关系图:
template<size_t _vB, size_t _vG, size_t _vR, size_t _vA>

union platform::YB_ATTR | ( | packed |  | ) |

BGRA 四元组。

RGBA 四元组。

注解
  作为 POD 类型，可以用于储存像素。

警告
  用户应检查存储表示的实际大小是否和本类型一致。
  当前仅支持小端整数字节序。
  当前忽略对齐和特定类型的一致性。

自从
  build 441

YF_API void platform::YConsoleInit | ( | std::uint8_t | dspIndex,
|  | Color | fc = `ColorSpace::White`,
|  | Color | bc = `ColorSpace::Black`
| ) |  |

启动控制台。

注解
  fc 为前景色，bc为背景色。

待办事项:
  Win32 和 Android 实现。

参考自 YSLib::InitializeEnviornment() , 以及 YDebugBegin().

这是这个函数的调用关系图:

## 变量说明

yconstfn platform::A

在文件 Video.h 第 118 行定义.

参考自 ImplRet().

if (p == MAP_FAILED) throw std platform::addr = static_cast<ystdex::byte*>(p)

在文件 MemoryMapping.cpp 第 97 行定义.

union _vA ::IntegerType platform::BGRA

初始值:
{
using Trait = XYZATrait<_vB, _vG, _vR, _vA>

在文件 Video.h 第 89 行定义.

Trait::ArrayType platform::Bytes

在文件 Video.h 第 93 行定义.

platform::fd

初始值:
{
const auto p(::mmap(0, size, PROT_READ, MAP_PRIVATE, fd, 0))
platform::fd
fd
Definition: MemoryMapping.cpp:82

在文件 MemoryMapping.cpp 第 82 行定义.

yconstfn Integer &Trait::AMask Trait::XYZBitsN yconstfn platform::G

在文件 Video.h 第 123 行定义.

Trait::IntegerType platform::Integer

在文件 Video.h 第 96 行定义.

yconstexpr platform::MapKeyChar

在文件 Keys.h 第 190 行定义.

参考自 YSLib::UI::GUIState::UpdateChar().

union _vA ::IntegerType platform::RGBA

初始值:
{
using Trait = XYZATrait<_vR, _vG, _vB, _vA>

在文件 Video.h 第 142 行定义.

std::size_t size platform::ynothrow

在文件 YCLib/FileSystem.h 第 256 行定义.

参考自 ImplRet().