YSTest  PreAlpha_b500_20140530
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
ystdex 命名空间参考

命名空间

 any_ops
 
 details
 
 examiners
 操作检测命名空间。
 
 iterator_transformation
 迭代转换操作。
 

struct  addable
 
struct  addable< _type, _type, _tBase, false >
 
struct  addable< _type, _type2, _tBase, true >
 
struct  additive
 
struct  additive< _type, _type, _tBase, false >
 
struct  additive< _type, _type2, _tBase, true >
 
struct  andable
 
struct  andable< _type, _type, _tBase, false >
 
struct  andable< _type, _type2, _tBase, true >
 
class  any
 基于类型擦除的动态泛型对象。 更多...
 
class  any_bidirectional_iterator
 动态泛型双向迭代器。 更多...
 
class  any_forward_iterator
 动态泛型前向迭代器。 更多...
 
class  any_input_iterator
 动态泛型输入迭代器。 更多...
 
struct  arithmetic
 
struct  arithmetic< _type, _type, _tBase, false >
 
struct  arithmetic< _type, _type2, _tBase, true >
 
struct  array_decay
 数组类型退化。 更多...
 
struct  array_ref_decay
 数组及数组引用类型退化。 更多...
 
struct  array_ref_decay< _type & >
 
struct  array_ref_decay< _type && >
 
class  bad_any_cast
 动态泛型转换失败异常。 更多...
 
class  bitseg_iterator
 位段迭代器。 更多...
 
struct  bitwise
 
struct  bitwise< _type, _type, _tBase, false >
 
struct  bitwise< _type, _type2, _tBase, true >
 
struct  boxed_value
 包装类类型的值的对象。 更多...
 
class  call_once_init
 使用 call_once 的静态初始化管理器。 更多...
 
struct  call_projection
 调用投影:向原调用传递序列指定的位置的参数。 更多...
 
struct  call_projection< _tRet(_tParams...), variadic_sequence< _vSeq...> >
 
struct  call_projection< std::function< _tRet(_tParams...)>, variadic_sequence< _vSeq...> >
 
class  cloneable
 可动态复制的抽象基类。 更多...
 
struct  combined_hash
 使用 std::hash 和 ystdex::hash_combine_seq 实现的对特定类型的散列。 更多...
 
struct  combined_hash< _type >
 
struct  combined_hash< std::pair< _type1, _type2 > >
 
struct  combined_hash< std::tuple< _types...> >
 
struct  const_deref_op
 const 引用仿函数。 更多...
 
class  container_adaptor
 容器适配器。 更多...
 
class  container_inserter
 容器插入函数对象。 更多...
 
struct  delta_assignment
 编译期选择加法/减法复合赋值运算仿函数。 更多...
 
struct  delta_assignment< false, _tScalar1, _tScalar2 >
 
struct  deref_comp
 间接访问比较仿函数。 更多...
 
struct  deref_op
 引用仿函数。 更多...
 
struct  deref_str_comp
 间接访问字符串比较仿函数。 更多...
 
struct  dividable
 
struct  dividable< _type, _type, _tBase, false >
 
struct  dividable< _type, _type2, _tBase, true >
 
struct  empty_base
 空基类模板。 更多...
 
struct  equality_comparable
 
struct  equality_comparable< _type, _type, _tBase, false >
 
struct  equality_comparable< _type, _type2, _tBase, true >
 
struct  equivalent
 
struct  equivalent< _type, _type, _tBase, false >
 
struct  equivalent< _type, _type2, _tBase, true >
 
struct  euclidean_ring_operators
 
struct  euclidean_ring_operators< _type, _type, _tBase, false >
 
struct  euclidean_ring_operators< _type, _type2, _tBase, true >
 
struct  expanded_caller
 接受冗余参数的可调用对象。 更多...
 
struct  field_operators
 
struct  field_operators< _type, _type, _tBase, false >
 
struct  field_operators< _type, _type2, _tBase, true >
 
class  file_path_norm
 文件路径范式。 更多...
 
class  file_path_norm< std::basic_string< _tChar, _tAlloc > >
 文件字符串路径范式。 更多...
 
struct  fixed_multiplicative
 定点数乘除法中间类型。 更多...
 
struct  fixed_multiplicative< std::int64_t >
 
struct  fixed_multiplicative< std::uint64_t >
 
class  fixed_point
 通用定点数。 更多...
 
struct  has_common_nonempty_virtual_base
 判断指定的两个类类型是否有非空虚基类。 更多...
 
struct  has_equality_operator
 判断是否存在合式的结果可转换为 bool 类型的 == 操作符接受指定类型的表达式。 更多...
 
struct  has_mem_value
 判断 _type 是否包含 value 成员。 更多...
 
struct  has_nonempty_virtual_base
 判断指定类型是否有非空虚基类。 更多...
 
struct  has_subscription
 判断是否存在合式的结果为非 void 类型的 [] 操作符接受指定类型的表达式。 更多...
 
struct  have_same_modulo
 判断两个类型是否具有相同的模值。 更多...
 
struct  identity
 恒等元函数。 更多...
 
class  ifile_iterator
 基于 ISO C 标准库的流只读迭代器。 更多...
 
class  indirect_input_iterator
 间接输入迭代器。 更多...
 
struct  indirect_tag
 
struct  integer_arithmetic
 
struct  integer_arithmetic< _type, _type, _tBase, false >
 
struct  integer_arithmetic< _type, _type2, _tBase, true >
 
struct  integer_multiplicative
 
struct  integer_multiplicative< _type, _type, _tBase, false >
 
struct  integer_multiplicative< _type, _type2, _tBase, true >
 
struct  integer_width
 取指定整数类型的位宽度。 更多...
 
struct  is_chained_base
 
struct  is_chained_base< addable1< _type, _tBase > >
 
struct  is_chained_base< addable2< _type, _type2, _tBase > >
 
struct  is_chained_base< addable< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< additive1< _type, _tBase > >
 
struct  is_chained_base< additive2< _type, _type2, _tBase > >
 
struct  is_chained_base< additive< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< andable1< _type, _tBase > >
 
struct  is_chained_base< andable2< _type, _type2, _tBase > >
 
struct  is_chained_base< andable< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< arithmetic1< _type, _tBase > >
 
struct  is_chained_base< arithmetic2< _type, _type2, _tBase > >
 
struct  is_chained_base< arithmetic< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< bidirectional_iteratable< _type, _tBase > >
 
struct  is_chained_base< bitwise1< _type, _tBase > >
 
struct  is_chained_base< bitwise2< _type, _type2, _tBase > >
 
struct  is_chained_base< bitwise< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< decrementable< _type, _tBase > >
 
struct  is_chained_base< dereferenceable< _type, _tBase > >
 
struct  is_chained_base< dividable1< _type, _tBase > >
 
struct  is_chained_base< dividable2< _type, _type2, _tBase > >
 
struct  is_chained_base< dividable2_left< _type, _type2, _tBase > >
 
struct  is_chained_base< dividable< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< equality_comparable1< _type, _tBase > >
 
struct  is_chained_base< equality_comparable2< _type, _type2, _tBase > >
 
struct  is_chained_base< equality_comparable< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< equivalent1< _type, _tBase > >
 
struct  is_chained_base< equivalent2< _type, _type2, _tBase > >
 
struct  is_chained_base< equivalent< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< euclidean_ring_operators1< _type, _tBase > >
 
struct  is_chained_base< euclidean_ring_operators2< _type, _type2, _tBase > >
 
struct  is_chained_base< euclidean_ring_operators< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< field_operators1< _type, _tBase > >
 
struct  is_chained_base< field_operators2< _type, _type2, _tBase > >
 
struct  is_chained_base< field_operators< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< forward_iteratable< _type, _tBase > >
 
struct  is_chained_base< incrementable< _type, _tBase > >
 
struct  is_chained_base< indexable< _type, _type2, _tBase > >
 
struct  is_chained_base< input_iteratable< _type, _tBase > >
 
struct  is_chained_base< integer_arithmetic1< _type, _tBase > >
 
struct  is_chained_base< integer_arithmetic2< _type, _type2, _tBase > >
 
struct  is_chained_base< integer_arithmetic< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< integer_multiplicative1< _type, _tBase > >
 
struct  is_chained_base< integer_multiplicative2< _type, _type2, _tBase > >
 
struct  is_chained_base< integer_multiplicative< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< left_shiftable1< _type, _tBase > >
 
struct  is_chained_base< left_shiftable2< _type, _type2, _tBase > >
 
struct  is_chained_base< left_shiftable< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< less_than_comparable1< _type, _tBase > >
 
struct  is_chained_base< less_than_comparable2< _type, _type2, _tBase > >
 
struct  is_chained_base< less_than_comparable< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< modable1< _type, _tBase > >
 
struct  is_chained_base< modable2< _type, _type2, _tBase > >
 
struct  is_chained_base< modable2_left< _type, _type2, _tBase > >
 
struct  is_chained_base< modable< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< multipliable1< _type, _tBase > >
 
struct  is_chained_base< multipliable2< _type, _type2, _tBase > >
 
struct  is_chained_base< multipliable< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< multiplicative1< _type, _tBase > >
 
struct  is_chained_base< multiplicative2< _type, _type2, _tBase > >
 
struct  is_chained_base< multiplicative< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< orable1< _type, _tBase > >
 
struct  is_chained_base< orable2< _type, _type2, _tBase > >
 
