Console Library 4.7.0
A header-only library that makes C++ simple
Loading...
Searching...
No Matches
all.h
Go to the documentation of this file.
1
9
10/*
11Copyright (c) 2026 MrXie1109
12
13Permission is hereby granted, free of charge, to any person obtaining a copy
14of this software and associated documentation files (the "Software"), to deal
15in the Software without restriction, including without limitation the rights
16to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17copies of the Software, and to permit persons to whom the Software is
18furnished to do so, subject to the following conditions:
19
20The above copyright notice and this permission notice shall be included in all
21copies or substantial portions of the Software.
22
23THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
29SOFTWARE.
30*/
31
32#pragma once
33#include "std.h"
34#include "output.h"
35#include "input.h"
36#include "time.h"
37#include "random.h"
38#include "strpp.h"
39#include "colorful.h"
40#include "logging.h"
41#include "progress.h"
42#include "csexc.h"
43#include "file.h"
44#include "box.h"
45#include "multiarray.h"
46#include "cursor_ptr.h"
47#include "literals.h"
48#include "view.h"
49#include "compre.h"
50#include "sfinae.h"
51#include "re.h"
52#include "info.h"
53#include "repr.h"
54#include "outfwd.h"
55#include "maybe.h"
56#include "matools.h"
57#include "iter.h"
58#include "rational.h"
59#include "screen.h"
60#include "kb.h" // windows.h
61
62// #include "win/melody.h"
63
68namespace console
69{
70 static constexpr char meta[] = "CONSOLE-LIB-2026-5-4";
71}
提供可存储任意类型的异构容器(Box)和类型擦除包装器(Item)。
提供控制台颜色和样式修饰的 ANSI 转义序列常量。
提供类似 Python 列表推导式的容器适配器,支持 map/filter 等函数式操作。
定义 console 库使用的自定义异常类层次结构。
提供双指针游标智能指针,分离所有权与访问位置。
提供跨平台的文件路径封装和文件 I/O 操作。
提供库的版本信息、许可证、编译器及平台识别函数。
提供丰富的控制台输入函数,支持类型安全输入、范围检查、行读取、确认输入等。
提供些许关于迭代器的拓展功能。
非阻塞的获取键盘的按键输入。
提供自定义字面量运算符,包括字符串字面量、时间字面量和格式化字符串字面量。
提供带颜色和级别的日志记录功能。
提供 MultiArray 多维数组的数学工具函数。
提供类似 std::optional 的可选值容器 Maybe,支持空状态(nothing)。
提供编译期维度固定的多维数组容器 MultiArray,支持任意维度和元素级算术/逻辑/位运算。
本库所有组件所在的顶层命名空间。
static constexpr char meta[]
Definition all.h:70
为 STL 容器提供输出流运算符的前向声明。
提供 STL 容器的格式化输出和灵活的输出控制工具。
提供非侵入式的容器遍历进度条显示。
提供随机数生成、随机选择、随机打乱等实用工具。
提供运行时的分数运算。
提供正则表达式匹配、搜索、替换、分割等操作,接口类似 Python 的 re 模块。
提供类似 Python 的 repr() 函数,用于生成对象的可读字符串表示。
使用8点位Unicode盲文实现的控制台艺术,需要终端支持,建议设置合理的字体和大小。
提供编译期类型特征检测(SFINAE 工具),用于判断容器、可调用对象、迭代器、下标访问、字符串、可打印类型、字符类型等。
聚合包含所有 C++ 标准库头文件(根据语言标准版本条件包含)。
提供字符串处理工具函数和格式化类。
提供时间度量、计时、休眠和日期时间格式化功能。
提供容器的非拥有视图(View),支持区间切片和便捷的工厂函数。