YSTest: ystdex::cpp2014 命名空间参考

YSTest PreAlpha_b800_20170810 The YSLib Test Project

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

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

类 | 函数
ystdex::cpp2014 命名空间参考
Gerneral Algorithms » Non-modifying Sequence Operations | General Functors

包含 ISO C++ 2014 引入的名称的命名空间。 更多...

## 类

struct | bit_and
| 位与仿函数。 更多...
struct | bit_and< void >
struct | bit_not
| 位取反仿函数。 更多...
struct | bit_not< void >
struct | bit_or
| 位或仿函数。 更多...
struct | bit_or< void >
struct | bit_xor
| 位异或仿函数。 更多...
struct | bit_xor< void >
struct | divides
| 除法仿函数。 更多...
struct | divides< void >
struct | equal_to
| 等于关系仿函数。 更多...
struct | equal_to< void >
struct | greater
| 大于关系仿函数。 更多...
struct | greater< _type * >
struct | greater< void >
struct | greater_equal
| 大于等于关系仿函数。 更多...
struct | greater_equal< _type * >
struct | greater_equal< void >
struct | integer_sequence
struct | less
| 小于关系仿函数。 更多...
struct | less< _type * >
struct | less< void >
struct | less_equal
| 小于等于关系仿函数。 更多...
struct | less_equal< _type * >
struct | less_equal< void >
struct | logical_and
| 逻辑与仿函数。 更多...
struct | logical_and< void >
struct | logical_not
| 逻辑非仿函数。 更多...
struct | logical_not< void >
struct | logical_or
| 逻辑或仿函数。 更多...
struct | logical_or< void >
struct | minus
| 减法仿函数。 更多...
struct | minus< void >
struct | modulus
| 模运算仿函数。 更多...
struct | modulus< void >
struct | multiplies
| 乘法仿函数。 更多...
struct | multiplies< void >
struct | negate
| 取反仿函数。 更多...
struct | negate< void >
struct | not_equal_to
| 不等于关系仿函数。 更多...
struct | not_equal_to< void >
struct | plus
| 加法仿函数。 更多...
struct | plus< void >

## 类型定义

template<size_t... _vSeq>
using | index_sequence = integer_sequence< size_t, _vSeq... >
template<typename _tInt , size_t _vN>
using | make_integer_sequence = make_natural_sequence_t< _tInt, _vN >
template<size_t _vN>
using | make_index_sequence = make_integer_sequence< size_t, _vN >
template<typename... _types>
using | index_sequence_for = make_index_sequence< sizeof...(_types)>
template<size_t _vIdx, typename _type >
using | tuple_element_t = _t< std::tuple_element< _vIdx, _type >>
template<typename _type >
using | remove_const_t = typename remove_const< _type >::type
| ISO C++ 14 兼容类型操作别名。 更多...
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<size_t _vLen, typename... _types>
using | aligned_union_t = typename aligned_union< _vLen, _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 _tIn1 , typename _tIn2 , typename _fBiPred >
bool | equal (_tIn1 first1, _tIn1 last1, _tIn2 first2, _tIn2 last2, _fBiPred binary_pred)
template<typename _tIn1 , typename _tIn2 >
bool | equal (_tIn1 first1, _tIn1 last1, _tIn2 first2, _tIn2 last2)
template<typename _tRange >
auto | cbegin (const _tRange &c) -> decltype(std::begin(c))
template<typename _tRange >
auto | cend (const _tRange &c) -> decltype(std::end(c))
template<class _tRange >
auto | rbegin (_tRange &c) -> decltype(c.rbegin())
template<class _tRange >
auto | rbegin (const _tRange &c) -> decltype(c.rbegin())
template<typename _type , size_t _vN>
std::reverse_iterator< _type * > | rbegin (_type(&array)[_vN])
template<typename _tElem >
std::reverse_iterator< const _tElem * > | rbegin (std::initializer_list< _tElem > il)
template<class _tRange >
auto | rend (_tRange &c) -> decltype(c.rend())
template<class _tRange >
auto | rend (const _tRange &c) -> decltype(c.rend())
template<typename _type , size_t _vN>
std::reverse_iterator< _type * > | rend (_type(&array)[_vN])
template<typename _tElem >
std::reverse_iterator< const _tElem * > | rend (std::initializer_list< _tElem > il)
template<typename _tRange >
auto | crbegin (const _tRange &c) -> decltype(ystdex::rbegin(c))
template<typename _tRange >
auto | crend (const _tRange &c) -> decltype(ystdex::rend(c))
template<typename _type , typename _type2 = _type>
_type | exchange (_type &obj, _type2 &&new_val)
| 交换值并返回旧值。 更多...
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 > | make_unique (_tParams &&...)=delete
template<typename _type , size_t _vN>
_type * | cbegin (_type(&&array)[_vN])
template<typename _type , size_t _vN>
_type * | cend (_type(&&array)[_vN])
template<typename _type , size_t _vN>
std::reverse_iterator< _type * > | rbegin (_type(&&array)[_vN])
template<typename _type , size_t _vN>
std::reverse_iterator< _type * > | rend (_type(&&array)[_vN])
template<typename _tElem >
const _tElem * | cbegin (std::initializer_list< _tElem > il)
template<typename _tElem >
const _tElem * | cend (std::initializer_list< _tElem > il)
template<typename _tElem >
std::reverse_iterator< const _tElem * > | crbegin (std::initializer_list< _tElem > il)
template<typename _tElem >
std::reverse_iterator< const _tElem * > | crend (std::initializer_list< _tElem > il)