struct  is_chained_base< orable< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< ordered_euclidean_ring_operators1< _type, _tBase > >
 
struct  is_chained_base< ordered_euclidean_ring_operators2< _type, _type2, _tBase > >
 
struct  is_chained_base< ordered_euclidean_ring_operators< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< ordered_field_operators1< _type, _tBase > >
 
struct  is_chained_base< ordered_field_operators2< _type, _type2, _tBase > >
 
struct  is_chained_base< ordered_field_operators< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< ordered_ring_operators1< _type, _tBase > >
 
struct  is_chained_base< ordered_ring_operators2< _type, _type2, _tBase > >
 
struct  is_chained_base< ordered_ring_operators< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< output_iteratable< _type, _tBase > >
 
struct  is_chained_base< partially_ordered1< _type, _tBase > >
 
struct  is_chained_base< partially_ordered2< _type, _type2, _tBase > >
 
struct  is_chained_base< partially_ordered< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< random_access_iteratable< _type, _type2, _tBase > >
 
struct  is_chained_base< right_shiftable1< _type, _tBase > >
 
struct  is_chained_base< right_shiftable2< _type, _type2, _tBase > >
 
struct  is_chained_base< right_shiftable< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< ring_operators1< _type, _tBase > >
 
struct  is_chained_base< ring_operators2< _type, _type2, _tBase > >
 
struct  is_chained_base< ring_operators< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< shiftable1< _type, _tBase > >
 
struct  is_chained_base< shiftable2< _type, _type2, _tBase > >
 
struct  is_chained_base< shiftable< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< subtractable1< _type, _tBase > >
 
struct  is_chained_base< subtractable2< _type, _type2, _tBase > >
 
struct  is_chained_base< subtractable2_left< _type, _type2, _tBase > >
 
struct  is_chained_base< subtractable< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< totally_ordered1< _type, _tBase > >
 
struct  is_chained_base< totally_ordered2< _type, _type2, _tBase > >
 
struct  is_chained_base< totally_ordered< _type, _type2, _tBase, _b > >
 
struct  is_chained_base< unit_steppable< _type, _tBase > >
 
struct  is_chained_base< xorable1< _type, _tBase > >
 
struct  is_chained_base< xorable2< _type, _type2, _tBase > >
 
struct  is_chained_base< xorable< _type, _type2, _tBase, _b > >
 
struct  is_class_pointer
 判断指定类型是否是指向类类型对象的指针。 更多...
 
struct  is_contravariant
 判断指定类型之间是否逆变。 更多...
 
struct  is_contravariant< _tResFrom(_tFromParams...), _tResTo(_tToParams...)>
 
struct  is_contravariant< std::tuple< _tFroms...>, std::tuple< _tTos...> >
 
struct  is_covariant
 判断指定类型之间是否协变。 更多...
 
struct  is_covariant< _tFrom(_tFromParams...), _tTo(_tToParams...)>
 
struct  is_covariant< std::tuple< _tFroms...>, std::tuple< _tTos...> >
 
struct  is_decayable
 判断是否可被退化。 更多...
 
struct  is_equal
 相等关系仿函数。 更多...
 
struct  is_lvalue_class_reference
 判断指定类型是否是左值类类型引用。 更多...
 
struct  is_normalizable
 判断类型是否可满足归一化要求。 更多...
 
struct  is_normalizable< bool >
 
struct  is_normalizable< fixed_point< _tBase, _vInt, _vFrac > >
 is_normalizablefixed_point 特化类型。 更多...
 
struct  is_pod_struct
 判断指定类型是否是 POD struct 。 更多...
 
struct  is_pod_union
 判断指定类型是否是 POD union 。 更多...
 
struct  is_returnable
 判断指定类型是否可作为返回值类型。 更多...
 
struct  is_rvalue_class_reference
 判断指定类型是否是右值类类型引用。 更多...
 
struct  left_shiftable
 
struct  left_shiftable< _type, _type, _tBase, false >
 
struct  left_shiftable< _type, _type2, _tBase, true >
 
struct  less_than_comparable
 
struct  less_than_comparable< _type, _type, _tBase, false >
 
struct  less_than_comparable< _type, _type2, _tBase, true >
 
struct  make_natural_sequence
 取自然数变量标记序列。 更多...
 
struct  make_natural_sequence< 0 >
 
struct  make_parameter_tuple
 取参数列表元组。 更多...
 
struct  make_parameter_tuple< _tRet(&)(_tParams...)>
 
struct  make_parameter_tuple< _tRet(*)(_tParams...)>
 
struct  make_parameter_tuple< _tRet(_tClass::*)(_tParams...) const >
 
struct  make_parameter_tuple< _tRet(_tClass::*)(_tParams...) const volatile >
 
struct  make_parameter_tuple< _tRet(_tClass::*)(_tParams...) volatile >
 
struct  make_parameter_tuple< _tRet(_tClass::*)(_tParams...)>
 
struct  make_parameter_tuple< _tRet(_tParams...)>
 
struct  make_parameter_tuple< std::function< _tRet(_tParams...)> >
 
struct  make_signed_c
 取指定整数类型和条件表达式对应的有符号或无符号整数类型。 更多...
 
struct  make_signed_c< _type, false >
 
struct  make_successor
 取整数序列的自然数后继。 更多...
 
struct  make_successor< variadic_sequence< _vSeq...> >
 
struct  make_width_int
 取按指定宽度的整数类型。 更多...
 
struct  make_width_int< 16U >
 
struct  make_width_int< 32U >
 
struct  make_width_int< 64U >
 
struct  make_width_int< 8U >
 
class  mixin
 
struct  modable
 
struct  modable< _type, _type, _tBase, false >
 
struct  modable< _type, _type2, _tBase, true >
 
struct  modular_arithmetic
 模算术特性:取得不超过模值的最大值。 更多...
 
struct  modular_arithmetic< fixed_point< _tBase, _vInt, _vFrac > >
 modular_arithmeticfixed_point 特化类型。 更多...
 
struct  multipliable
 
struct  multipliable< _type, _type, _tBase, false >
 
struct  multipliable< _type, _type2, _tBase, true >
 
struct  multiplicative
 
struct  multiplicative< _type, _type, _tBase, false >
 
struct  multiplicative< _type, _type2, _tBase, true >
 
struct  n_tag
 自然数标记。 更多...
 
struct  n_tag< 0 >
 
class  nifty_counter
 使用引用计数的静态初始化管理器。 更多...
 
union  non_aggregate_pod
 
class  noncopyable
 不可复制对象:禁止派生类调用默认原型的复制构造函数和复制赋值操作符。 更多...
 
class  nonmovable
 
struct  normalized_max
 取算术类型的正规化后的最大值。 更多...
 
struct  normalized_max< _type, _vNum, _vDen, false >
 
struct  normalized_max< _type, _vNum, _vDen, true >
 
class  nullptr_t
 空指针类。 更多...
 
class  offsetof_check
 成员偏移计算静态类型检查。 更多...
 
struct  operators
 
struct  operators2
 
struct  operators< _type, _type >
 
struct  orable
 
struct  orable< _type, _type, _tBase, false >
 
struct  orable< _type, _type2, _tBase, true >
 
struct  ordered_euclidean_ring_operators
 
struct  ordered_euclidean_ring_operators< _type, _type, _tBase, false >
 
struct  ordered_euclidean_ring_operators< _type, _type2, _tBase, true >
 
struct  ordered_field_operators
 
struct  ordered_field_operators< _type, _type, _tBase, false >
 
struct  ordered_field_operators< _type, _type2, _tBase, true >
 
struct  ordered_ring_operators
 
struct  ordered_ring_operators< _type, _type, _tBase, false >
 
struct  ordered_ring_operators< _type, _type2, _tBase, true >
 
class  pair_iterator
 成对迭代器。 更多...
 
struct  parameter_of
 取指定索引的参数类型。 更多...
 
struct  paramlist_size
 取参数列表大小。 更多...
 
struct  partially_ordered
 
struct  partially_ordered< _type, _type, _tBase, false >
 
struct  partially_ordered< _type, _type2, _tBase, true >
 
class  path
 一般路径模板。 更多...
 
class  path_norm
 路径范式。 更多...
 
union  pod_storage
 
struct  pointer_classify
 指针包装为类类型迭代器。 更多...
 
struct  pointer_classify< _type * >
 
class  pointer_iterator
 指针迭代器。 更多...
 
class  pseudo_iterator
 伪迭代器。 更多...
 
struct  pseudo_output
 伪输出对象。 更多...
 
struct  qualified_decay
 保持修饰符的类型退化。 更多...
 
struct  ref_eq
 引用相等关系仿函数。 更多...
 
struct  remove_rcv
 移除可能被 cv-qualifier 修饰的引用类型。 更多...
 
struct  remove_rp
 移除指针和引用类型。 更多...
 
struct  remove_rpcv
 移除可能被 cv-qualifier 修饰的引用和指针类型。 更多...
 
struct  return_of
 取返回类型。 更多...
 
struct  return_of< _tRet(&)(_tParams...)>
 
struct  return_of< _tRet(*)(_tParams...)>
 
struct  return_of< _tRet(_tClass::*)(_tParams...) const >
 
struct  return_of< _tRet(_tClass::*)(_tParams...) const volatile >
 
struct  return_of< _tRet(_tClass::*)(_tParams...) volatile >
 
