库概念

来自cppreference.com
< cpp

概念是一项对于类型的具名要求集合的描述。

概念的正式规格(ISO/IEC TS 19217:2015)是一个试验性的规格,它使得在重载解决模板特化中,检验每个模板参数是否满足期待成为可能。

列于此页面的库概念是用于C++标准化文本,用来定义标准库期待的具名要求。我们期待C++标准库的未来版本以上述技术规格正规化这些库概念。在那之前, 确保库模板通过满足这些概念的模板参数实例化,是程序员的重担。不这么做的可能会带来非常复杂的编译器诊断报告。

目录

基础

指定该类型对象可以默认构造
(概念)
指定该类型对象可以从右值构造
(概念)
指定该类型对象可以从左值构造
(概念)
指定该类型对象可以从右值赋值
(概念)
指定该类型对象可以从左值赋值
(概念)
指定该对象可以析构
(概念)

布局

注意,标准没有定义指定于此子类别的具名要求或概念。
它们是由核心语言定义的类型分类。把它们作为概念放到此处只是为了一致性。
拥有平凡复制、赋值及析构器的类
(概念)
拥有平凡构造器、赋值及析构器的类
(概念)
仅包含其他标准布局(StandartLayout)成员的非虚类,都有相同的访问控制
(概念)
POD(平旧数据)结构体,与C struct兼容
(概念)

库所属

operator==是等价关系
(概念)
operator<是严格弱序关系
(概念)
(C++11)
可以用一个无限定的非成员函数调用swap()来交换的类型
(概念)
解引用到可交换Swappable)类型的迭代器Iterator
(概念)
支持空置的类指针类型
(概念)
(C++11)
输入值相异,相同输出概率低的函数对象FunctionObject
(概念)
包含分配信息的类类型
(概念)
能以函数调用语法调用的对象
(概念)
定义了调用操作的类型
(概念)
有单参数,且不修改它,返回值可转换为bool函数对象FunctionObject
(概念)
有双参数,且不修改它,返回值可转换为bool函数对象FunctionObject
(概念)
建立顺序关系的二元谓词BinaryPredicate
(概念)

容器

允许通过迭代器访问元素的数据结构
(概念)
使用双向迭代器的容器
(概念)
使用分配器的容器
(概念)
元素线性存储的容器
(概念)
元素存储于相邻内存地址的容器
(概念)
通过将元素关联到关键存储它们的容器
(概念)
通过将元素关联到关键以将它们存储于桶中的容器
(概念)
容器元素
可在未初始化存储默认构造的元素
(概念)
可在未初始化存储中复制构造的元素
(概念)
可在未初始化存储中移动构造的函数
(概念)
可在未初始化存储中构造的元素
(概念)
(C++11)
可用分配器销毁的元素
(概念)

迭代器

在某些数据结构内访问数据的通用概念
(概念)
可用于读数据的迭代器
(概念)
可用于写数据的迭代器
(概念)
可用于多次读数据的迭代器
(概念)
可增减的迭代器
(概念)
可在常数时间内增长的迭代器
(概念)
指向连续分配元素的迭代器
(概念)

流I/O函数

不跳过前导空格并对处理字符计数的流输入函数
(概念)
跳过前导空格的流输入函数
(概念)
基本流输出函数
(概念)
设置失败位并返回流引用的流输出函数
(概念)

随机数生成

投入一个整数序列,产出一个32位无符号值的序列
(概念)
返回均匀分布的随机无符号整数
(概念)
由种子定义的确定性均匀随机位生成器UniformRandomBitGenerator
(概念)
转换另一个随机数引擎RandomNumberEngine)输出的随机数引擎RandomNumberEngine
(概念)
返回服从给定数学概率密度分布函数的随机数
(概念)

并发

为执行代理(即线程)提供独占所有权语义
(概念)
(C++11)
支持有意锁获取的可基础锁BasicLockable
(概念)
支持定时锁获取的可锁Lockable
(概念)
(C++11)
保护数据免受数据竞争和连续一致同步影响的可锁Lockable
(概念)
保护数据免受数据竞争和连续一致同步影响的可定时锁TimedLockable
(概念)
支持共享所有权语义的互斥Mutex
(概念)
支持共享所有权语义的定时互斥TimedMutex
(概念)

其他

描述类型的属性
(概念)
描述二个类型间的关系
(概念)
修改类型属性
(概念)
(C++11)
将时期、时间点,以及取得当前时间点的函数聚合
(概念)
不抛异常的时钟Clock
(概念)
为字符类型定义类型和函数
(概念)
表示流的位置
(概念)
表示流的偏移
(概念)
位集、整数或枚举
(概念)
初始化效率上等于赋值的类型
(概念)
正则表达式库定义类型和函数
(概念)
拥有constexpr构造器的类型
(概念)