NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
sys_console类 参考

系统控制台单例类 更多...

#include <console.hpp>

struct  console_size
 控制台尺寸结构 更多...

Public 成员函数

void flush ()
 刷新输出缓冲区
void print_string (const string &str)
 打印字符串
void print_string (const string_view &view)
 打印字符串视图
void print_string (const char *str)
 打印C风格字符串
string read ()
 读取输入(直到空白字符)
string readln ()
 读取一行输入
char read_char ()
 读取单个字符
template<typename... Args>
void print (Args &&... args)
 打印任意类型的值
template<typename... Args>
void printf (const string_view fmt, Args &&... args)
 格式化打印
template<typename... Args>
void printc (const color &color, Args &&... args)
 带颜色的打印
template<typename... Args>
void printcf (const color &color, const string_view fmt, Args &&... args)
 带颜色的格式化打印
void println ()
 打印换行
template<typename... Args, enable_if_t<(sizeof...(Args) > 0), int > = 0>
void println (Args &&... args)
 打印任意类型的值并换行
template<typename... Args>
void printfln (const string_view fmt, Args &&... args)
 格式化打印并换行
template<typename... Args>
void printcln (const color &color, Args &&... args)
 带颜色的打印并换行
template<typename... Args>
void printcfln (const color &color, const string_view fmt, Args &&... args)
 带颜色的格式化打印并换行
void clear ()
 清空屏幕
void pause (string_view msg="Press any char to continue...")
 暂停并等待用户按键
bool confirmation (string_view prompt="Are you sure? (y/n): ", char yes='y', char no='n')
 用户确认对话框
string password (string_view prompt="Password: ", char mask=' *', bool show_length=false)
 密码输入
void set_color (const integer32 &color)
 设置颜色(使用ANSI代码)
void set_color (const color &color, bool use_256_color=true)
 设置颜色
void set_background_color (const color &color, bool use_256_color=true)
 设置背景色
void reset_color ()
 重置颜色
void progress_bar (double percentage, int width=50, bool show_percentage=true, char fill_char='#', char empty_char=' ')
 显示进度条
void set_cursor_position (int row, int column)
 设置光标位置
void save_cursor_position ()
 保存光标位置
void restore_cursor_position ()
 恢复光标位置
void hide_cursor ()
 隐藏光标
void show_cursor ()
 显示光标
NEFORCE_NODISCARD console_size get_console_size () const
 获取控制台尺寸
NEFORCE_NODISCARD bool is_terminal_resized ()
 检查终端是否已调整大小
NEFORCE_NODISCARD bool supports_colors () const
 检查是否支持颜色
NEFORCE_NODISCARD bool supports_truecolor () const
 检查是否支持真彩色
NEFORCE_NODISCARD bool supports_unicode () const
 检查是否支持Unicode
NEFORCE_NODISCARD bool is_interactive () const
 检查是否是交互式终端
NEFORCE_NODISCARD string console_type () const
 获取终端类型
void typewriter_print (string_view text, milliseconds delay_per_char=milliseconds(50), bool with_sound=false)
 打字机效果打印
void typewriter_println (string_view text, milliseconds delay_per_char=milliseconds(50), bool with_sound=false)
 打字机效果打印并换行
void beep ()
 发出蜂鸣声
void flash_screen ()
 屏幕闪烁
void notification (string_view message, milliseconds duration=milliseconds(2000), bool play_sound=true)
 显示通知
void fade_in (string_view text, milliseconds duration=milliseconds(1000), const color &start_color=color::black(), const color &end_color=color::white())
 淡入效果
void fade_out (string_view text, milliseconds duration=milliseconds(1000), const color &start_color=color::white(), const color &end_color=color::black())
 淡出效果
void fade_in_out (string_view text, milliseconds in_duration=milliseconds(500), milliseconds hold_duration=milliseconds(1000), milliseconds out_duration=milliseconds(500))
 淡入-保持-淡出效果

静态 Public 成员函数

static sys_consoleinstance () noexcept
 获取单例实例

详细描述

系统控制台单例类