struct  return_of< _tRet(_tClass::*)(_tParams...)>
 
struct  return_of< _tRet(_tParams...)>
 
struct  return_of< std::function< _tRet(_tParams...)> >
 
struct  right_shiftable
 
struct  right_shiftable< _type, _type, _tBase, false >
 
struct  right_shiftable< _type, _type2, _tBase, true >
 
struct  ring_operators
 
struct  ring_operators< _type, _type, _tBase, false >
 
struct  ring_operators< _type, _type2, _tBase, true >
 
struct  sequence_cat
 合并序列。 更多...
 
struct  sequence_cat< std::tuple< _types1...>, std::tuple< _types2...> >
 
struct  sequence_cat< variadic_sequence< _vSeq1...>, variadic_sequence< _vSeq2...> >
 
class  sequence_container_adaptor
 序列容器适配器。 更多...
 
struct  sequence_element
 取序列元素。 更多...
 
struct  sequence_element< 0, variadic_sequence< _vSeq...> >
 
struct  sequence_element< _vIdx, std::tuple< _types...> >
 
struct  sequence_element< _vIdx, variadic_sequence< _vSeq...> >
 
struct  sequence_project
 投影操作。 更多...
 
struct  sequence_project< std::tuple< _types...>, variadic_sequence< _vIdxSeq...> >
 
struct  sequence_project< variadic_sequence< _vSeq...>, variadic_sequence< _vIdxSeq...> >
 
struct  sequence_reverse
 取逆序列。 更多...
 
struct  sequence_reverse< std::tuple< _types...> >
 
struct  sequence_reverse< variadic_sequence< _vSeq...> >
 
struct  sequence_reverse< variadic_sequence<> >
 
struct  sequence_split
 拆分序列。 更多...
 
struct  sequence_split< std::tuple< _tHead, _tTail...> >
 
struct  sequence_split< variadic_sequence< _vHead, _vTail...> >
 
struct  shiftable
 
struct  shiftable< _type, _type, _tBase, false >
 
struct  shiftable< _type, _type2, _tBase, true >
 
struct  string_traits
 字符串特征。 更多...
 
class  subscriptive_iterator
 成员下标迭代器。 更多...
 
struct  subtractable
 
struct  subtractable< _type, _type, _tBase, false >
 
struct  subtractable< _type, _type2, _tBase, true >
 
struct  totally_ordered
 
struct  totally_ordered< _type, _type, _tBase, false >
 
struct  totally_ordered< _type, _type2, _tBase, true >
 
class  transformed_iterator
 转换迭代器。 更多...
 
class  unimplemented
 异常:未实现的操作。 更多...
 
class  unsupported
 异常:不支持的操作。 更多...
 
struct  variadic_param
 变长参数操作模板。 更多...
 
struct  variadic_param< 0U >
 
struct  variadic_sequence
 变长参数标记的整数序列。 更多...
 
class  void_ref
 任意对象引用类型。 更多...
 
struct  wrapped_traits
 取 std::reference_wrapper 实例特征。 更多...
 
struct  wrapped_traits< std::reference_wrapper< _tWrapped > >
 
struct  xcrease_t
 编译期选择自增/自减运算仿函数。 更多...
 
struct  xcrease_t< false, _tScalar >
 
struct  xorable
 
struct  xorable< _type, _type, _tBase, false >
 
struct  xorable< _type, _type2, _tBase, true >
 

类型定义

using byte = unsigned char
 字节类型。 更多...
 
using octet = void
 
using errno_t = int
 
using raw_tag = empty_base<>
 直接构造类型(直接构造重载用)。 更多...
 
using input_monomorphic_iterator = any_input_iterator< void_ref, ptrdiff_t, void *, void_ref >
 
template<typename _tParam , typename = std::pair< decltype(*std::declval<_tParam&>()), decltype(++std::declval<_tParam&>())>>
using enable_for_iterator_t = enable_if_t< is_same< decltype(++std::declval< _tParam & >()), _tParam & >::value, int >
 选择迭代器类型的特定重载避免和其它类型冲突。 更多...
 
template<typename _tParam , typename = decltype(std::declval<_tParam>()[0])>
using enable_for_string_class_t = enable_if_t< is_class< decay_t< _tParam >>::value, int >
 选择字符串类类型的特定重载避免和其它非字符串类型冲突。 更多...
 
template<size_t _vIdx, typename _type >
using tuple_element_t = typename std::tuple_element< _vIdx, _type >::type
 
template<typename _type >
using remove_const_t = typename remove_const< _type >::type
 ISO C++ 1y 兼容类型操作别名。 更多...
 
template<typename _type >
using remove_volatile_t = typename remove_volatile< _type >::type
 
template<typename _type >
using remove_cv_t = typename remove_cv< _type >::type
 
template<typename _type >
using add_const_t = typename add_const< _type >::type
 
template<typename _type >
using add_volatile_t = typename add_volatile< _type >::type
 
template<typename _type >
using add_cv_t = typename add_cv< _type >::type
 
template<typename _type >
using remove_reference_t = typename remove_reference< _type >::type
 
template<typename _type >
using add_lvalue_reference_t = typename add_lvalue_reference< _type >::type
 
template<typename _type >
using add_rvalue_reference_t = typename add_rvalue_reference< _type >::type
 
template<typename _type >
using make_signed_t = typename make_signed< _type >::type
 
template<typename _type >
using make_unsigned_t = typename make_unsigned< _type >::type
 
template<typename _type >
using remove_extent_t = typename remove_extent< _type >::type
 
template<typename _type >
using remove_all_extents_t = typename remove_all_extents< _type >::type
 
template<typename _type >
using remove_pointer_t = typename remove_pointer< _type >::type
 
template<typename _type >
using add_pointer_t = typename add_pointer< _type >::type
 
template<size_t _vLen, size_t _vAlign = std::alignment_of< typename aligned_storage<_vLen>::type >::value>
using aligned_storage_t = typename aligned_storage< _vLen, _vAlign >::type
 
template<class _tClass , typename _tParam , typename _type = int>
using exclude_self_ctor_t = enable_if_t<!is_same< _tClass &, remove_rcv_t< _tParam > & >::value, _type >
 移除选择类类型的特定重载避免构造模板和复制/转移构造函数冲突。 更多...
 
using first_tag = n_tag< 0 >
 第一分量标记。 更多...
 
using second_tag = n_tag< 1 >
 第二分量标记。 更多...
 
template<typename _type >
using classify_value_t = conditional_t< std::is_class< _type >::value, _type, boxed_value< _type >>
 包装非类类型为类类型。 更多...
 
template<class _tSeq >
using sequence_split_t = typename sequence_split< _tSeq >::type
 
template<typename _fCallable >
using make_parameter_tuple_t = typename make_parameter_tuple< _fCallable >::type
 
template<typename _fCallable >
using return_of_t = typename return_of< _fCallable >::type
 
template<size_t _vIdx, typename _fCallable >
using parameter_of_t = typename parameter_of< _vIdx, _fCallable >::type
 
template<typename... _types>
using wrap_mixin_t = typename details::wrap_mixin_helper< make_natural_sequence_t< sizeof...(_types)>, std::tuple< _types...>>::type
 包装为混入类。 更多...
 
template<typename _type >
using decay_t = typename decay< _type >::type
 
template<bool _bCond, typename _type = void>
using enable_if_t = typename enable_if< _bCond, _type >::type
 
template<bool _bCond, typename _type , typename _type2 >
using conditional_t = typename conditional< _bCond, _type, _type2 >::type
 
template<typename... _types>
using common_type_t = typename common_type< _types...>::type
 
template<typename _type >
using underlying_type_t = typename underlying_type< _type >::type
 
template<typename _type >
using result_of_t = typename result_of< _type >::type
 
template<typename _type >
using remove_rcv_t = typename remove_rcv< _type >::type
 
template<class _tSeq1 , class _tSeq2 >
using sequence_cat_t = typename sequence_cat< _tSeq1, _tSeq2 >::type
 
template<size_t _vIdx, class _tSeq >
using sequence_element_t = typename sequence_element< _vIdx, _tSeq >::type
 
template<class _tSeq , class _tIdxSeq >
using sequence_project_t = typename sequence_project< _tSeq, _tIdxSeq >::type
 
template<class _tSeq >
using sequence_reverse_t = typename sequence_reverse< _tSeq >::type
 
template<class _tSeq >
using make_successor_t = typename make_successor< _tSeq >::type
 
template<size_t _vN>
using make_natural_sequence_t = typename make_natural_sequence< _vN >::type
 

函数

template<typename _type , typename... _tParams>
auto unsequenced (_type &&arg, _tParams &&...) -> decltype(std::forward< decltype(arg)>(arg))
 无序列依赖表达式组求值实现。 更多...
 
template<class _type >
_type * pod_fill (_type *first, _type *last, const _type &value)
 
template<class _type >
_type * pod_copy_n (const _type *first, size_t n, _type *result)
 
template<class _type >
_type * pod_copy (const _type *first, const _type *last, _type *result)
 
template<class _type >
_type * pod_move_n (const _type *first, size_t n, _type *result)
 
template<class _type >
_type * pod_move (const _type *first, const _type *last, _type *result)
 
template<typename _tFwd >
_tFwd stable_range_unique (_tFwd first, _tFwd last)
 去除迭代器指定的范围中的重复元素,且不改变元素之间的相对顺序。 更多...
 
