ABC: A System for Sequential Synthesis and Verification
Loading...
Searching...
No Matches
cadical_terminal.cpp
Go to the documentation of this file.
1
#include "
global.h
"
2
3
#include "
internal.hpp
"
4
5
#ifdef WIN32
6
#include <io.h>
7
#define isatty _isatty
8
#endif
9
10
ABC_NAMESPACE_IMPL_START
11
12
namespace
CaDiCaL
{
13
14
Terminal::Terminal
(FILE *f) : file (f), reset_on_exit (
false
) {
15
CADICAL_assert
(file);
16
int
fd = fileno (f);
17
CADICAL_assert
(fd == 1 || fd == 2);
18
use_colors = connected = isatty (fd);
19
}
20
21
void
Terminal::force_colors
() { use_colors = connected =
true
; }
22
void
Terminal::force_no_colors
() { use_colors =
false
; }
23
void
Terminal::force_reset_on_exit
() { reset_on_exit =
true
; }
24
25
void
Terminal::reset
() {
26
if
(!connected)
27
return
;
28
erase_until_end_of_line
();
29
cursor
(
true
);
30
normal
();
31
fflush (file);
32
}
33
34
void
Terminal::disable
() {
35
reset
();
36
connected = use_colors =
false
;
37
}
38
39
Terminal::~Terminal
() {
40
if
(reset_on_exit)
41
reset
();
42
}
43
44
Terminal
tout
(stdout);
45
Terminal
terr
(stderr);
46
47
}
// namespace CaDiCaL
48
49
ABC_NAMESPACE_IMPL_END
ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_START
Definition
abc_namespaces.h:54
ABC_NAMESPACE_IMPL_END
#define ABC_NAMESPACE_IMPL_END
Definition
abc_namespaces.h:55
global.h
CADICAL_assert
#define CADICAL_assert(ignore)
Definition
global.h:14
CaDiCaL::Terminal
Definition
terminal.hpp:10
CaDiCaL::Terminal::Terminal
Terminal(FILE *file)
Definition
cadical_terminal.cpp:14
CaDiCaL::Terminal::~Terminal
~Terminal()
Definition
cadical_terminal.cpp:39
CaDiCaL::Terminal::force_colors
void force_colors()
Definition
cadical_terminal.cpp:21
CaDiCaL::Terminal::force_reset_on_exit
void force_reset_on_exit()
Definition
cadical_terminal.cpp:23
CaDiCaL::Terminal::erase_until_end_of_line
void erase_until_end_of_line()
Definition
terminal.hpp:85
CaDiCaL::Terminal::cursor
void cursor(bool on)
Definition
terminal.hpp:83
CaDiCaL::Terminal::normal
void normal()
Definition
terminal.hpp:64
CaDiCaL::Terminal::force_no_colors
void force_no_colors()
Definition
cadical_terminal.cpp:22
CaDiCaL::Terminal::disable
void disable()
Definition
cadical_terminal.cpp:34
CaDiCaL::Terminal::reset
void reset()
Definition
cadical_terminal.cpp:25
internal.hpp
CaDiCaL
Definition
arena.hpp:8
CaDiCaL::terr
Terminal terr(stderr)
Definition
terminal.hpp:98
CaDiCaL::tout
Terminal tout(stdout)
Definition
terminal.hpp:97
false
#define false
Definition
place_base.h:29
src
sat
cadical
cadical_terminal.cpp
Generated by Doxygen 1.13.2 © 2025 EPTansuo. All rights reserved.
鲁ICP备2021046540号