NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
concepts.hpp 文件参考

概念和类型约束 更多...

concepts.hpp 的引用(Include)关系图:

浏览该文件的源代码.

struct  view_base< Derived >
 范围视图的基类模板 更多...
struct  is_view< T >
 检查类型是否为视图 更多...
struct  is_view< ranges::view_base< D > >
 view_base特化的视图检查 更多...

命名空间

namespace  ranges
 范围操作命名空间

概念

concept  same_as
 检查两个类型是否完全相同
concept  common_reference_with
 检查两个类型是否有公共引用类型
concept  common_with
 检查两个类型是否有公共类型
concept  derived_from
 检查类型是否派生自另一个类型
concept  constructible_from
 检查类型是否可以使用指定参数构造
concept  move_constructible
 检查类型是否可移动构造
concept  copy_constructible
 检查类型是否可复制构造
concept  default_initializable
 检查类型是否可默认初始化
concept  assignable_from
 检查类型是否可以从另一个类型赋值
concept  movable
 检查类型是否可移动
concept  copyable
 检查类型是否可复制
concept  one_way_equality_comparable
 检查两个类型是否可以单向相等比较
concept  both_equality_comparable
 检查两个类型是否可以双向相等比较
concept  equality_comparable
 检查类型是否可与自身进行相等比较
concept  equality_comparable_with
 检查两个类型是否可以互相进行相等比较
concept  one_way_ordered
 检查两个类型是否可以单向顺序比较
concept  both_ordered_with
 检查两个类型是否可以双向顺序比较
concept  totally_ordered
 检查类型是否完全有序
concept  totally_ordered_with
 检查两个类型是否可以互相完全有序比较
concept  semiregular
 检查类型是否为半常规类型
concept  regular
 检查类型是否为常规类型
concept  iterator_typedef
 检查类型是否具有迭代器所需的所有类型定义
concept  input_iterator
 检查类型是否为输入迭代器
concept  forward_iterator
 检查类型是否为前向迭代器
concept  bidirectional_iterator
 检查类型是否为双向迭代器
concept  random_access_iterator
 检查类型是否为随机访问迭代器
concept  contiguous_iterator
 检查类型是否为连续迭代器
concept  sentinel_for
 检查类型是否为迭代器的哨兵
concept  sized_sentinel_for
 检查哨兵是否支持大小计算

变量

template<typename T>
NEFORCE_INLINE17 constexpr bool is_view_v = is_base_of_v<ranges::view_base<T>, T>
 is_view的便捷变量模板
template<typename Iterator>
NEFORCE_INLINE17 constexpr bool is_ranges_iter_v = inner::__is_iterator_with_cate_v<Iterator>
 检查类型是否为范围迭代器
template<typename Iterator>
NEFORCE_INLINE17 constexpr bool is_iter_v
 检查类型是否为迭代器
template<typename Iterator>
NEFORCE_INLINE17 constexpr bool is_ranges_input_iter_v
 检查是否为范围输入迭代器
template<typename Iterator>
NEFORCE_INLINE17 constexpr bool is_input_iter_v
 检查是否为输入迭代器
template<typename Iterator>
NEFORCE_INLINE17 constexpr bool is_ranges_fwd_iter_v
 检查是否为范围前向迭代器
template<typename Iterator>
NEFORCE_INLINE17 constexpr bool is_fwd_iter_v
 检查是否为前向迭代器
template<typename Iterator>
NEFORCE_INLINE17 constexpr bool is_ranges_bid_iter_v
 检查是否为范围双向迭代器
template<typename Iterator>
NEFORCE_INLINE17 constexpr bool is_bid_iter_v
 检查是否为双向迭代器
template<typename Iterator>
NEFORCE_INLINE17 constexpr bool is_ranges_rnd_iter_v
 检查是否为范围随机访问迭代器
template<typename Iterator>
NEFORCE_INLINE17 constexpr bool is_rnd_iter_v
 检查是否为随机访问迭代器
template<typename Iterator>
NEFORCE_INLINE17 constexpr bool is_ranges_cot_iter_v
 检查是否为范围连续迭代器
template<typename Iterator>
NEFORCE_INLINE17 constexpr bool is_cot_iter_v
 检查是否为连续迭代器

详细描述

概念和类型约束

此文件提供了C++20概念的实现,以及用于类型约束和编译时检查的工具。

在文件 concepts.hpp 中定义.