NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
concepts.hpp 文件参考

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

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

浏览该文件的源代码.

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

命名空间

namespace  ranges
 范围操作命名空间

概念

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

变量

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

详细描述

概念和类型约束

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

在文件 concepts.hpp 中定义.