## 详细描述

包含 ISO C++ 2014 引入的名称的命名空间。

自从
  build 627
  build 679
  build 607

## 类型定义说明

template<size_t _vLen, typename... _types>

using ystdex::cpp2014::aligned_union_t = typedef typename aligned_union<_vLen, _types...>::type

自从
  build 339

在文件 type_traits.hpp 第 337 行定义.

template<typename... _types>

using ystdex::cpp2014::common_type_t = typedef typename common_type<_types...>::type

在文件 type_traits.hpp 第 349 行定义.

template<bool _bCond, typename _type , typename _type2 >

using ystdex::cpp2014::conditional_t = typedef typename conditional<_bCond, _type, _type2>::type

在文件 type_traits.hpp 第 346 行定义.

template<typename _type >

using ystdex::cpp2014::decay_t = typedef typename decay<_type>::type

在文件 type_traits.hpp 第 340 行定义.

template<bool _bCond, typename _type = void>

using ystdex::cpp2014::enable_if_t = typedef typename enable_if<_bCond, _type>::type

在文件 type_traits.hpp 第 343 行定义.

template<size_t... _vSeq>

using ystdex::cpp2014::index_sequence = typedef integer_sequence<size_t, _vSeq...>

在文件 integer_sequence.hpp 第 63 行定义.

template<typename _type >

using ystdex::cpp2014::result_of_t = typedef typename result_of<_type>::type

在文件 type_traits.hpp 第 355 行定义.

template<typename _type >

using ystdex::cpp2014::underlying_type_t = typedef typename underlying_type<_type>::type

在文件 type_traits.hpp 第 352 行定义.

## 函数说明

template<typename _tRange >

auto ystdex::cpp2014::cbegin | ( | const _tRange & | c | ) | -> decltype(std::begin(c))

inline

在文件 range.hpp 第 79 行定义.

参考 ystdex::cpp2011::begin() , 以及 CHRLib::c.

参考自 YSLib::IO::PathTraits::AdjustForRoot(), ystdex::details::erase_all(), ystdex::details::erase_all_if(), YSLib::UI::ImplDeDtor(), main(), YSLib::Messaging::MessageQueue::Peek(), YSLib::Messaging::MessageQueue::Pop(), YSLib::UI::Styles::StyleMap::Remove(), ystdex::search_map() , 以及 YSLib::UI::Styles::StyleMap::Switch().

函数调用图:

这是这个函数的调用关系图:
template<typename _type , size_t _vN>

_type* ystdex::cpp2014::cbegin | ( | _type(&&) | array[_vN] | ) |

inline

自从
  build 664

在文件 range.hpp 第 160 行定义.

template<typename _tElem >

const _tElem* ystdex::cpp2014::cbegin | ( | std::initializer_list< _tElem > | il | ) |

inline

参见
  http://wg21.cmeerw.net/cwg/issue1591 。

在文件 range.hpp 第 191 行定义.

template<typename _tRange >

auto ystdex::cpp2014::cend | ( | const _tRange & | c | ) | -> decltype(std::end(c))

inline

在文件 range.hpp 第 87 行定义.

参考 CHRLib::c , 以及 ystdex::cpp2011::end().

参考自 ystdex::details::erase_all(), ystdex::details::erase_all_if(), ystdex::erase_n(), YSLib::UI::ImplDeDtor(), main(), ystdex::search_map(), YReader::ShlTextReader::SettingSession::SettingSession() , 以及 YSLib::UI::Styles::StyleMap::Switch().

函数调用图:

这是这个函数的调用关系图:
template<typename _type , size_t _vN>

_type* ystdex::cpp2014::cend | ( | _type(&&) | array[_vN] | ) |

inline

在文件 range.hpp 第 167 行定义.

template<typename _tElem >

const _tElem* ystdex::cpp2014::cend | ( | std::initializer_list< _tElem > | il | ) |

inline

参见
  http://wg21.cmeerw.net/cwg/issue1591 。

在文件 range.hpp 第 199 行定义.

template<typename _tRange >

