|
Console Library 8.0.0
A header-only library that makes C++ simple
|
提供类型安全的可判别联合体 (Tagged Union)。 More...
#include <cstddef>#include <cstring>#include <exception>#include <new>#include <type_traits>#include <utility>Go to the source code of this file.
Classes | |
| class | console::Union< Ts > |
| 类型安全的可判别联合体。 More... | |
| struct | console::Union< Ts >::type_at< 0, T, Rest... > |
| struct | console::Union< Ts >::type_at< N, T, Rest... > |
| struct | console::Union< Ts >::type_index< T > |
| struct | console::Union< Ts >::type_index< T, U, Rest... > |
| struct | console::Union< Ts >::max< N > |
| struct | console::Union< Ts >::max< N, Ns... > |
| struct | console::Union< Ts >::has_void< T > |
| struct | console::Union< Ts >::has_void< T, Rest... > |
| struct | console::ignore_t |
| 忽略任意参数的函数对象类型。 More... | |
Namespaces | |
| namespace | console |
| 本库所有组件所在的顶层命名空间。 | |
Macros | |
| #define | TERMINATE_FOR_EXCEPTION(...) |
| 宏:在异常发生时调用 std::terminate。 | |
Variables | |
| static constexpr ignore_t | console::ignore |
| 全局 ignore 实例,可用于忽略任意参数。 | |
提供类型安全的可判别联合体 (Tagged Union)。
包含模板类 Union,支持存储多种类型中的一种,并提供类型安全的访问和访问者模式。 所有类型必须是完整的、可析构的。若构造/拷贝/移动过程中抛出异常,将调用 std::terminate。
| #define TERMINATE_FOR_EXCEPTION | ( | ... | ) |
宏:在异常发生时调用 std::terminate。
用于包装构造/拷贝/移动操作,保证强异常安全 (一旦抛出异常则终止程序)。