Represents a server control line written to a communication socket. More...
#include <control.hpp>
Public Member Functions | |
control_line (const std::string &str) | |
Parses a control line string. More... | |
bool | empty () const |
Whether the control line is empty. More... | |
const std::string & | cmd () const |
Returns the control command. More... | |
std::size_t | args_count () const |
Returns the total number of arguments, not including the command itself. More... | |
const std::string & | operator[] (std::size_t n) const |
Returns the nth argument. More... | |
std::string | full () const |
Return the full command line string. More... | |
bool | operator== (std::string_view cmp) const |
Allow comparison with other strings. More... | |
Private Attributes | |
std::vector< std::string > | args_ |
Represents a server control line written to a communication socket.
Control lines are plain text command lines using the ASCII space character (0x20) as command separator. This type is really only used to keep the code pretty.
Definition at line 33 of file control.hpp.
|
inlineexplicit |
|
inline |
Returns the total number of arguments, not including the command itself.
Definition at line 67 of file control.hpp.
References args_.
|
inline |
Returns the control command.
Definition at line 59 of file control.hpp.
References args_.
Referenced by operator==().
|
inline |
|
inline |
Return the full command line string.
Definition at line 85 of file control.hpp.
References args_, and utils::join().
|
inline |
|
inline |
Returns the nth argument.
std::out_of_range | n exceeds args_count(). |
Definition at line 77 of file control.hpp.
|
private |
Definition at line 99 of file control.hpp.
Referenced by args_count(), cmd(), control_line(), empty(), full(), and operator[]().