Template Class StringCommandProcessor#

Class Documentation#

template<std::size_t depth, typename element_t = char, std::size_t max_args = default_max_args>
class StringCommandProcessor#

Public Types

using Buffer = PcBuffer<depth, element_t>#
using String = std::basic_string<element_t>#
using Handler = std::function<void(const element_t**, std::size_t)>#

Public Functions

inline StringCommandProcessor(Buffer &_input, Handler _handler = nullptr, bool auto_poll = false, element_t _line_delim = default_line_delim, element_t _word_delim = default_word_delim)#
inline void set_auto_poll()#
inline void set_handler(Handler _handler = nullptr)#
inline void reset()#
inline std::size_t poll()#
inline void process(String &&line)#
inline void process(String &line)#
inline void process(element_t *line, std::size_t length)#

Public Members

Handler handler#

Public Static Attributes

static constexpr element_t null = '\0'#
static constexpr element_t default_line_delim = '\n'#
static constexpr element_t default_word_delim = ' '#

Protected Attributes

Buffer &input#
element_t line_delim#
element_t line[depth]#
std::size_t index#
element_t word_delim#
const element_t *args[max_args]#
std::size_t num_args#