提供了丰富的控制台输入输出功能,包括:

  • 彩色文本输出
  • 光标控制
  • 进度条显示
  • 密码输入
  • 打字机效果
  • 淡入淡出效果
  • 终端信息查询

所有方法都是线程安全的。

在文件 console.hpp59 行定义.

成员函数说明

◆ confirmation()

bool sys_console::confirmation ( string_view prompt = "Are you sure? (y/n): ",
char yes = 'y',
char no = 'n' )

用户确认对话框

参数
prompt提示信息
yes确认字符
no取消字符
返回
是否确认

◆ console_type()

NEFORCE_NODISCARD string sys_console::console_type ( ) const

获取终端类型

返回
终端类型字符串

◆ fade_in()

void sys_console::fade_in ( string_view text,
milliseconds duration = milliseconds(1000),
const color & start_color = color::black(),
const color & end_color = color::white() )

淡入效果

参数
text文本
duration持续时间
start_color起始颜色
end_color结束颜色

引用了 color::black() , 以及 color::white().

◆ fade_in_out()

void sys_console::fade_in_out ( string_view text,
milliseconds in_duration = milliseconds(500),
milliseconds hold_duration = milliseconds(1000),
milliseconds out_duration = milliseconds(500) )

淡入-保持-淡出效果

参数
text文本
in_duration淡入时间
hold_duration保持时间
out_duration淡出时间

◆ fade_out()

void sys_console::fade_out ( string_view text,
milliseconds duration = milliseconds(1000),
const color & start_color = color::white(),
const color & end_color = color::black() )

淡出效果

参数
text文本
duration持续时间
start_color起始颜色
end_color结束颜色

引用了 color::black() , 以及 color::white().

◆ get_console_size()

NEFORCE_NODISCARD console_size sys_console::get_console_size ( ) const

获取控制台尺寸

返回
控制台尺寸

◆ instance()

sys_console & sys_console::instance ( )
inlinestaticnoexcept

获取单例实例

返回
控制台实例引用

在文件 console.hpp134 行定义.

引用了 console , 以及 instance().

被这些函数引用 instance().

◆ is_interactive()

NEFORCE_NODISCARD bool sys_console::is_interactive ( ) const

检查是否是交互式终端

返回
是否是交互式

◆ is_terminal_resized()

NEFORCE_NODISCARD bool sys_console::is_terminal_resized ( )

检查终端是否已调整大小

返回
如果大小发生变化返回true

◆ notification()

void sys_console::notification ( string_view message,
milliseconds duration = milliseconds(2000),
bool play_sound = true )

显示通知

参数
message通知消息
duration显示时长
play_sound是否播放声音

◆ password()

string sys_console::password ( string_view prompt = "Password: ",
char mask = ' *',
bool show_length = false )

密码输入

参数
prompt提示信息
mask掩码字符('\0'表示不显示)
show_length是否显示已输入长度
返回
输入的密码
异常
console_exceptionWindows中如果设置控制台模式失败 / Linux中如果进程被终止

◆ pause()

void sys_console::pause ( string_view msg = "Press any char to continue...")

暂停并等待用户按键

参数
msg提示信息

◆ print()

template<typename... Args>
void sys_console::print ( Args &&... args)
inline

打印任意类型的值

模板参数
Args参数类型
参数
args打印参数

在文件 console.hpp186 行定义.

引用了 forward() , 以及 to_string().

◆ print_string() [1/3]

void sys_console::print_string ( const char * str)

打印C风格字符串

参数
str要打印的字符串

◆ print_string() [2/3]

void sys_console::print_string ( const string & str)

打印字符串

参数
str要打印的字符串

◆ print_string() [3/3]

void sys_console::print_string ( const string_view & view)

打印字符串视图

参数
view要打印的字符串

◆ printc()

template<typename... Args>
void sys_console::printc ( const color & color,
Args &&... args )
inline

带颜色的打印

模板参数
Args参数类型
参数
color颜色
args打印参数

在文件 console.hpp210 行定义.

引用了 forward() , 以及 to_string().

◆ printcf()

template<typename... Args>
void sys_console::printcf ( const color & color,
const string_view fmt,
Args &&... args )
inline

