Monero
Toggle main menu visibility
Loading...
Searching...
No Matches
contrib
epee
include
readline_buffer.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <streambuf>
4
#include <sstream>
5
#include <vector>
6
7
namespace
rdln
8
{
9
typedef
enum
{
empty
,
partial
,
full
}
linestatus
;
10
class
readline_buffer
:
public
std::stringbuf
11
{
12
public
:
13
readline_buffer
();
14
void
start
();
15
void
stop
();
16
bool
is_running
()
const
17
{
18
return
m_cout_buf
!= NULL;
19
}
20
linestatus
get_line
(std::string& line)
const
;
21
void
set_prompt
(
const
std::string& prompt);
22
static
void
add_completion
(
const
std::string& command);
23
static
const
std::vector<std::string>&
get_completions
();
24
25
protected
:
26
virtual
int
sync
();
27
28
private
:
29
std::streambuf*
m_cout_buf
;
30
size_t
m_prompt_length
;
31
static
std::vector<std::string>&
completion_commands
();
32
};
33
34
class
suspend_readline
35
{
36
public
:
37
suspend_readline
();
38
~suspend_readline
();
39
private
:
40
readline_buffer
*
m_buffer
;
41
bool
m_restart
;
42
};
43
44
void
clear_screen
();
45
}
46
rdln::readline_buffer
Definition
readline_buffer.h:11
rdln::readline_buffer::get_completions
static const std::vector< std::string > & get_completions()
Definition
readline_buffer.cpp:111
rdln::readline_buffer::sync
virtual int sync()
Definition
readline_buffer.cpp:116
rdln::readline_buffer::is_running
bool is_running() const
Definition
readline_buffer.h:16
rdln::readline_buffer::set_prompt
void set_prompt(const std::string &prompt)
Definition
readline_buffer.cpp:92
rdln::readline_buffer::start
void start()
Definition
readline_buffer.cpp:53
rdln::readline_buffer::stop
void stop()
Definition
readline_buffer.cpp:63
rdln::readline_buffer::m_prompt_length
size_t m_prompt_length
Definition
readline_buffer.h:30
rdln::readline_buffer::add_completion
static void add_completion(const std::string &command)
Definition
readline_buffer.cpp:104
rdln::readline_buffer::m_cout_buf
std::streambuf * m_cout_buf
Definition
readline_buffer.h:29
rdln::readline_buffer::get_line
linestatus get_line(std::string &line) const
Definition
readline_buffer.cpp:73
rdln::readline_buffer::readline_buffer
readline_buffer()
Definition
readline_buffer.cpp:47
rdln::readline_buffer::completion_commands
static std::vector< std::string > & completion_commands()
Definition
readline_buffer.cpp:41
rdln::suspend_readline::m_restart
bool m_restart
Definition
readline_buffer.h:41
rdln::suspend_readline::m_buffer
readline_buffer * m_buffer
Definition
readline_buffer.h:40
rdln::suspend_readline::~suspend_readline
~suspend_readline()
Definition
readline_buffer.cpp:33
rdln::suspend_readline::suspend_readline
suspend_readline()
Definition
readline_buffer.cpp:22
rdln
Definition
readline_buffer.h:8
rdln::linestatus
linestatus
Definition
readline_buffer.h:9
rdln::partial
@ partial
Definition
readline_buffer.h:9
rdln::full
@ full
Definition
readline_buffer.h:9
rdln::empty
@ empty
Definition
readline_buffer.h:9
rdln::clear_screen
void clear_screen()
Definition
readline_buffer.cpp:258
Generated on
for Monero by
1.17.0