InspIRCd  2.0
 All Classes Namespaces Functions Variables Typedefs Enumerations
Public Member Functions | List of all members
irc::tokenstream Class Reference

#include <hashcomp.h>

Public Member Functions

 tokenstream (const std::string &source)
 
 ~tokenstream ()
 
bool GetToken (std::string &token)
 
bool GetToken (irc::string &token)
 
bool GetToken (int &token)
 
bool GetToken (long &token)
 

Detailed Description

irc::tokenstream reads a string formatted as per RFC1459 and RFC2812. It will split the string into 'tokens' each containing one parameter from the string. For instance, if it is instantiated with the string: "PRIVMSG #test :foo bar baz qux" then each successive call to tokenstream::GetToken() will return "PRIVMSG", "#test", "foo bar baz qux", "". Note that if the whole string starts with a colon this is not taken to mean the string is all one parameter, and the first item in the list will be ":item". This is to allow for parsing 'source' fields from data.

Constructor & Destructor Documentation

irc::tokenstream::tokenstream ( const std::string &  source)

Create a tokenstream and fill it with the provided data

irc::tokenstream::~tokenstream ( )

Destructor

Member Function Documentation

bool irc::tokenstream::GetToken ( std::string &  token)

Fetch the next token from the stream as a std::string

Parameters
tokenThe next token available, or an empty string if none remain
Returns
True if tokens are left to be read, false if the last token was just retrieved.

Skip multi space, converting " " into " "

bool irc::tokenstream::GetToken ( irc::string token)

Fetch the next token from the stream as an irc::string

Parameters
tokenThe next token available, or an empty string if none remain
Returns
True if tokens are left to be read, false if the last token was just retrieved.
bool irc::tokenstream::GetToken ( int &  token)

Fetch the next token from the stream as an integer

Parameters
tokenThe next token available, or undefined if none remain
Returns
True if tokens are left to be read, false if the last token was just retrieved.
bool irc::tokenstream::GetToken ( long &  token)

Fetch the next token from the stream as a long integer

Parameters
tokenThe next token available, or undefined if none remain
Returns
True if tokens are left to be read, false if the last token was just retrieved.

The documentation for this class was generated from the following files: