Electroneum
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
rdln::readline_buffer::start
void start()
Definition:
readline_buffer.cpp:52
rdln::readline_buffer::add_completion
static void add_completion(const std::string &command)
Definition:
readline_buffer.cpp:96
testing::internal::string
::std::string string
Definition:
gtest-port.h:1097
rdln::readline_buffer::set_prompt
void set_prompt(const std::string &prompt)
Definition:
readline_buffer.cpp:84
rdln::linestatus
linestatus
Definition:
readline_buffer.h:9
rdln::readline_buffer::readline_buffer
readline_buffer()
Definition:
readline_buffer.cpp:46
rdln::readline_buffer
Definition:
readline_buffer.h:10
rdln::suspend_readline
Definition:
readline_buffer.h:34
rdln::readline_buffer::get_completions
static const std::vector< std::string > & get_completions()
Definition:
readline_buffer.cpp:103
rdln::readline_buffer::stop
void stop()
Definition:
readline_buffer.cpp:61
rdln::empty
Definition:
readline_buffer.h:9
rdln::partial
Definition:
readline_buffer.h:9
rdln
Definition:
readline_buffer.h:7
rdln::readline_buffer::is_running
bool is_running() const
Definition:
readline_buffer.h:16
rdln::suspend_readline::~suspend_readline
~suspend_readline()
Definition:
readline_buffer.cpp:32
rdln::suspend_readline::suspend_readline
suspend_readline()
Definition:
readline_buffer.cpp:21
rdln::full
Definition:
readline_buffer.h:9
rdln::readline_buffer::get_line
linestatus get_line(std::string &line) const
Definition:
readline_buffer.cpp:70
rdln::readline_buffer::sync
virtual int sync()
Definition:
readline_buffer.cpp:108
contrib
epee
include
readline_buffer.h
Generated on Sun Mar 10 2024 12:00:00 for Electroneum by
1.8.14