YSTest: 待办事项列表

YSTest PreAlpha_b900_20201012 The YSLib Test Project

待办事项列表

成员 NPL::A1::GuardPasses
  支持迭代使用旧值。
类 YSLib::Drawing::HMultiBitmap
  增加使用 ImageMemory 的构造函数。
成员 platform::Concurrency::atomic
  包装基本类型。
成员 platform::KeyCodes::ToggleLockState (KeyIndex) ynothrow
  Android 实现。
成员 platform::KeyCodes::FetchLockState (KeyIndex) ynothrow
  Android 实现。
成员 platform::PDefH (char, MapKeyChar, KeyIndex) ynothrow ImplRet(
  Android 实现。
成员 platform::FindNextKey (const KeyInput &, KeyIndex) ynothrow
  支持 libstdc++ 以外的实现。
成员 platform::FindFirstKey (const KeyInput &) ynothrow
  支持 libstdc++ 以外的实现。
成员 platform::YCL_DefPlatformFwdTmpl (FetchRootPathLength, FetchRootPathLength_P) template< class _tString > YB_ATTR_nodiscard YB_PURE yconstfn bool EndsWithNonSeperator_P(IDTagBase tag
  支持字符指针。
成员 platform::YCL_DefPlatformFwdTmpl (IsSeparator, IsSeparator_P) template< typename _tChar > YB_ATTR_nodiscard YB_PURE YB_NONNULL(2) inline bool IsAbsolute_P(IDTag< YF_Platform_DS > tag

  支持非 POSIX 文件路径特化。

  支持非 Win32 文件路径特化。

类 std::hash< ystdex::basic_string< _tChar, _tTraits, ystdex::pmr::polymorphic_allocator< _tChar > > >
  在合适的 YBase.YStandardEx 头文件中扩展并使用 WG21 P1406R1 的解决方案。
成员 NPL::A1::Forms::Lambda (TermNode &, ContextNode &)
  优化捕获开销。
成员 NPL::A1::Forms::MakeEnvironment (TermNode &)
  使用专用的异常类型。
类 NPL::A1::Forms::UnaryExpansion< _func >
  使用 C++14 lambda 表达式代替。
成员 YSLib::StringifyToNode (_tString &&str, _tParams &&... args)
  对特定的已被 std::to_string 支持的类型使用更高效的字符串转换算法实现。
类 NPL::A1::Continuation
  支持一等续延捕获。
成员 NPL::ContextNode::AccessCurrentAs ()
  添加 const 重载。
成员 NPL::Environment::CheckParent (const ValueObject &)
  使用专用的异常类型。
成员 NPL::Environment::Environment (const ValueObject &vo, allocator_type a)
  使用专用的异常类型。
成员 NPL::SXML::ConvertDocumentNode (const TermNode &, IndentGenerator=DefaultGenerateIndent, size_t=0, ParseOption=ParseOption::Normal)
  支持 ENTITY 和 NAMESPACES 标签。
成员 NPL::PDefH (void, LiftMoved, TermNode &term, const TermReference &ref, bool move) ImplExpr(LiftTermOrCopy(term

  使用具体的语义错误异常类型。

  支持消亡值和复制。

类 NPL::ArityMismatch
  支持范围匹配。
类 NPL::ListReductionFailure
  捕获并保存上下文信息。
类 NPL::TypeError
  捕获并保存类型信息。
成员 NPL::c_str ())) YF_API void InstallDirectory(const string &
  设置 chmod +x 或 NTFS 可执行权限。
成员 NPL::YB_NONNULL (1, 2) void InstallFile(const char *
  检查可能存在于目标路径的旧项的权限；设置权限。
类 YSLib::DebugTimer
  使用符合约定的 protected 命名。
类 YSLib::Drawing::Shaders::GBlender< _tPixel, typename >
  变通或解决 GCC 偏特化顺序问题。
类 platform_ex::Windows::RegistryKey
  增加和实现创建和删除值等功能接口。
成员 platform_ex::Windows::CategorizeNode (FileAttributes, unsigned long=0) ynothrow
  对目录链接和符号链接的重解析标签提供适当实现。
成员 YSLib::UI::Desktop::Validate ()
  渲染器类型安全。
成员 YSLib::UI::TreeList::expanded

  除了重新绑定外，允许设置状态，避免修改子节点后的状态不一致。

  使用 trie 树优化。

类 YSLib::UI::TreeView
  实现 Resize 事件调整内容布局。
成员 YSLib::UI::TextBox::GetCaretPosition (const Point &) const
  AutoWrap 为 true 时判断行数。
成员 YSLib::UI::Caret::caret_animation
  使用 TLS 以保证指向动画对象的线程安全性。
类 YSLib::UI::TextBox
  支持多行模式的插入符光标移动、文本选中和插入。
成员 YSLib::UI::Menu::DefDelMoveCtor (Menu) ~Menu() override
  实现转移操作。
类 YSLib::UI::Menu
  允许表示非文本内容。
成员 YSLib::UI::InsertWidget (IWidget &wgt, _tParams &&... args)
  使用 ISO C++14 多态 lambda 表达式代替。
成员 YSLib::UI::CreateUniqueWidget (_tParams &&... args)
  使用 ISO C++14 多态 lambda 表达式代替。
类 YSLib::UI::ListBox
  实现 Resize 事件调整内容布局。
类 CHRLib::CharSet::EncodingTraits< Encoding >
  添加特化。
类 YSLib::Drawing::Shaders::GBlender< _tPixel, typename >
  支持浮点数。
成员 YSLib::Drawing::Shaders::CompositeComponent (_tDstInt d, _tSrcInt s, _tSrcAlphaInt sa, _tAlphaInt a)
  支持浮点数。
成员 YSLib::Drawing::Shaders::BlendComponent (_tDstInt d, _tSrcInt s, _tSrcAlphaInt sa)
  支持浮点数。
类 YSLib::Drawing::Shaders::GPixelCompositor< _vDstAlphaBits, _vSrcAlphaBits >
  支持推导返回类型。
成员 YSLib::Drawing::CopyLine< false >::operator() (_tOut &dst_iter, _tIn &src_iter, SDst delta_x) const

  增加对不支持前置 – 操作的迭代器的支持。

  平凡复制类型优化。

成员 YSLib::IO::ClassifyNode (const Path &)
  支持目录和常规文件外的其它类别。
类 YSLib::MIMEBiMapping
  使用 Boost.Bimap 类似接口简化实现。
成员 YSLib::Drawing::PrintChar (_tRenderer &rd, char32_t c)
  行的结尾位置计算和边距解除耦合。
类 YSLib::GMRange< _type >
  线程模型及安全性。
成员 YSLib::FatalError::content
  使用引用计数实现的字符串。
成员 YSLib::TraceExceptionType (const std::exception &, RecordLevel=Err) ynothrow
  处理类型名称。
成员 YSLib::GHEvent< _tRet(_tParams...)>::GHEvent (_type &obj, _tRet(_type::*pm)(_tParams...))
  支持相等构造。
类 YSLib::GHEvent< typename >
  允许使用特征定制目标的相等性。
类 ystdex::nodep::ordered_bitseg_traits< _tTraits, _vSeq >
  静态断言检查索引序列的其它性质。
成员 ystdex::details::transit_traits< _tIter, _fTrans, _tReference >::pointer
  测试 operator-> 并支持代理指针。
成员 ystdex::invoke_nonvoid (_fCallable &&f, _tParams &&... args)
  支持引用包装。
成员 ystdex::expanded_function< _tRet(_tParams...), _tBase >::expanded_function (_type &obj, _tRet(_type::*pm)(_tParams...))
  支持相等构造。
类 ystdex::expanded_caller< _fHandler, _fCaller >
  支持 const 以外的限定符和 ref-qualifier 。
类 ystdex::one_shot< _func, _tRes, _tState >

  优化 std::function 等可空类型的实现。

  复用静态断言。

  简化转移实现。

类 ystdex::make_widen_int< _type, _bSigned >
  使用扩展整数类型保持 64 位类型精度。
类 ystdex::make_width_int< _vWidth >
  允许不定义可选的具体整数类型。
成员 ystdex::byte_order
  使用单独的头文件。
成员 ystdex::replace_value (_tAssocCon &con, const _tKey &k, _func f) -> decltype(con.emplace_hint(con.erase(con.find(k)), f(*con.find(k))))
  支持没有 `emplace_hint` 成员的关联容器。
成员 ystdex::concat (_tCon &con, _tIn first, _tIn last)
  返回非 `void` 。
类 ystdex::task_pool
  允许调整队列大小限制。
成员 ystdex::general_cast (_tSrc *v)
  扩展接受右值引用参数。
类 ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >

  加入异常安全的复制构造函数和复制赋值操作符。

  支持其它刷新策略。

类 ystdex::multimap< typename, typename, typename, class >
  在其它头文件中提供实现。
类 ystdex::bitseg_iterator< _vN, _bEndian >
  支持 const byte* 实现的迭代器。
类 ystdex::bases::deref_self< _type >
  提供接口允许用户指定使用 ystdex::polymorphic_cast 等检查转换。
成员 ystdex::any_cast (any &x)
  检验特定实现环境（如使用动态库时）比较 std::type_info::name() 的必要性。
成员 ystdex::allocate_shared (const _tAlloc &alloc, _tParams &&... args)

  实现 WG21 P0674R1 。

  在 ISO C++20 出版后更新 __cplusplus 的值。

组 trivial_type_operations
  使用 `is_trivially_copyable` 代替 `is_trivial` 。
成员 ystdex::byte
  检查 maybe_unused 属性，允许时使用和标准库定义一致的形式。
成员 ythread
  加入 `__thread` 和 `__declspec(thread)` 。
成员 yfsig
  判断语言实现版本。
成员 yfname
  判断语言实现版本。
成员 yalignas (_expr)
  判断没有内建关键字支持时属性存在及没有属性支持时的其它情况。
成员 YB_API
  判断语言特性支持。
成员 YB_ATTR_returns_nonnull
  确认 Clang++ 最低可用的版本。
成员 YB_ATTR_novtable
  确认可忽略不支持情形的 Clang++ 最近可用的版本。
成员 ystdex::ston (const _tString &str, _tParams &&... args)

  支持 std::string 以外类型字符串。

  支持标准库以外的转换。

"

  支持字节序转换。

  支持字节序转换。

类 platform_ex::Android::InputQueue
  添加定制处理后是否转交的接口。
类 ystdex::vseq::_q< _func >
  支持没有 `apply` 成员的非元函数。
类 ystdex::call_once_init< _type, _tOnceFlag >

  使用支持 lambda pack 展开的实现构造模板。

  支持分配器。

类 ystdex::is_trivially_replaceable< _type, _tDst >
  使用 `is_trivially_copyable` 代替 is_trivial 。
类 ystdex::have_common_nonempty_virtual_base< _type1, _type2 >
  支持 final 类。
成员 ystdex::tuple_not_found (size_t(-1))
  重命名为 `variant_npos` ，转移到合适的头文件。
类 ystdex::basic_tstring_view< _tChar, _tTraits, _vTerm >
  实现一般非空字符作为结束字符的情形。
成员 ystdex::details::thunk_caller< _tRet, _fCallable >::thunk_caller (const value_type &arg)
  使用 ISO C++14 通用 lambda 表达式以支持转移构造，避免不必要的复制。
成员 ystdex::make_thunk (const _type &obj)
  使用 ISO C++14 返回值推导，直接以 lambda 表达式实现。
成员 ystdex::details::ends_with_iter_dispatch (_tFwd1 b, _tFwd1 e, _tFwd2 bt, _tFwd2 et, _fPred comp, std::bidirectional_iterator_tag)
  支持 std::forward_iterator_tag 重载。
类 ystdex::cpp2017::basic_string< _tChar, _tTraits, _tAlloc >
  支持 ISO C++20 API ，解决 LWG 3076 。
成员 yimpl (...)
  检查语言实现的必要支持：可变参数宏。
成员 ystdex::get_quote_mark_nonstrict (const _tString &str)

  检查非成员 `front` 和 back `。`

  支持前缀和后缀字符串。

  扩展到一般容器。

成员 ystdex::concat (_tString &str, size_t n)
  检查 reserve 。
成员 ystdex::exists_substr (const _tString &str, const _type &sub)
  添加序列容器子串重载版本；优化：避免构造子串对象。
类 ystdex::basic_membuf< _tChar, _tTraits >
  提供 setbuf 、uflow 和 showmanyc 等覆盖实现。
成员 ystdex::swap_guard

  支持分配器。

  支持有限的复制和转移。

类 ystdex::state_guard< _type, _tCond, _tToken >

  支持分配器。

  支持有限的复制和转移。

类 ystdex::void_ref
  右值引用版本。
类 std::common_type< ystdex::fixed_point< _tBase, _vInt, _vFrac >, _type >
  支持范围不小于定点数的可以转换为 std::double_t 的类型为公共类型。
类 ystdex::fixed_point< _tBase, _vInt, _vFrac >

  实现模除和位操作。

  根据范围禁止算术类型隐式转换。

命名空间 ystdex::single_thread
  添加 ISO C++1z 共享锁。
类 ystdex::pointer_iterator< _type >
  和 std::pointer_traits 交互。
类 ystdex::cpp2017::optional< _type >

  allocator_arg 支持。

  符合 WG21 N4700 要求的 explicit 重载。

成员 ystdex::dep_ops::operators
  实现调整选项。