带颜色的格式化打印

模板参数
Args参数类型
参数
color颜色
fmt格式字符串
args打印参数

在文件 console.hpp225 行定义.

引用了 format() , 以及 forward().

◆ printcfln()

template<typename... Args>
void sys_console::printcfln ( const color & color,
const string_view fmt,
Args &&... args )
inline

带颜色的格式化打印并换行

模板参数
Args参数类型
参数
color颜色
fmt格式字符串
args打印参数

在文件 console.hpp283 行定义.

引用了 format() , 以及 forward().

◆ printcln()

template<typename... Args>
void sys_console::printcln ( const color & color,
Args &&... args )
inline

带颜色的打印并换行

模板参数
Args参数类型
参数
color颜色
args打印参数

在文件 console.hpp268 行定义.

引用了 forward() , 以及 to_string().

◆ printf()

template<typename... Args>
void sys_console::printf ( const string_view fmt,
Args &&... args )
inline

格式化打印

模板参数
Args参数类型
参数
fmt格式字符串
args格式化参数

在文件 console.hpp198 行定义.

引用了 format() , 以及 forward().

◆ printfln()

template<typename... Args>
void sys_console::printfln ( const string_view fmt,
Args &&... args )
inline

格式化打印并换行

模板参数
Args参数类型
参数
fmt格式字符串
args格式化参数

在文件 console.hpp255 行定义.

引用了 format() , 以及 forward().

◆ println()

template<typename... Args, enable_if_t<(sizeof...(Args) > 0), int > = 0>
void sys_console::println ( Args &&... args)
inline

打印任意类型的值并换行

模板参数
Args参数类型
参数
args打印参数

在文件 console.hpp242 行定义.

引用了 forward() , 以及 to_string().

◆ progress_bar()

void sys_console::progress_bar ( double percentage,
int width = 50,
bool show_percentage = true,
char fill_char = '#',
char empty_char = ' ' )

显示进度条

参数
percentage进度百分比(0.0-100.0或0.0-1.0)
width进度条宽度
show_percentage是否显示百分比
fill_char填充字符
empty_char空白字符

◆ read()

string sys_console::read ( )

读取输入(直到空白字符)

返回
读取的字符串

◆ read_char()

char sys_console::read_char ( )

读取单个字符

返回
读取的字符

◆ readln()

string sys_console::readln ( )

读取一行输入

返回
读取的行

◆ set_background_color()

void sys_console::set_background_color ( const color & color,
bool use_256_color = true )

设置背景色

参数
color颜色对象
use_256_color是否使用256色模式

◆ set_color() [1/2]

void sys_console::set_color ( const color & color,
bool use_256_color = true )

设置颜色

参数
color颜色对象
use_256_color是否使用256色模式

◆ set_color() [2/2]

void sys_console::set_color ( const integer32 & color)

设置颜色(使用ANSI代码)

参数
colorANSI颜色代码

◆ set_cursor_position()

void sys_console::set_cursor_position ( int row,
int column )

设置光标位置

参数
row行(从1开始)
column列(从1开始)

◆ supports_colors()

NEFORCE_NODISCARD bool sys_console::supports_colors ( ) const

检查是否支持颜色

返回
是否支持

◆ supports_truecolor()

NEFORCE_NODISCARD bool sys_console::supports_truecolor ( ) const

检查是否支持真彩色

返回
是否支持

◆ supports_unicode()

NEFORCE_NODISCARD bool sys_console::supports_unicode ( ) const

检查是否支持Unicode

返回
是否支持

◆ typewriter_print()

void sys_console::typewriter_print ( string_view text,
milliseconds delay_per_char = milliseconds(50),
bool with_sound = false )

打字机效果打印

参数
text要打印的文本
delay_per_char每个字符的延迟
with_sound是否伴随声音

◆ typewriter_println()

void sys_console::typewriter_println ( string_view text,
milliseconds delay_per_char = milliseconds(50),
bool with_sound = false )

打字机效果打印并换行

参数
text要打印的文本
delay_per_char每个字符的延迟
with_sound是否伴随声音

该类的文档由以下文件生成: