|
Console Library 8.0.0
A header-only library that makes C++ simple
|
Classes | |
| class | algorithm_t |
| 创建一个算法适配器。 More... | |
| class | Chain |
| 链式生成器,将两个生成器首尾连接。 More... | |
| class | Chunk |
| 分块生成器,将元素按块分组。 More... | |
| class | chunk_t |
| 分块适配器(用于管道操作符)。 More... | |
| class | collect |
| 容器收集适配器。 More... | |
| class | Counter |
| 计数器生成器,生成递增或递减的序列。 More... | |
| class | Cycle |
| 循环生成器,无限循环遍历给定列表。 More... | |
| class | Debug |
| 调试生成器,打印每个元素的值。 More... | |
| class | debug_t |
| 调试适配器(用于管道操作符)。 More... | |
| class | Drop |
| 跳过前n个元素的生成器适配器。 More... | |
| class | drop_t |
| 跳过前n个元素适配器(用于管道操作符)。 More... | |
| class | drop_until_t |
| 跳过元素直到谓词成立适配器(用于管道操作符)。 More... | |
| class | drop_while_t |
| 跳过前若干个元素适配器(用于管道操作符)。 More... | |
| class | DropUntil |
| 跳过元素直到谓词成立(跳过第一个满足条件的元素)。 More... | |
| class | DropWhile |
| 跳过前若干个元素直到谓词不成立。 More... | |
| class | Enumerate |
| 枚举生成器,为每个元素附加索引。 More... | |
| class | enumerate_t |
| 枚举生成器,为每个元素附加索引。 More... | |
| class | FileChunks |
| 文件块生成器,按固定大小读取文件块。 More... | |
| class | FileLines |
| 文件行生成器,逐行读取文本文件。 More... | |
| class | Filter |
| 过滤生成器,只保留满足谓词的元素。 More... | |
| class | filter_t |
| 过滤适配器(用于管道操作符)。 More... | |
| class | Generate |
| 生成器,通过反复调用函数生成无限序列。 More... | |
| class | List |
| 用书数据的序列,从初始化列表构造。 More... | |
| class | Map |
| 映射生成器,对源生成器的每个元素应用函数。 More... | |
| class | map_t |
| 映射适配器(用于管道操作符)。 More... | |
| class | Pipeline |
| 管道类模板,用于组合多个适配器。 More... | |
| class | Pipeline< Op > |
| 单适配器管道特化。 More... | |
| class | Pipeline< Op, Rest... > |
| 多适配器管道特化。 More... | |
| struct | pipeline_t |
| 管道适配器类,用于支持管道操作符。 More... | |
| class | Random |
| 随机数生成器,生成指定范围内的随机数。 More... | |
| class | Range |
| 范围生成器,生成从start到end的等差数列。 More... | |
| class | reduce_t |
| 归约适配器,将生成器所有元素归约为单个值。 More... | |
| class | Repeat |
| 重复生成器,重复生成同一个值指定次数。 More... | |
| class | Scan |
| class | scan_t |
| class | step_by_t |
| 步进适配器(用于管道操作符)。 More... | |
| class | StepBy |
| 步进生成器,按指定步长跳过元素。 More... | |
| class | Take |
| 取前n个元素的生成器适配器。 More... | |
| class | take_t |
| 取前n个元素适配器(用于管道操作符)。 More... | |
| class | take_until_t |
| 取元素直到谓词成立适配器(用于管道操作符)。 More... | |
| class | take_while_t |
| 取前若干个元素适配器(用于管道操作符)。 More... | |
| class | TakeUntil |
| 取元素直到谓词成立(包含第一个满足条件的元素)。 More... | |
| class | TakeWhile |
| 取得前若干个元素直到谓词不成立。 More... | |
| class | to_t |
| 创建目标迭代器适配器。 More... | |
| class | Views |
| 迭代器范围生成器,生成从begin到end的值。 More... | |
| class | Window |
| 滑动窗口生成器,生成固定大小的滑动窗口。 More... | |
| class | window_t |
| 窗口适配器(用于管道操作符)。 More... | |
| class | Zip |
| 压缩生成器,将两个生成器的元素配对输出。 More... | |
Functions | |
| template<class Iter> | |
| Views< Iter > | views (Iter begin, Iter end) |
| 从迭代器范围创建视图生成器。 | |
| template<class Container> | |
| Views< typename Container::iterator > | views (Container &container) |
| 从容器引用创建视图生成器。 | |
| template<class T> | |
| List< T > | list (std::initializer_list< T > list) |
| 从初始化列表创建列表生成器。 | |
| template<class Iterator> | |
| List< typename std::decay< typename Iterator::value_type >::type > | list (Iterator begin, Iterator end) |
| 从迭代器范围创建列表生成器。 | |
| template<class Container> | |
| List< typename Container::value_type > | list (Container &container) |
| 从容器引用创建列表生成器。 | |
| template<class T> | |
| Range< T > | range (T begin, T end, T step=1) |
| 创建范围生成器。 | |
| template<class T> | |
| Range< T > | range (T end) |
| 创建范围生成器。 | |
| template<class T> | |
| Repeat< T > | repeat (T val, size_t n) |
| 创建重复生成器。 | |
| template<class T> | |
| Repeat< T > | repeat (T val) |
| 创建重复生成器。 | |
| template<class T> | |
| Cycle< T > | cycle (std::initializer_list< T > list) |
| 创建循环生成器。 | |
| template<class Iterator> | |
| Cycle< typename std::decay< typename Iterator::value_type >::type > | cycle (Iterator begin, Iterator end) |
| 创建循环生成器。 | |
| template<class Container> | |
| Cycle< typename Container::value_type > | cycle (const Container &container) |
| 创建循环生成器。 | |
| template<class T> | |
| Counter< T > | counter (T start=T{0}, T step=T{1}, size_t times=size_t(-1)) |
| 创建计数器生成器。 | |
| template<class Func> | |
| map_t< Func > | map (Func f) |
| 创建映射适配器。 | |
| template<class Pred> | |
| filter_t< Pred > | filter (Pred pred) |
| 创建过滤适配器。 | |
| take_t | take (size_t n) |
| 创建取前n个元素适配器。 | |
| drop_t | drop (size_t n) |
| 创建跳过前n个元素适配器。 | |
| template<class Func> | |
| Generate< Func > | generate (Func func) |
| 创建生成器适配器。 | |
| template<class Gen1, class Gen2> | |
| Zip< typename std::decay< Gen1 >::type, typename std::decay< Gen2 >::type > | zip (Gen1 &&g1, Gen2 &&g2) |
| 压缩两个生成器。 | |
| template<class Pred> | |
| take_while_t< Pred > | take_while (Pred pred) |
| 创建取前若干个元素适配器。 | |
| template<class Pred> | |
| drop_while_t< Pred > | drop_while (Pred pred) |
| 创建跳过前若干个元素适配器。 | |
| template<class Iterator> | |
| to_t< Iterator > | to (Iterator it) |
| 创建目标迭代器适配器。 | |
| template<class Gen1, class Gen2> | |
| auto | operator& (Gen1 &&g1, Gen2 &&g2) -> decltype(gen::zip(std::forward< Gen1 >(g1), std::forward< Gen2 >(g2))) |
| 按位与操作符重载,用于压缩两个生成器。 | |
| template<class Gen, class... Ops> | |
| auto | operator| (Gen gen, pipeline_t< Ops... > pl) -> decltype(pl.pipeline(gen)) |
| 管道操作符,将管道应用到生成器。 | |
| template<class... Ops> | |
| pipeline_t< Ops... > | pipeline (Ops... ops) |
| 创建管道适配器。 | |
| template<class Op1, class Op2> | |
| pipeline_t< Op1, Op2 > | operator% (Op1 op1, Op2 op2) |
| 管道组合操作符,用于连接两个适配器。 | |
| template<class T> | |
| Random< T > | random (T min, T max, std::mt19937::result_type seed=std::random_device{}()) |
| 创建随机数生成器。 | |
| FileLines | file_lines (const std::string &filename) |
| 创建文件行生成器。 | |
| FileChunks | file_chunks (const std::string &filename, size_t chunk_size=1024, std::ios_base::openmode mode=std::ios::in) |
| 创建文件块生成器。 | |
| window_t | window (size_t size=16) |
| 创建窗口适配器。 | |
| chunk_t | chunk (size_t size=16) |
| 创建分块适配器。 | |
| template<class Gen1, class Gen2> | |
| Chain< Gen1, Gen2 > | chain (Gen1 g1, Gen2 g2) |
| 创建链式生成器,将两个生成器首尾连接。 | |
| template<class Gen, class... Rest> | |
| auto | chain (Gen g, Rest... rest) -> Chain< Gen, decltype(chain(rest...))> |
| 创建链式生成器,将多个生成器首尾连接。 | |
| template<class Gen1, class Gen2> | |
| Chain< Gen1, Gen2 > | operator+ (Gen1 g1, Gen2 g2) |
| 加号操作符重载,用于连接两个生成器。 | |
| step_by_t | step_by (size_t size=1) |
| 创建步进适配器。 | |
| debug_t | debug (std::string msg="DEBUG: ", std::ostream &os=std::cout) |
| 创建调试适配器。 | |
| template<class Pred> | |
| take_until_t< Pred > | take_until (Pred p) |
| 创建取元素直到谓词成立适配器。 | |
| template<class Pred> | |
| drop_until_t< Pred > | drop_until (Pred p) |
| 创建跳过元素直到谓词成立适配器。 | |
| template<class T, class BinaryOp> | |
| reduce_t< T, BinaryOp > | reduce (const T &init, BinaryOp bo) |
| 创建归约适配器。 | |
| template<class T, class BinaryOp> | |
| scan_t< T, BinaryOp > | scan (T init, BinaryOp op) |
| 创建一个扫描适配器。 | |
| template<class T, class... Args> | |
| algorithm_t< T, Args... > | algorithm (T func, const Args &...args) |
| 创建算法适配器。 | |
Variables | |
| static constexpr enumerate_t | enumerate |
| algorithm_t< T, Args... > console::gen::algorithm | ( | T | func, |
| const Args &... | args ) |
创建算法适配器。
| T | 函数返回类型。 |
| Args | 附加参数类型。 |
| func | 函数。 |
| args | 附加参数。 |
| auto console::gen::chain | ( | Gen | g, |
| Rest... | rest ) -> Chain< Gen, decltype(chain(rest...))> |
创建链式生成器,将多个生成器首尾连接。
| Gen | 第一个生成器类型。 |
| ...Rest | 其余生成器类型。 |
| g | 第一个生成器。 |
| rest | 其余生成器。 |
| Chain< Gen1, Gen2 > console::gen::chain | ( | Gen1 | g1, |
| Gen2 | g2 ) |
创建链式生成器,将两个生成器首尾连接。
| Gen1 | 第一个生成器类型。 |
| Gen2 | 第二个生成器类型。 |
| g1 | 第一个生成器。 |
| g2 | 第二个生成器。 |
|
inline |
|
inline |
创建计数器生成器。
| T | 值类型。 |
| start | 起始值,默认为0。 |
| step | 步长,默认为1。 |
| times | 输出次数,默认为无穷。 |
| Cycle< typename Container::value_type > console::gen::cycle | ( | const Container & | container | ) |
创建循环生成器。
| Container | 容器类型。 |
| container | 容器。 |
| Cycle< typename std::decay< typename Iterator::value_type >::type > console::gen::cycle | ( | Iterator | begin, |
| Iterator | end ) |
创建循环生成器。
| Iterator | 迭代器类型。 |
| begin | 起始迭代器。 |
| end | 结束迭代器。 |
| Cycle< T > console::gen::cycle | ( | std::initializer_list< T > | list | ) |
|
inline |
|
inline |
| drop_until_t< Pred > console::gen::drop_until | ( | Pred | p | ) |
|
inline |
|
inline |
创建文件块生成器。
| filename | 文件名。 |
| chunk_size | 每个数据块的大小,默认为1024字节。 |
| mode | 文件打开模式,默认为std::ios::in。 |
|
inline |
| filter_t< Pred > console::gen::filter | ( | Pred | pred | ) |
| Generate< Func > console::gen::generate | ( | Func | func | ) |
| List< typename Container::value_type > console::gen::list | ( | Container & | container | ) |
从容器引用创建列表生成器。
| Container | 容器类型(自动推导)。 |
| container | 容器引用。 |
| List< typename std::decay< typename Iterator::value_type >::type > console::gen::list | ( | Iterator | begin, |
| Iterator | end ) |
从迭代器范围创建列表生成器。
| Iterator | 迭代器类型(自动推导)。 |
| begin | 起始迭代器。 |
| end | 结束迭代器。 |
| List< T > console::gen::list | ( | std::initializer_list< T > | list | ) |
| map_t< Func > console::gen::map | ( | Func | f | ) |
| pipeline_t< Op1, Op2 > console::gen::operator% | ( | Op1 | op1, |
| Op2 | op2 ) |
管道组合操作符,用于连接两个适配器。
| Op1 | 第一个适配器类型。 |
| Op2 | 第二个适配器类型。 |
| op1 | 第一个适配器。 |
| op2 | 第二个适配器。 |
等价于 pipeline(op1, op2),提供更简洁的语法。
| auto console::gen::operator& | ( | Gen1 && | g1, |
| Gen2 && | g2 ) -> decltype(gen::zip( std::forward< Gen1 >(g1), std::forward< Gen2 >(g2))) |
按位与操作符重载,用于压缩两个生成器。
| Gen1 | 第一个生成器类型。 |
| Gen2 | 第二个生成器类型。 |
| g1 | 第一个生成器。 |
| g2 | 第二个生成器。 |
| Chain< Gen1, Gen2 > console::gen::operator+ | ( | Gen1 | g1, |
| Gen2 | g2 ) |
加号操作符重载,用于连接两个生成器。
| Gen1 | 第一个生成器类型。 |
| Gen2 | 第二个生成器类型。 |
| g1 | 第一个生成器。 |
| g2 | 第二个生成器。 |
| auto console::gen::operator| | ( | Gen | gen, |
| pipeline_t< Ops... > | pl ) -> decltype(pl.pipeline(gen)) |
管道操作符,将管道应用到生成器。
| Gen | 源生成器类型。 |
| gen | 源生成器。 |
| pl | 管道适配器。 |
| pipeline_t< Ops... > console::gen::pipeline | ( | Ops... | ops | ) |
创建管道适配器。
| Ops | 适配器类型列表。 |
| ops | 适配器对象。 |
用于将多个适配器组合成一个管道。
| Random< T > console::gen::random | ( | T | min, |
| T | max, | ||
| std::mt19937::result_type | seed = std::random_device{}() ) |
创建随机数生成器。
| T | 数值类型。 |
| min | 随机数最小值(包含)。 |
| max | 随机数最大值(包含)。 |
| seed | 随机数种子,默认为随机设备生成。 |
| Range< T > console::gen::range | ( | T | begin, |
| T | end, | ||
| T | step = 1 ) |
创建范围生成器。
| T | 数值类型。 |
| begin | 起始值。 |
| end | 结束值(不包含)。 |
| step | 步长,默认为1。 |
| Range< T > console::gen::range | ( | T | end | ) |
| reduce_t< T, BinaryOp > console::gen::reduce | ( | const T & | init, |
| BinaryOp | bo ) |
创建归约适配器。
| T | 初始值类型。 |
| BinaryOp | 二元操作符类型。 |
| Repeat< T > console::gen::repeat | ( | T | val | ) |
| Repeat< T > console::gen::repeat | ( | T | val, |
| size_t | n ) |
| scan_t< T, BinaryOp > console::gen::scan | ( | T | init, |
| BinaryOp | op ) |
创建一个扫描适配器。
| T | 扫描状态类型。 |
| BinaryOp | 二元操作符类型。 |
| init | 初始值。 |
| op | 二元操作符。 |
|
inline |
|
inline |
| take_until_t< Pred > console::gen::take_until | ( | Pred | p | ) |
|
inline |
| to_t< Iterator > console::gen::to | ( | Iterator | it | ) |
创建目标迭代器适配器。
| Iterator | 目标迭代器类型。 |
| it | 目标迭代器。 |
| Views< typename Container::iterator > console::gen::views | ( | Container & | container | ) |
从容器引用创建视图生成器。
| Container | 容器类型(自动推导)。 |
| container | 容器引用。 |
| Views< Iter > console::gen::views | ( | Iter | begin, |
| Iter | end ) |
从迭代器范围创建视图生成器。
| Iter | 迭代器类型。 |
| begin | 起始迭代器。 |
| end | 结束迭代器。 |
|
inline |
| Zip< typename std::decay< Gen1 >::type, typename std::decay< Gen2 >::type > console::gen::zip | ( | Gen1 && | g1, |
| Gen2 && | g2 ) |
压缩两个生成器。
| Gen1 | 第一个生成器类型。 |
| Gen2 | 第二个生成器类型。 |
| g1 | 第一个生成器。 |
| g2 | 第二个生成器。 |
|
staticconstexpr |