void swap (any &x, any &y)
 交换对象。 更多...
 
void yassert (bool, const char *, const char *, int, const char *)
 YBase 默认断言函数。 更多...
 
template<typename _tDst , typename _tSrc >
_tDst union_cast (_tSrc x)
 使用匿名联合体进行的类型转换。 更多...
 
template<typename _tDst , typename... _tSrc>
std::initializer_list< _tDst > initializer_cast (_tSrc &&...x)
 初值符列表转换。 更多...
 
template<typename _pDst , class _tSrc >
_pDst polymorphic_cast (_tSrc *x)
 多态类指针类型转换。 更多...
 
template<typename _tCon , typename... _tParams>
void seq_insert (_tCon &c, _tParams &&...args)
 顺序插入值至指定容器。 更多...
 
template<class _tCon , typename _tKey >
bool exists (const _tCon &con, const _tKey &key)
 判断指定的容器中存在指定的键。 更多...
 
template<typename _tRange >
void erase_all (_tRange &c, const typename _tRange::value_type &val)
 删除指定序列范围中和指定值的相等的元素。 更多...
 
template<typename _tCon , typename _tFwd , typename _tValue >
void erase_all (_tCon &c, _tFwd first, _tFwd last, const _tValue &value)
 删除指定容器中迭代器区间中和指定值的相等的元素。 更多...
 
template<typename _tRange , typename _fPred >
void erase_all_if (_tRange &c, _fPred pred)
 删除指定序列范围中满足条件的元素。 更多...
 
template<typename _tCon , typename _tFwd , typename _fPred >
void erase_all_if (_tCon &c, _tFwd first, _tFwd last, _fPred pred)
 删除指定容器中迭代器区间中满足条件的元素。 更多...
 
template<typename _tRandom >
_tRandom sort_unique (_tRandom first, _tRandom last)
 排序指定序列范围,保留不重复元素的区间。 更多...
 
template<class _tCon >
void sort_unique (_tCon &c)
 排序指定容器,保留不重复元素。 更多...
 
template<class _tMap >
std::pair< typename
_tMap::iterator, bool > 
search_map (_tMap &m, const typename _tMap::key_type &k)
 按指定键值搜索指定映射。 更多...
 
template<typename _type , typename... _tParams>
std::array< _type, sizeof...(_tParams)> make_array (_tParams &&...args)
 取指定参数初始化的 std::array 对象。 更多...
 
template<typename _type , typename... _tParams>
std::array< _type, sizeof...(_tParams)> forward_as_array (_tParams &&...args)
 取指定参数转移至 std::array 对象。 更多...
 
bool fexists (const char *)
 判断指定路径的文件是否存在。 更多...
 
const char * openmode_conv (std::ios_base::openmode)
 
std::ios_base::openmode openmode_conv (const char *)
 
bool operator!= (const ifile_iterator &x, const ifile_iterator &y)
 
bool is_undereferenceable (const ifile_iterator &i)
 判断 ifile_iterator 实例是否确定为不可解引用。 更多...
 
size_t strlen_n (const char *)
 带空指针检查的字符串长度计算。 更多...
 
char * strcpy_n (char *, const char *)
 带空指针检查的字符串复制。 更多...
 
char * strcpycat (char *, const char *, const char *)
 带空指针检查的字符串连接。 更多...
 
char * strcatdup (const char *, const char *, void *(*)(size_t)=std::malloc)
 带空指针检查的字符串连接复制。 更多...
 
template<typename _tChar >
bool is_null (_tChar c)
 使用 std::char_traits::eq 判断是否为空字符。 更多...
 
template<typename _tChar >
size_t ntctslen (const _tChar *s)
 计算简单 NTCTS 长度。 更多...
 
template<typename _tChar >
std::char_traits< _tChar >
::int_type 
ntctscmp (const _tChar *s1, const _tChar *s2)
 按字典序比较简单 NTCTS 。 更多...
 
template<typename _tChar >
std::char_traits< _tChar >
::int_type 
ntctsicmp (const _tChar *s1, const _tChar *s2)
 按字典序比较简单 NTCTS (忽略大小写)。 更多...
 
template<typename _tChar >
size_t const_ntctslen (const _tChar *s)
 计算简单 NTCTS 长度。 更多...
 
template<typename _tChar >
size_t const_ntctscnt (const _tChar *s, _tChar c)
 计算简单 NTCTS 中的指定字符数。 更多...
 
template<typename _tChar >
std::char_traits< _tChar >
::int_type 
const_ntctscmp (const _tChar *s1, const _tChar *s2)
 比较简单 NTCTS 。 更多...
 
template<typename _tChar >
std::char_traits< _tChar >
::int_type 
const_ntctscmp (const _tChar *s1, const _tChar *s2, size_t n)
 比较限制长度上限的简单 NTCTS 。 更多...
 
template<typename _tChar >
size_t const_ntctschr (const _tChar *s, _tChar c)
 在简单 NTCTS 中顺序查找指定字符。 更多...
 
template<typename _tChar >
size_t const_ntctschrn (const _tChar *s, _tChar c, size_t n)
 在简单 NTCTS 中顺序查找第指定次数出现的指定字符。 更多...
 
template<typename _tChar >
size_t const_ntctsstr (const _tChar *s1, const _tChar *s2)
 在简单 NTCTS 中顺序查找作为子串的指定 NTCTS 。 更多...
 
template<typename... _tParams>
size_t sizeof_params (_tParams &&...)
 统计函数参数列表中的参数个数。 更多...
 
template<size_t _vN, typename... _tParams>
const auto varg (_tParams &&...args) -> decltype(variadic_param< _vN >::get(std::forward< decltype(args)>(args)...))
 取指定位置的变长参数。 更多...
 
template<typename _fCallable , typename... _tParams>
void unseq_apply (_fCallable &&f, _tParams &&...args)
 无序调用。 更多...
 
template<typename _fHandler , typename _fCallable >
expanded_caller< _fHandler,
decay_t< _fCallable > > 
make_expanded (_fCallable &&f)
 构造接受冗余参数的可调用对象。 更多...
 
template<typename _type >
void hash_combine (size_t &seed, const _type &val)
 重复计算散列。 更多...
 
template<bool _bIsPositive, typename _tScalar >
_tScalar & xcrease (_tScalar &_x)
 编译期选择自增/自减运算。 更多...
 
template<bool _bIsPositive, typename _tScalar1 , typename _tScalar2 >
_tScalar1 & delta_assign (_tScalar1 &_x, _tScalar2 &_y)
 编译期选择加法/减法复合赋值运算。 更多...
 
template<typename _tIterator >
bool is_undereferenceable (const _tIterator &)
 
template<typename _type >
bool is_undereferenceable (_type *p)
 
template<typename _tIterator1 , typename _tIterator2 >
auto make_move_iterator_pair (_tIterator1 it1, _tIterator2 it2) -> decltype(std::make_pair(std::make_move_iterator(it1), std::make_move_iterator(it2)))
 取转移迭代器对。 更多...
 
template<typename _tRange >
auto make_move_iterator_pair (_tRange &c) -> decltype(ystdex::make_move_iterator_pair(begin(c), end(c)))
 取指定序列范围(包含序列容器及内建数组等)的转移迭代器对。 更多...
 
template<typename _tIterator >
auto operator| (_tIterator &&i, first_tag) -> decltype(make_transform(std::forward< decltype(i)>(i), iterator_transformation::first< typename array_ref_decay< _tIterator >::type >))
 管道匹配操作符。 更多...
 
template<typename _tIterator >
auto operator| (_tIterator &&i, second_tag) -> decltype(make_transform(std::forward< decltype(i)>(i), iterator_transformation::second< typename array_ref_decay< _tIterator >::type >))
 
template<typename _tIterator >
auto operator| (_tIterator &&i, indirect_tag) -> decltype(make_transform(std::forward< decltype(i)>(i), iterator_transformation::indirect< typename array_ref_decay< _tIterator >::type >))
 
template<typename _type >
_type * get_raw (_type *const &p)
 
template<typename _type >
auto get_raw (const std::unique_ptr< _type > &p) -> decltype(p.get())
 
template<typename _type >
_type * get_raw (const std::shared_ptr< _type > &p)
 
template<typename _type >
_type * get_raw (const std::weak_ptr< _type > &p)
 
template<typename _type >
bool reset (std::unique_ptr< _type > &p)
 
template<typename _type >
bool reset (std::shared_ptr< _type > &p)
 
template<typename _type , typename _pSrc >
std::unique_ptr< _type > unique_raw (const _pSrc &p)
 
template<typename _type , typename _pSrc >
std::unique_ptr< _type > unique_raw (_pSrc &&p)
 
template<typename _type >
std::unique_ptr< _type > unique_raw (_type *p)
 
template<typename _type >
std::unique_ptr< _type > unique_raw (nullptr_t)
 
template<typename _type , typename _pSrc >
std::shared_ptr< _type > share_raw (const _pSrc &p)
 
template<typename _type , typename _pSrc >
std::shared_ptr< _type > share_raw (_pSrc &&p)
 
template<typename _type >
std::shared_ptr< _type > share_raw (_type *p)
 
template<typename _type >
std::shared_ptr< _type > share_raw (nullptr_t)
 
template<typename _type , typename... _tParams>
std::shared_ptr< _type > make_shared (_tParams &&...args)
 使用 new 和指定参数构造指定类型的 std::shared_ptr 实例。 更多...
 