auto ystdex::cpp2014::crbegin | ( | const _tRange & | c | ) | -> decltype(ystdex::rbegin(c))

在文件 range.hpp 第 143 行定义.

参考 CHRLib::c , 以及 rbegin().

参考自 main().

函数调用图:

这是这个函数的调用关系图:
template<typename _tElem >

std::reverse_iterator<const _tElem*> ystdex::cpp2014::crbegin | ( | std::initializer_list< _tElem > | il | ) |

inline

在文件 range.hpp 第 206 行定义.

参考 rbegin().

函数调用图:
template<typename _tRange >

auto ystdex::cpp2014::crend | ( | const _tRange & | c | ) | -> decltype(ystdex::rend(c))

在文件 range.hpp 第 150 行定义.

参考 CHRLib::c , 以及 rend().

参考自 main().

函数调用图:

这是这个函数的调用关系图:
template<typename _tElem >

std::reverse_iterator<const _tElem*> ystdex::cpp2014::crend | ( | std::initializer_list< _tElem > | il | ) |

inline

在文件 range.hpp 第 213 行定义.

参考 rend().

函数调用图:
template<typename _tIn1 , typename _tIn2 , typename _fBiPred >

bool ystdex::cpp2014::equal | ( | _tIn1 | first1,
|  | _tIn1 | last1,
|  | _tIn2 | first2,
|  | _tIn2 | last2,
|  | _fBiPred | binary_pred
| ) |  |

inline

在文件 algorithm.hpp 第 181 行定义.

参考 ystdex::any_ops::distance , 以及 equal().

参考自 ystdex::begins_with(), ystdex::stream_equal() , 以及 ystdex::streambuf_equal().

函数调用图:

这是这个函数的调用关系图:
template<typename _tIn1 , typename _tIn2 >

bool ystdex::cpp2014::equal | ( | _tIn1 | first1,
|  | _tIn1 | last1,
|  | _tIn2 | first2,
|  | _tIn2 | last2
| ) |  |

inline

在文件 algorithm.hpp 第 198 行定义.

参考自 equal().

这是这个函数的调用关系图:
template<typename _type , typename _type2 = _type>

_type ystdex::cpp2014::exchange | ( | _type & | obj,
|  | _type2 && | new_val
| ) |  |

交换值并返回旧值。

返回
  被替换的原值。

参见
  WG21 N3797 20.2.3[utility.exchange] 。
  http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3668.html 。

自从
  build 517

在文件 utility.hpp 第 207 行定义.

template<class _tRange >

auto ystdex::cpp2014::rbegin | ( | _tRange & | c | ) | -> decltype(c.rbegin())

在文件 range.hpp 第 94 行定义.

参考 CHRLib::c.

参考自 main().

这是这个函数的调用关系图:
template<class _tRange >

auto ystdex::cpp2014::rbegin | ( | const _tRange & | c | ) | -> decltype(c.rbegin())

在文件 range.hpp 第 100 行定义.

参考 CHRLib::c.

template<typename _type , size_t _vN>

std::reverse_iterator<_type*> ystdex::cpp2014::rbegin | ( | _type(&) | array[_vN] | ) |

在文件 range.hpp 第 106 行定义.

template<typename _tElem >

std::reverse_iterator<const _tElem*> ystdex::cpp2014::rbegin | ( | std::initializer_list< _tElem > | il | ) |

在文件 range.hpp 第 113 行定义.

template<typename _type , size_t _vN>

std::reverse_iterator<_type*> ystdex::cpp2014::rbegin | ( | _type(&&) | array[_vN] | ) |

在文件 range.hpp 第 174 行定义.

参考自 crbegin().

这是这个函数的调用关系图:
template<class _tRange >

auto ystdex::cpp2014::rend | ( | _tRange & | c | ) | -> decltype(c.rend())

在文件 range.hpp 第 119 行定义.

参考 CHRLib::c.

参考自 main().

这是这个函数的调用关系图:
template<class _tRange >

auto ystdex::cpp2014::rend | ( | const _tRange & | c | ) | -> decltype(c.rend())

在文件 range.hpp 第 124 行定义.

参考 CHRLib::c.

template<typename _type , size_t _vN>

std::reverse_iterator<_type*> ystdex::cpp2014::rend | ( | _type(&) | array[_vN] | ) |

在文件 range.hpp 第 130 行定义.

template<typename _tElem >

std::reverse_iterator<const _tElem*> ystdex::cpp2014::rend | ( | std::initializer_list< _tElem > | il | ) |

在文件 range.hpp 第 136 行定义.

template<typename _type , size_t _vN>

std::reverse_iterator<_type*> ystdex::cpp2014::rend | ( | _type(&&) | array[_vN] | ) |

在文件 range.hpp 第 181 行定义.

参考自 crend().

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