// Copyright (C) 2001 Luc Lussier
#include <iterator>
#include <vector>
#include <fstream>
#include <string>
#include <algorithm>
#include "Vector.h"
#ifndef NL_SYS_STRING_TO_TOKEN_H
#define NL_SYS_STRING_TO_TOKEN_H
namespace FD {
//extern vector<char> globalKeepTokenVector;
//Should be moved to a less module specific location
/** Global function.
Transform a string type string to a vector of string token. Each token is separated either by white
space or by specified discardToken. Special keepToken can also be specified individually. See the
test file for a demonstration of the behavior.
@param outputVector A vector<string> to which the tokens are added
@param inputString A string that will be cut into tokens
@param keepToken A vector of character that specify some character that should be made into a single character token
@param discardToken A vector of character that are to be used like white spaces to break tokens
@author Luc Lussier
*/
void string_to_token(Vector<std::string> &outputVector, const std::string &inputString, Vector<char> &keepToken, Vector<char> &discardToken);
/** Global function.
This function look for a "nl_sys_command" token at the first position of the string to determine if
the string contain a command.
Commands are used by the various modules to communicate between each others. Each module define it's own
commands which can contain an arbitrary number of parameters.
@param outputVector A vector<string> to which string tokens are added.
@param inputString A string that will be cut into tokens.
@return True if the string contain a command and False if no command is found inside the string.
@author Luc Lussier
*/
bool string_contain_nl_sys_command(Vector<std::string> &outputVector, std::string &inputString);
/** Global function.
This function is used to transform a vector<string> back into a string. The vector token are separated by the specified
string separator or by default by a white space.
@param startOfStringIt Iterator pointing to the first element to add to the string.
@param inputVector A vector<string> that will be transformed back into a string.
@param cSeparator Default parameter. The string added between the string token as a separator while forming the new string. The default is " ".
@return A string formed from the inputVector
@author Luc Lussier
*/
std::string vector_of_string_to_string(Vector<std::string>::iterator &startOfStringIt, Vector<std::string> &inputVector, std::string stringSeparator = " ");
/** Global function.
This function is used to transform an integer into a string.
@param inputInteger The integer to transform into a string.
@return a string.
@author Luc Lussier
*/
std::string int_to_string(int inputInteger);
}//namespace FD
#endif
syntax highlighted by Code2HTML, v. 0.9.1