template<typename _tChar >
size_t string_length (const _tChar *str)
 计算字符串长度。 更多...
 
template<class _tString , typename = enable_if_t<is_class<_tString>::value, int>>
size_t string_length (const _tString &str)
 
template<class _tString >
_tString alph (_tString &str)
 取字母表:有序的字符串的不重复序列。 更多...
 
template<class _tString >
void concat (_tString &str, size_t n)
 重复串接。 更多...
 
template<typename _fPred , typename _fInsert , typename _tIn >
void split (_tIn b, _tIn e, _fPred is_delim, _fInsert insert)
 以指定字符分割字符序列。 更多...
 
template<typename _fPred , typename _fInsert , typename _tRange >
void split (_tRange &&c, _fPred is_delim, _fInsert insert)
 以指定字符分割范围指定的字符串。 更多...
 
template<typename _fPred , typename _fInsert , typename _tIn >
_tIn split_l (_tIn b, _tIn e, _fPred is_delim, _fInsert insert)
 以指定字符分割字符序列。 更多...
 
template<typename _fPred , typename _fInsert , typename _tRange >
void split_l (_tRange &&c, _fPred is_delim, _fInsert insert)
 以指定字符分割范围指定的字符串。 更多...
 
template<typename _tChar >
std::basic_string< _tChar > vsfmt (const _tChar *fmt, std::va_list args)
 以 C 标准输出格式的输出 std::basic_string 实例的对象。 更多...
 
template<typename _tChar >
std::basic_string< _tChar > sfmt (const _tChar *fmt,...)
 以 C 标准输出格式的输出 std::basic_string 实例的对象。 更多...
 
template std::string sfmt< char > (const char *,...)
 显式实例化:以 C 标准输出格式的输出 std::string 对象。 更多...
 
template<typename _type >
decay_t< _type > decay_copy (_type &&arg)
 退化复制。 更多...
 
template<typename _type >
qualified_decay< _type >::type decay_forward (_type &&arg)
 退化传递。 更多...
 
template<typename _fCallable , typename... _tParams>
void call_once (bool &b, _fCallable &&f, _tParams &&...args)
 按标识调用函数,保证调用一次。 更多...
 
template<typename _type , typename , typename... >
_type & parameterize_static_object ()
 类型参数化静态对象。 更多...
 
template<typename _type , size_t... >
_type & parameterize_static_object ()
 非类型参数化静态对象。 更多...
 
template<typename _tKey , typename... _tKeys, typename _fInit , typename... _tParams>
auto get_init (_fInit &&f, _tParams &&...args) -> decltype(f(std::forward< decltype(args)>(args)...))&
 取类型标识和初始化调用指定的对象。 更多...
 
template<size_t... _vKeys, typename _fInit , typename... _tParams>
auto get_init (_fInit &&f, _tParams &&...args) -> decltype(f(std::forward< decltype(args)>(args)...))&
 取非类型标识和初始化调用指定的对象。 更多...
 
char * strcatdup (const char *s1, const char *s2, void *(*fun)(size_t))
 
template<typename _type >
bool operator== (nullptr_t lhs, const _type &rhs)
 
template<typename _type >
bool operator== (const _type &lhs, nullptr_t rhs)
 
template<typename _type >
bool operator!= (nullptr_t lhs, const _type &rhs)
 
template<typename _type >
bool operator!= (const _type &lhs, nullptr_t rhs)
 
template<typename _type , typename _tDifference , typename _tPointer , typename _tReference >
bool operator== (const any_input_iterator< _type, _tDifference, _tPointer, _tReference > &x, const any_input_iterator< _type, _tDifference, _tPointer, _tReference > &y)
 
template<typename _type , typename _tDifference , typename _tPointer , typename _tReference >
bool operator!= (const any_input_iterator< _type, _tDifference, _tPointer, _tReference > &x, const any_input_iterator< _type, _tDifference, _tPointer, _tReference > &y)
 
template<typename _type , typename _tDifference , typename _tPointer , typename _tReference >
bool is_undereferenceable (const any_input_iterator< _type, _tDifference, _tPointer, _tReference > &i)
 
void ytrace (std::FILE *, std::uint8_t, std::uint8_t, const char *, int, const char *,...)
 YCLib 调试跟踪函数。 更多...
 
template<typename _pDst , class _tSrc >
_pDst polymorphic_downcast (_tSrc *x)
 多态类指针向派生类指针转换。 更多...
 
template<typename _rDst , class _tSrc >
_rDst polymorphic_downcast (_tSrc &x)
 
template<typename _rDst , class _tSrc >
enable_if_t<!is_reference
< _tSrc >::value, _rDst > 
polymorphic_downcast (_tSrc &&x)
 
template<typename _pDst , class _tSrc >
_pDst polymorphic_crosscast (_tSrc *x)
 多态类指针交叉转换。 更多...
 
template<typename _rDst , class _tSrc >
_rDst polymorphic_crosscast (_tSrc &x)
 
template<typename _rDst , class _tSrc >
enable_if_t<!is_reference
< _tSrc >::value, _rDst > 
polymorphic_crosscast (_tSrc &&x)
 
template<typename _tDst , typename _tSrc >
_tDst general_cast (_tSrc *x)
 一般类型转换。 更多...
 
template<typename _tDst , typename _tSrc >
_tDst general_cast (_tSrc &x)
 
template<typename _tDst , typename _tSrc >
const _tDst general_cast (const _tSrc &x)
 
template<class _tSeqCon >
bool operator!= (const container_adaptor< _tSeqCon > &x, const container_adaptor< _tSeqCon > &y)
 满足容器要求。 更多...
 
template<class _tSeqCon >
void swap (container_adaptor< _tSeqCon > &x, container_adaptor< _tSeqCon > &y)
 
template<class _tSeqCon >
bool operator!= (const sequence_container_adaptor< _tSeqCon > &x, const sequence_container_adaptor< _tSeqCon > &y)
 满足容器要求。 更多...
 
template<class _tSeqCon >
void swap (sequence_container_adaptor< _tSeqCon > &x, sequence_container_adaptor< _tSeqCon > &y)
 
template<class _tCon , typename... _tParams>
void assign (_tCon &c, _tParams &&...args)
 插入参数指定的元素到容器。 更多...
 
template<class _tCon , typename _type , size_t _vN>
void assign (_tCon &c, const _type(&arr)[_vN])
 
template<typename _type , size_t _vN, typename _tSrc >
std::array< _type, _vN > to_array (const _tSrc &src)
 取指定参数转换为 std::array 对象。 更多...
 
template<typename _type , size_t _vN>
std::array< _type, _vN > to_array (const std::array< _type, _vN > &src)
 
template<typename _type , size_t _vN, typename _tSrcElement >
std::array< _type, _vN > to_array (const _tSrcElement(&src)[_vN])
 
template<typename _type , size_t _vN, typename _tSrcElement >
std::array< _type, _vN > to_array (_tSrcElement(&&src)[_vN])
 
template<typename _fCallable >
void seq_apply (_fCallable &&)
 顺序递归调用。 更多...
 
template<typename _fCallable , typename _type , typename... _tParams>
void seq_apply (_fCallable &&f, _type &&arg, _tParams &&...args)
 
template<typename _type >
_type & unref (_type &&x)
 解除引用包装。 更多...
 
template<typename _type >
_type & unref (const std::reference_wrapper< _type > &x)
 
template<typename _type >
size_t hash_combine_seq (size_t seed, const _type &val)
 重复计算序列散列。 更多...
 
template<typename _type , typename... _tParams>
size_t hash_combine_seq (size_t seed, const _type &x, const _tParams &...args)
 
template<typename _tIn >
size_t hash_range (_tIn first, _tIn last)
 重复对范围计算散列。 更多...
 
template<typename _tIn >
size_t hash_range (size_t &seed, _tIn first, _tIn last)
 
template<typename _tIn , typename _fPred >
_tIn next_if (_tIn i, _fPred f, typename std::iterator_traits< _tIn >::difference_type n=1)
 迭代器指向的值满足条件时取邻接迭代器,否则取原值。 更多...
 
template<typename _tIn , typename _type >
_tIn next_if_eq (_tIn i, const _type &val, typename std::iterator_traits< _tIn >::difference_type n=1)
 
template<typename _tBi , typename _fPred >
_tBi prev_if (_tBi i, _fPred f, typename std::iterator_traits< _tBi >::difference_type n=1)
 迭代器指向的值满足条件时取反向邻接迭代器,否则取原值。 更多...
 
template<typename _tBi , typename _type >
_tBi prev_if_eq (_tBi i, const _type &val, typename std::iterator_traits< _tBi >::difference_type n=1)
 
template<typename _type , typename... _tParams>
enable_if_t<!is_array< _type >
::value, std::unique_ptr
< _type > > 
make_unique (_tParams &&...args)
 使用 new 和指定参数构造指定类型的 std::unique_ptr 实例。 更多...
 
template<typename _type , typename... _tParams>
enable_if_t< is_array< _type >
::value &&extent< _type >
::value==0, std::unique_ptr
< _type > > 
make_unique (size_t size)
 
template<typename _type , typename... _tParams>
enable_if_t< extent< _type >
::value!=0, void > 
make_unique (_tParams &&...)=delete
 
template<class _tSeqCon , class _tNorm >
bool operator== (const path< _tSeqCon, _tNorm > &x, const path< _tSeqCon, _tNorm > &y)
 路径比较操作。 更多...
 
