|
Console Library 8.0.0
A header-only library that makes C++ simple
|
生成器库扩展功能。 More...
#include <chrono>#include <cmath>#include <cstdint>#include <fstream>#include <iostream>#include <memory>#include <string>#include <tuple>#include "../core/sfinae.h"#include "../util/params.h"#include "./gen.h"Go to the source code of this file.
Namespaces | |
| namespace | console |
| 本库所有组件所在的顶层命名空间。 | |
| namespace | console::gen |
| namespace | console::ops |
Functions | |
| template<class Gen, class... Ops> | |
| auto | console::gen::operator| (Gen gen, pipeline_t< Ops... > pl) -> decltype(pl.pipeline(gen)) |
| 管道操作符,将管道应用到生成器。 | |
| template<class... Ops> | |
| pipeline_t< Ops... > | console::gen::pipeline (Ops... ops) |
| 创建管道适配器。 | |
| template<class Op1, class Op2> | |
| pipeline_t< Op1, Op2 > | console::gen::operator% (Op1 op1, Op2 op2) |
| 管道组合操作符,用于连接两个适配器。 | |
| template<class T> | |
| Random< T > | console::gen::random (T min, T max, std::mt19937::result_type seed=std::random_device{}()) |
| 创建随机数生成器。 | |
| FileLines | console::gen::file_lines (const std::string &filename) |
| 创建文件行生成器。 | |
| FileChunks | console::gen::file_chunks (const std::string &filename, size_t chunk_size=1024, std::ios_base::openmode mode=std::ios::in) |
| 创建文件块生成器。 | |
| window_t | console::gen::window (size_t size=16) |
| 创建窗口适配器。 | |
| chunk_t | console::gen::chunk (size_t size=16) |
| 创建分块适配器。 | |
| template<class Gen1, class Gen2> | |
| Chain< Gen1, Gen2 > | console::gen::chain (Gen1 g1, Gen2 g2) |
| 创建链式生成器,将两个生成器首尾连接。 | |
| template<class Gen, class... Rest> | |
| auto | console::gen::chain (Gen g, Rest... rest) -> Chain< Gen, decltype(chain(rest...))> |
| 创建链式生成器,将多个生成器首尾连接。 | |
| template<class Gen1, class Gen2> | |
| Chain< Gen1, Gen2 > | console::gen::operator+ (Gen1 g1, Gen2 g2) |
| 加号操作符重载,用于连接两个生成器。 | |
| step_by_t | console::gen::step_by (size_t size=1) |
| 创建步进适配器。 | |
| debug_t | console::gen::debug (std::string msg="DEBUG: ", std::ostream &os=std::cout) |
| 创建调试适配器。 | |
| template<class Pred> | |
| take_until_t< Pred > | console::gen::take_until (Pred p) |
| 创建取元素直到谓词成立适配器。 | |
| template<class Pred> | |
| drop_until_t< Pred > | console::gen::drop_until (Pred p) |
| 创建跳过元素直到谓词成立适配器。 | |
| template<class T, class BinaryOp> | |
| reduce_t< T, BinaryOp > | console::gen::reduce (const T &init, BinaryOp bo) |
| 创建归约适配器。 | |
| template<class T, class BinaryOp> | |
| scan_t< T, BinaryOp > | console::gen::scan (T init, BinaryOp op) |
| 创建一个扫描适配器。 | |
| template<class T, class... Args> | |
| algorithm_t< T, Args... > | console::gen::algorithm (T func, const Args &...args) |
| 创建算法适配器。 | |
| template<class T> | |
| Pow< T > | console::ops::pow (T exp) |
| 创建幂运算变换器。 | |
| template<class T> | |
| Between< T > | console::ops::between (T low, T high) |
| 创建闭区间谓词。 | |
| template<class T> | |
| BetweenExclusive< T > | console::ops::between_exclusive (T low, T high) |
| 创建开区间谓词。 | |
| template<class T> | |
| DivisibleBy< T > | console::ops::divisible_by (T n) |
| 创建整除谓词。 | |
| template<class T> | |
| Clamp< T > | console::ops::clamp (T low, T high) |
| 创建限幅变换器。 | |
| template<size_t N> | |
| nth_t< N > | console::ops::nth () |
| 获取 tuple/pair/array 的第 N 个元素的函数。 | |
| template<class Class, class Ret, class... Args> | |
| Method< Class, Ret, Args... > | console::ops::method (Ret(Class::*ptr)(Args...), const Args &...args) |
| 创建成员函数调用器。 | |
| template<class... Args> | |
| Call< Args... > | console::ops::call (const Args &...args) |
| 创建函数调用器。 | |