template<class _tSeqCon , class _tNorm >
bool operator!= (const path< _tSeqCon, _tNorm > &x, const path< _tSeqCon, _tNorm > &y)
 
template<class _tSeqCon , class _tNorm >
bool operator< (const path< _tSeqCon, _tNorm > &x, const path< _tSeqCon, _tNorm > &y)
 
template<class _tSeqCon , class _tNorm >
bool operator<= (const path< _tSeqCon, _tNorm > &x, const path< _tSeqCon, _tNorm > &y)
 
template<class _tSeqCon , class _tNorm >
bool operator> (const path< _tSeqCon, _tNorm > &x, const path< _tSeqCon, _tNorm > &y)
 
template<class _tSeqCon , class _tNorm >
bool operator>= (const path< _tSeqCon, _tNorm > &x, const path< _tSeqCon, _tNorm > &y)
 
template<typename _tRange1 , typename _tRange2 , typename _fPred >
bool starts_width (const _tRange1 &input, const _tRange2 &test, _fPred comp)
 判断第一个参数指定的串是否以第二个参数起始。 更多...
 
template<typename _tRange1 , typename _tRange2 >
bool starts_width (const _tRange1 &input, const _tRange2 &test)
 
template<typename _tRange1 , typename _tRange2 , typename _fPred >
bool ends_with (const _tRange1 &input, const _tRange2 &test, _fPred comp)
 判断第一个参数指定的串是否以第二个参数结束。 更多...
 
template<typename _tRange1 , typename _tRange2 >
bool ends_with (const _tRange1 &input, const _tRange2 &test)
 
template<class _tString >
_tString && ltrim (_tString &&str, typename string_traits< _tString >::const_pointer t=&to_array< typename string_traits< _tString >::value_type >("\n\r\t\v ")[0])
 删除字符串中指定的连续前缀字符。 更多...
 
template<class _tString >
_tString && rtrim (_tString &&str, typename string_traits< _tString >::const_pointer t=&to_array< typename string_traits< _tString >::value_type >("\n\r\t\v ")[0])
 删除字符串中指定的连续后缀字符。 更多...
 
template<class _tString >
_tString && trim (_tString &&str, typename string_traits< _tString >::const_pointer t=&to_array< typename string_traits< _tString >::value_type >("\n\r\t\v ")[0])
 删除字符串中指定的连续前缀与后缀字符。 更多...
 
template<typename _tString >
_tString get_mid (const _tString &str, typename _tString::size_type l=1)
 取删除前缀和后缀的子字符串。 更多...
 
template<typename _tString >
_tString get_mid (const _tString &str, typename _tString::size_type l, typename _tString::size_type r)
 
std::string to_string (unsigned char val)
 转换为字符串。 更多...
 
std::string to_string (unsigned short val)
 
template<typename _type >
std::string to_string (_type val, enable_if_t< is_enum< _type >::value, int >=0)
 
template<typename _type , size_t _vN>
size_t arrlen (_type(&)[_vN])
 计算指定数组类型对象的长度。 更多...
 
template<typename _type , size_t _vN>
size_t arrlen (_type(&&)[_vN])
 

变量

const class ystdex::nullptr_t nullptr = {}
 
const first_tag get_first {}
 操纵子。 更多...
 
const first_tag get_key {}
 
const second_tag get_second {}
 
const second_tag get_value {}
 
const struct ystdex::indirect_tag get_indirect
 

类型定义说明

using ystdex::byte = typedef unsigned char

字节类型。

注解
ISO C++ 对访问存储的 glvalue 的类型有严格限制,当没有对象生存期保证时, 仅允许(可能 cv 修饰的) char 和 unsigned char 及其指针/引用或 void* , 而不引起未定义行为(undefined behavior) 。 由于 char 的算术操作行为是否按有符号处理未指定,使用 unsigned char 表示字节以便获得确定的行为,同时对字符处理(如 std::fgetc )保持较好的兼容性。
自从
build 209

在文件 ydef.h555 行定义.

using ystdex::errno_t = typedef int

在文件 ydef.h568 行定义.

在文件 any_iterator.hpp368 行定义.

template<size_t _vN>
using ystdex::make_natural_sequence_t = typedef typename make_natural_sequence<_vN>::type
自从
build 447

在文件 variadic.hpp240 行定义.

template<typename _fCallable >
using ystdex::make_parameter_tuple_t = typedef typename make_parameter_tuple<_fCallable>::type
自从
build 447

在文件 functional.hpp161 行定义.

template<class _tSeq >
using ystdex::make_successor_t = typedef typename make_successor<_tSeq>::type
自从
build 447

在文件 variadic.hpp219 行定义.

using ystdex::octet = typedef void

在文件 ydef.h565 行定义.

template<size_t _vIdx, typename _fCallable >
using ystdex::parameter_of_t = typedef typename parameter_of<_vIdx, _fCallable>::type
自从
build 447

在文件 functional.hpp299 行定义.

using ystdex::raw_tag = typedef empty_base<>

直接构造类型(直接构造重载用)。

自从
build 439

在文件 ydef.h665 行定义.

template<typename _type >
using ystdex::remove_rcv_t = typedef typename remove_rcv<_type>::type
自从
build 448

在文件 type_op.hpp664 行定义.

template<typename _fCallable >
using ystdex::return_of_t = typedef typename return_of<_fCallable>::type
自从
build 447

在文件 functional.hpp228 行定义.

template<class _tSeq1 , class _tSeq2 >
using ystdex::sequence_cat_t = typedef typename sequence_cat<_tSeq1, _tSeq2>::type

在文件 variadic.hpp104 行定义.

template<size_t _vIdx, class _tSeq >
using ystdex::sequence_element_t = typedef typename sequence_element<_vIdx, _tSeq>::type

在文件 variadic.hpp124 行定义.

template<class _tSeq , class _tIdxSeq >
using ystdex::sequence_project_t = typedef typename sequence_project<_tSeq, _tIdxSeq>::type

在文件 variadic.hpp165 行定义.

template<class _tSeq >
using ystdex::sequence_reverse_t = typedef typename sequence_reverse<_tSeq>::type

在文件 variadic.hpp187 行定义.

函数说明

template<class _tString >
_tString ystdex::alph ( _tString &  str)

取字母表:有序的字符串的不重复序列。

自从
build 414

在文件 string.hpp183 行定义.

参考 sort_unique().

函数调用图:

template<typename _fCallable , typename... _tParams>
void ystdex::call_once ( bool &  b,
_fCallable &&  f,
_tParams &&...  args 
)
inline

按标识调用函数,保证调用一次。

注解
类似 std::call_once ,但不保证线程安全性。
ISO C++11(至 N3691 ) 30.4 synopsis 处的声明存在错误。
参见
https://github.com/cplusplus/draft/issues/151
自从
build 327

当标识为 true 时候无作用,否则调用函数。

在文件 utility.hpp258 行定义.

参考 YSLib::UI::args, YSLib::UI::f , 以及 yforward.

参考自 ystdex::call_once_init< _type, _tOnceFlag >::call_once_init() , 以及 ystdex::call_once_init< _type, _tOnceFlag >::~call_once_init().

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

template<class _tString >
void ystdex::concat ( _tString &  str,
size_t  n 
)

重复串接。

参数
str被串接的字符串的引用。
n串接结果包含原字符串的重复次数。
前置条件
断言: 1 < n
自从
build 414

在文件 string.hpp200 行定义.

参考 yconstraint.

template<typename _tRange1 , typename _tRange2 , typename _fPred >
bool ystdex::ends_with ( const _tRange1 &  input,
const _tRange2 &  test,
_fPred  comp 
)
inline

判断第一个参数指定的串是否以第二个参数结束。

在文件 string.hpp158 行定义.

参考 ystdex::details::ends_with_iter_dispatch().

参考自 ends_with().

函数调用图:

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

template<typename _tRange1 , typename _tRange2 >
bool ystdex::ends_with ( const _tRange1 &  input,
const _tRange2 &  test 
)
inline

在文件 string.hpp169 行定义.

参考 ends_with().

函数调用图:

template<class _tCon , typename _tKey >
bool ystdex::exists ( const _tCon &  con,
const _tKey &  key 
)
inline

判断指定的容器中存在指定的键。

注解
当容器对象右值可使用返回以整数初始化的类型的成员 count() 时使用成 员 count() 实现;否则使用 ADL beginend 指定的容器迭代 器,使用成员 find 实现。
自从
build 488

在文件 container.hpp373 行定义.

参考 ystdex::details::exists().

参考自 YSLib::UI::Menu::DrawItem().

函数调用图:

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

bool ystdex::fexists ( const char *  path)

判断指定路径的文件是否存在。

注解
使用 std::fopen 实现。
前置条件
断言:参数非空。
自从
build 326

在文件 cstdio.cpp36 行定义.

参考 CHRLib::fp , 以及 yconstraint.

参考自 platform::ufexists().

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

template<typename _type , typename... _tParams>
std::array<_type, sizeof...(_tParams)> ystdex::forward_as_array ( _tParams &&...  args)
inline

取指定参数转移至 std::array 对象。

自从
build 495

在文件 container.hpp501 行定义.

参考 YSLib::UI::args , 以及 yforward.

template<typename _tKey , typename... _tKeys, typename _fInit , typename... _tParams>
auto ystdex::get_init ( _fInit &&  f,
_tParams &&...  args 
) -> decltype(f(std::forward<decltype( args )>( args )...))&
inline

取类型标识和初始化调用指定的对象。

模板参数
_tKey起始类型参数化标识。
_tKeys非起始类型参数化标识。
_fInit初始化调用类型。
_tParams初始化参数类型。
返回
初始化后的对象的左值引用。
自从
build 327

在文件 utility.hpp310 行定义.

参考 YSLib::UI::args, YSLib::UI::f , 以及 yforward.

template<size_t... _vKeys, typename _fInit , typename... _tParams>
auto ystdex::get_init ( _fInit &&  f,
_tParams &&...  args 
) -> decltype(f(std::forward<decltype( args )>( args )...))&
inline

取非类型标识和初始化调用指定的对象。

模板参数
_vKeys非类型参数化标识。
_fInit初始化调用类型。
_tParams初始化参数类型。
返回
初始化后的对象的左值引用。
自从
build 327

在文件 utility.hpp330 行定义.

参考 YSLib::UI::args, YSLib::UI::f , 以及 yforward.

template<typename _tDst , typename... _tSrc>
std::initializer_list<_tDst> ystdex::initializer_cast ( _tSrc &&...  x)
inline

初值符列表转换。

模板参数
_tSrc源类型。
_tDst目标类型。
自从
build 304

在文件 cast.hpp78 行定义.

参考 yforward.

template<typename _tChar >
bool ystdex::is_null ( _tChar  c)
inline

使用 std::char_traits::eq 判断是否为空字符。

自从
build 329

在文件 cstring.h86 行定义.

参考自 const_ntctschr(), const_ntctschrn(), const_ntctscmp(), const_ntctscnt(), const_ntctslen(), const_ntctsstr(), CHRLib::MBCSToUCS2(), ntctscmp(), ntctsicmp(), ntctslen(), CHRLib::UCS2ToMBCS() , 以及 CHRLib::UCS4ToUCS2().

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

template<typename _type , typename... _tParams>
std::array<_type, sizeof...(_tParams)> ystdex::make_array ( _tParams &&...  args)
inline

取指定参数初始化的 std::array 对象。

自从
build 337

在文件 container.hpp489 行定义.

参考 YSLib::UI::args , 以及 decay_copy().

函数调用图:

const char * ystdex::openmode_conv ( std::ios_base::openmode  mode)

在文件 cstdio.cpp49 行定义.

参考自 YSLib::File::Open().

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

std::ios_base::openmode ystdex::openmode_conv ( const char *  str)

在文件 cstdio.cpp76 行定义.

参考 platform_ex::Windows::l , 以及 yunseq.

template<class _tSeqCon >
bool ystdex::operator!= ( const container_adaptor< _tSeqCon > &  x,
const container_adaptor< _tSeqCon > &  y 
)
inline

满足容器要求。

自从
build 408

在文件 container.hpp155 行定义.

bool ystdex::operator!= ( const ifile_iterator &  x,
const ifile_iterator &  y 
)
inline

在文件 cstdio.h175 行定义.

template<class _tSeqCon >
bool ystdex::operator!= ( const sequence_container_adaptor< _tSeqCon > &  x,
const sequence_container_adaptor< _tSeqCon > &  y 
)
inline

满足容器要求。

自从
build 408

在文件 container.hpp265 行定义.

template<typename _type , typename _tDifference , typename _tPointer , typename _tReference >
bool ystdex::operator!= ( const any_input_iterator< _type, _tDifference, _tPointer, _tReference > &  x,
const any_input_iterator< _type, _tDifference, _tPointer, _tReference > &  y 
)
inline

在文件 any_iterator.hpp361 行定义.

template<class _tSeqCon , class _tNorm >
bool ystdex::operator!= ( const path< _tSeqCon, _tNorm > &  x,
const path< _tSeqCon, _tNorm > &  y 
)

在文件 path.hpp372 行定义.

template<typename _type >
bool ystdex::operator!= ( nullptr_t  lhs,
const _type &  rhs 
)
inline

在文件 ydef.h638 行定义.

参考 ystdex::nullptr_t::equals().

函数调用图:

template<typename _type >
bool ystdex::operator!= ( const _type &  lhs,
nullptr_t  rhs 
)
inline

在文件 ydef.h644 行定义.

参考 ystdex::nullptr_t::equals().

函数调用图:

template<class _tSeqCon , class _tNorm >
bool ystdex::operator< ( const path< _tSeqCon, _tNorm > &  x,
const path< _tSeqCon, _tNorm > &  y 
)

在文件 path.hpp379 行定义.

参考 ystdex::path< _tSeqCon, _tNorm >::before().

函数调用图:

template<class _tSeqCon , class _tNorm >
bool ystdex::operator<= ( const path< _tSeqCon, _tNorm > &  x,
const path< _tSeqCon, _tNorm > &  y 
)

在文件 path.hpp386 行定义.

template<typename _type , typename _tDifference , typename _tPointer , typename _tReference >
bool ystdex::operator== ( const any_input_iterator< _type, _tDifference, _tPointer, _tReference > &  x,
const any_input_iterator< _type, _tDifference, _tPointer, _tReference > &  y 
)
inline

在文件 any_iterator.hpp359 行定义.

template<class _tSeqCon , class _tNorm >
bool ystdex::operator== ( const path< _tSeqCon, _tNorm > &  x,
const path< _tSeqCon, _tNorm > &  y 
)
inline

路径比较操作。

在文件 path.hpp365 行定义.

参考 ystdex::path< _tSeqCon, _tNorm >::equals().

函数调用图:

template<typename _type >
bool ystdex::operator== ( nullptr_t  lhs,
const _type &  rhs 
)
inline
自从
build 316

在文件 ydef.h625 行定义.

参考 ystdex::nullptr_t::equals().

函数调用图:

template<typename _type >
bool ystdex::operator== ( const _type &  lhs,
nullptr_t  rhs 
)
inline

在文件 ydef.h631 行定义.

参考 ystdex::nullptr_t::equals().

函数调用图:

template<class _tSeqCon , class _tNorm >
bool ystdex::operator> ( const path< _tSeqCon, _tNorm > &  x,
const path< _tSeqCon, _tNorm > &  y 
)

在文件 path.hpp393 行定义.

template<class _tSeqCon , class _tNorm >
bool ystdex::operator>= ( const path< _tSeqCon, _tNorm > &  x,
const path< _tSeqCon, _tNorm > &  y 
)

在文件 path.hpp400 行定义.

template<typename _tIterator >
auto ystdex::operator| ( _tIterator &&  i,
first_tag   
) -> decltype(make_transform(std::forward<decltype( i )>( i ), iterator_transformation::first< typename array_ref_decay<_tIterator>::type>))
inline

管道匹配操作符。

自从
build 288

在文件 iterator.hpp797 行定义.

参考 ystdex::iterator_transformation::first() , 以及 yforward.

函数调用图:

template<typename _tIterator >
auto ystdex::operator| ( _tIterator &&  i,
second_tag   
) -> decltype(make_transform(std::forward<decltype( i )>( i ), iterator_transformation::second< typename array_ref_decay<_tIterator>::type>))
inline

在文件 iterator.hpp806 行定义.

参考 ystdex::iterator_transformation::second() , 以及 yforward.

函数调用图:

template<typename _tIterator >
auto ystdex::operator| ( _tIterator &&  i,
indirect_tag   
) -> decltype(make_transform(std::forward<decltype( i )>( i ), iterator_transformation::indirect< typename array_ref_decay<_tIterator>::type>))
inline
自从
build 358

在文件 iterator.hpp816 行定义.

参考 ystdex::iterator_transformation::indirect() , 以及 yforward.

函数调用图:

template<typename _type , typename , typename... >
_type& ystdex::parameterize_static_object ( )
inline

类型参数化静态对象。

警告
不可重入。
非线程安全。
自从
build 303

在文件 utility.hpp276 行定义.

template<typename _type , size_t... >
_type& ystdex::parameterize_static_object ( )
inline

非类型参数化静态对象。

警告
不可重入。
非线程安全。
自从
build 301

在文件 utility.hpp290 行定义.

template<typename _fCallable >
void ystdex::seq_apply ( _fCallable &&  )
inline

顺序递归调用。

参见
关于调用参数类型: ISO C++11 30.3.1.2[thread.thread.constr] 。
自从
build 327

在文件 functional.hpp125 行定义.

参考自 seq_apply() , 以及 seq_insert().

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

template<typename _fCallable , typename _type , typename... _tParams>
void ystdex::seq_apply ( _fCallable &&  f,
_type &&  arg,
_tParams &&...  args 
)
inline

在文件 functional.hpp129 行定义.

参考 YSLib::UI::args, YSLib::UI::f, seq_apply() , 以及 yforward.

函数调用图:

template<typename _tCon , typename... _tParams>
void ystdex::seq_insert ( _tCon &  c,
_tParams &&...  args 
)
inline

顺序插入值至指定容器。

自从
build 338

在文件 container.hpp338 行定义.

参考 YSLib::UI::args, seq_apply() , 以及 yforward.

参考自 YSLib::CollectNodes().

函数调用图:

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

template<typename _tChar >
std::basic_string<_tChar> ystdex::sfmt ( const _tChar *  fmt,
  ... 
)

以 C 标准输出格式的输出 std::basic_string 实例的对象。

注解
Clang++ 对于模板声明直接提示格式字符串类型错误。
自从
build 322
待办事项:
提供 char 以外的模板参数的正确实现。

在文件 string.hpp399 行定义.

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

参考自 YSLib::Drawing::FontCache::FontCache(), NPL::LoadNPLA1() , 以及 platform::LogWithSource().

函数调用图:

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

template std::string ystdex::sfmt< char > ( const char *  ,
  ... 
)

显式实例化:以 C 标准输出格式的输出 std::string 对象。

参见
sfmt
自从
build 350
template<typename... _tParams>
size_t ystdex::sizeof_params ( _tParams &&  ...)
inline

统计函数参数列表中的参数个数。

自从
build 360 。

在文件 functional.hpp62 行定义.

template<typename _tRandom >
_tRandom ystdex::sort_unique ( _tRandom  first,
_tRandom  last 
)
inline

排序指定序列范围,保留不重复元素的区间。

返回
不重复元素的区间末尾。
自从
build 414

在文件 container.hpp445 行定义.

参考自 alph() , 以及 sort_unique().

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

template<class _tCon >
void ystdex::sort_unique ( _tCon &  c)

排序指定容器,保留不重复元素。

前置条件
容器的迭代器满足随机迭代器要求。
自从
build 414

在文件 container.hpp458 行定义.

参考 sort_unique().

函数调用图:

template<typename _tFwd >
_tFwd ystdex::stable_range_unique ( _tFwd  first,
_tFwd  last 
)

去除迭代器指定的范围中的重复元素,且不改变元素之间的相对顺序。

参数
first输入范围起始迭代器。
last输入范围终止迭代器。
返回
输出范围终止迭代器。
注解
输入和输出范围的起始迭代器相同。
输出范围元素之间的相对顺序和输入的范围保持一致。
时间复杂度: O(n^2) ,其中 n 满足 std::advance(first, n) == last
使用 ADL 交换。
自从
build 265

在文件 algorithm.hpp130 行定义.

参考 swap().

函数调用图:

char* ystdex::strcatdup ( const char *  s1,
const char *  s2,
void *(*)(size_t)  fun 
)

在文件 cstring.cpp59 行定义.

参考 strcpycat().

函数调用图:

char* ystdex::strcatdup ( const char *  ,
const char *  ,
void *  *)(size_t = std::malloc 
)

带空指针检查的字符串连接复制。

返回
目标参数。

对传入参数进行非空检查后串接指定的两个字符串, 结果复制至用指定分配函数(默认为 std::malloc)新分配的空间。

char * ystdex::strcpy_n ( char *  d,
const char *  s 
)

带空指针检查的字符串复制。

返回
成功时为复制的字符串,失败时为空指针。

当目标字符串和源字符串都非空时用 std::strcpy 复制字符串。

在文件 cstring.cpp41 行定义.

char * ystdex::strcpycat ( char *  d,
const char *  s1,
const char *  s2 
)

带空指针检查的字符串连接。

返回
返回目标参数。

对传入参数进行非空检查后串接指定的两个字符串,结果复制至指定位置。

在文件 cstring.cpp47 行定义.

参考 YB_UNLIKELY.

参考自 strcatdup().

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

size_t ystdex::strlen_n ( const char *  s)

带空指针检查的字符串长度计算。

返回
当字符指针非空时为 std::strlen 计算的串长,否则为 0 。

在文件 cstring.cpp35 行定义.

template<class _tSeqCon >
void ystdex::swap ( container_adaptor< _tSeqCon > &  x,
container_adaptor< _tSeqCon > &  y 
)

在文件 container.hpp163 行定义.

template<class _tSeqCon >
void ystdex::swap ( sequence_container_adaptor< _tSeqCon > &  x,
sequence_container_adaptor< _tSeqCon > &  y 
)

在文件 container.hpp273 行定义.

参考自 ystdex::container_adaptor< _tSeqCon >::swap().

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

template<typename _type , size_t _vN, typename _tSrc >
std::array<_type, _vN> ystdex::to_array ( const _tSrc &  src)
inline

取指定参数转换为 std::array 对象。

自从
build 337

在文件 container.hpp514 行定义.

template<typename _type , size_t _vN>
std::array<_type, _vN> ystdex::to_array ( const std::array< _type, _vN > &  src)
inline

在文件 container.hpp520 行定义.

template<typename _type , size_t _vN, typename _tSrcElement >
std::array<_type, _vN> ystdex::to_array ( const _tSrcElement(&)  src[_vN])
inline

在文件 container.hpp526 行定义.

template<typename _type , size_t _vN, typename _tSrcElement >
std::array<_type, _vN> ystdex::to_array ( _tSrcElement(&&)  src[_vN])
inline

在文件 container.hpp535 行定义.

std::string ystdex::to_string ( unsigned char  val)
inline

转换为字符串。

注解
可与 std::to_string 共用以避免某些类型转换警告, 如 G++ 的 [-Wsign-promo] 。
自从
build 308

在文件 string.hpp353 行定义.

参考 to_string().

参考自 YReader::FetchEncodingString(), YSLib::IsPrefixedIndex(), main(), YSLib::UI::ParseRect(), NPL::SContext::Reduce(), YReader::ShlReader::SaveBookmarks(), YSLib::UI::ColorBox::SetColor(), YSLib::StringifyToNode(), YSLib::Drawing::to_string(), to_string(), NPL::TransformNPLA1(), YReader::TextInfoBox::UpdateData(), YReader::SettingPanel::UpdateInfo() , 以及 YSLib::UI::BorderResizer::Wrap().

函数调用图:

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

std::string ystdex::to_string ( unsigned short  val)
inline

在文件 string.hpp358 行定义.

参考 to_string().

函数调用图:

template<typename _type >
std::string ystdex::to_string ( _type  val,
enable_if_t< is_enum< _type >::value, int >  = 0 
)
inline
自从
build 439

在文件 string.hpp365 行定义.

参考 to_string().

参考自 to_string().

函数调用图:

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

template<typename _type >
_type& ystdex::unref ( _type &&  x)

解除引用包装。

注解
默认只对于 std::reference_wrapper 的实例类型的对象重载。
使用 ADL 。
自从
build 348

在文件 functional.hpp447 行定义.

template<typename _type >
_type& ystdex::unref ( const std::reference_wrapper< _type > &  x)

在文件 functional.hpp453 行定义.

template<typename _fCallable , typename... _tParams>
void ystdex::unseq_apply ( _fCallable &&  f,
_tParams &&...  args 
)
inline

无序调用。

参见
关于调用参数类型: ISO C++11 30.3.1.2[thread.thread.constr] 。
自从
build 327

在文件 functional.hpp144 行定义.

参考 YSLib::UI::args, YSLib::UI::f, yforward , 以及 yunseq.

参考自 YSLib::UI::AddWidgets(), YSLib::UI::AddWidgetsZ(), YReader::ShlTextReader::BaseSession::BaseSession(), YReader::TextInfoBox::Refresh(), YSLib::UI::RemoveWidgets(), YReader::ReaderBox::UpdateData() , 以及 YReader::TextInfoBox::UpdateData().

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

template<typename _type , typename... _tParams>
auto ystdex::unsequenced ( _type &&  arg,
_tParams &&  ... 
) -> decltype(std::forward<decltype( arg )>( arg ))
inline

无序列依赖表达式组求值实现。

返回
第一个参数的引用。
自从
build 296

在文件 ydef.h731 行定义.

参考 yforward.

template<size_t _vN, typename... _tParams>
const auto ystdex::varg ( _tParams &&...  args) -> decltype(variadic_param<_vN>::get(std::forward<decltype( args )>( args )...))

取指定位置的变长参数。

模板参数
_vN表示参数位置的非负数,从左开始计数,第一个参数为 0 。

在文件 functional.hpp106 行定义.

参考 YSLib::UI::args, ystdex::variadic_param< _vN >::get() , 以及 yforward.

函数调用图:

template<typename _tChar >
std::basic_string<_tChar> ystdex::vsfmt ( const _tChar *  fmt,
std::va_list  args 
)

以 C 标准输出格式的输出 std::basic_string 实例的对象。

自从
build 488
待办事项:
提供 char 以外的模板参数的正确实现。

在文件 string.hpp382 行定义.

参考 YSLib::UI::args.

参考自 platform::LogWithSource() , 以及 sfmt().

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

void ystdex::yassert ( bool  ,
const char *  ,
const char *  ,
int  ,
const char *   
)

YBase 默认断言函数。

注解
当定义宏 YB_Use_YAssert 不等于 0 时,宏 YAssert 操作由此函数实现。
参数依次为:是否触发、表达式、文件名、行号和消息文本。
自从
build 432
void ystdex::ytrace ( std::FILE *  ,
std::uint8_t  ,
std::uint8_t  ,
const char *  ,
int  ,
const char *  ,
  ... 
)

YCLib 调试跟踪函数。

自从
build 432
注解
当定义宏 YB_Use_YTrace 不等于 0 时,宏 YTrace 操作由此函数实现。

变量说明

const first_tag ystdex::get_first {}

操纵子。

自从
build 288

在文件 iterator.hpp784 行定义.

const struct ystdex::indirect_tag ystdex::get_indirect
const second_tag ystdex::get_second {}

在文件 iterator.hpp785 行定义.

const class ystdex::nullptr_t ystdex::nullptr = {}