orca-robotics


INTRODUCTION
Overview
Download and Install
Documentation

REPOSITORY
Interfaces
Drivers
Libraries
Utilities
Software Map

DEVELOPER
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

hydroutil Namespace Reference

libHydroUtil provides classes for defining Hydro driver and algorithm interfaces. More...


Classes

class  Context
 Driver's properties, tracer, status etc. More...
class  CpuStopwatch
 times user-space CPU time More...
class  History
 Experimental! Storage of historical information about component's activities. More...
class  Properties
 Container for key-value pairs, useful for storing configuration properties. More...
class  RealTimeStopwatch
 times real time More...
class  Stopwatch
 base class for timing something. More...
class  Uncopyable
 Handy way to avoid unintended copies. More...

String Utilities

std::vector< std::string > toStringSeq (const std::string &s, const char delim=':')
 Parses the string into a sequence of strings with a given separator.
std::string toString (const std::vector< std::string > &seq, const char delim=':')
 Combines the sequence of strings into a single string using a given separator.
std::string toLowerCase (const std::string &s)
 Converts the whole string to lower case.
std::string toUpperCase (const std::string &s)
 Converts the whole string to upper case.
int toIntVector (const std::string &s, std::vector< int > &obj)
int toDoubleVector (const std::string &s, std::vector< double > &obj)
std::string toFixedWidth (const std::string &s, int width, char filler, bool adjustLeft)
std::string orcaVersion ()
 Returns version of libOrcaIce, e.g. "3.2.1".
std::string basename (const std::string &path, bool removeExtension)
std::string dirname (const std::string &path)
void substitute (std::string &s, const std::vector< std::string > &parameters, const std::map< std::string, std::string > &values, const std::map< std::string, std::string > &defaults)

System-Dependent Functions

string getHostname ()
string pathDelimeter ()
 Returns "/" in Linux, "\" in Windows.
bool executeSystemCommand (const std::string &command, std::string &failReason, std::string *output=NULL)

Functions

bool outputMatchesReferenceFile (const std::string &outputString, const std::string &referenceFileName)
double normalRand (double mean, double std)
 Normally-distributed random number.
double randNum (double minVal, double maxVal)
 returns a random number in the range [minVal,maxVal)
double randNumInclusive (double minVal, double maxVal)
 returns a random number in the range [minVal,maxVal]
double G (double dist, double sd)
 Returns the height of a 1D gaussian at 'dist' from the mean.
double GCov (double dist, double cov)
 Returns the height of a 1D gaussian at 'dist' from the mean.
double multiG (double xDiff, double yDiff, double xx, double yy)
std::vector< std::string > tokenise (const std::string &str, const std::string &delimiter)


Detailed Description

libHydroUtil provides classes for defining Hydro driver and algorithm interfaces.

This namespace is part of a library.

See also:
libHydroUtil


Function Documentation

std::string hydroutil::basename const std::string &  path,
bool  removeExtension = false
 

Similar to UNIX basename command. Removes the path, i.e. all leading characters up to the path delimeter ('/' in Linux, '\' in Windows). E.g. basename("/path/filename.ext") returns "filename.txt". Unlike the Unix equivalent, this function returns an empty string when the intput string is a directory name. E.g. basename("/path/" ) returns "". If the optional flag removeExtension is set to TRUE, then all trailing characters following and including the last '.' are removed as well. E.g. basename("/path/filename.ext", true) returns "filename".

std::string hydroutil::dirname const std::string &  path  ) 
 

Similar to UNIX dirname command. Removes the trailing characters following and including the last path delimeter ('/' in Linux, '\' in Windows). E.g. dirname("/path/filename.ext") returns "/path". If the path delimeters are absent, returns ".".

bool hydroutil::executeSystemCommand const std::string &  command,
std::string &  failReason,
std::string *  output = NULL
 

Returns:

  • True: success
  • False: failure (and failReason is set)

On Linux calls popen : opens a process by creating a pipe, forking, and invoking the shell (see: man popen). Grabs both stdout and stderr.

std::string hydroutil::getHostname  ) 
 

Platform-independent function to get the hostname. On error, returns localhost.

Note:
only Linux version is implemented, under Windows returns localhost.

double hydroutil::multiG double  xDiff,
double  yDiff,
double  xx,
double  yy
[inline]
 

The value of the two-dimensional axis-aligned gaussian with covariance xx,xy,yy, at the point 'diffs'.

bool hydroutil::outputMatchesReferenceFile const std::string &  outputString,
const std::string &  referenceFileName
 

Writes the outputString to a file named "test_output.txt", then compares the contents of that file to the contents of referenceFileName. Returns true if it matches.

void hydroutil::substitute std::string &  s,
const std::vector< std::string > &  parameters,
const std::map< std::string, std::string > &  values,
const std::map< std::string, std::string > &  defaults
 

Performs parameter substitution in string the string provided. Parameter syntax: ${parameter_name}. Valid parameters are given in parameters. Substitution values are first looked up in values and then in defaults. Throws gbxsickacfr::gbxutilacfr::Exception if the string conatains an unknown parameter or if the parameter has no value (provided or default).

Substitution can be recursive, provided that enough information is provided and the dependencies are not circular. For example var1.value="a", var2.default=$var1". Be careful, circular dependencies are not detected. For example, this will lead to an infinite loop: var1.value="$var2", var2.value=$var1".

The input string can contain '${' without a matching '}'. These are ignored.

Example:

string s="The best framework is ${framework}";

vector<string> parameters;
parameters.push_back("software");
parameters.push_back("framework");

map<string,string> values;

map<string,string> defaults;
defaults["framework"] = "Orca";

substitute( s, parameters, values, defaults );

cout<<s<endl; // output: "The best framework is Orca"

int hydroutil::toDoubleVector const std::string &  ,
std::vector< double > & 
 

Parses string of doubles separated by spaces. Returns: 0 = parsing successful, non-zero = parsing failed.

std::string hydroutil::toFixedWidth const std::string &  s,
int  width,
char  filler = ' ',
bool  adjustLeft = false
 

Unlike std::setw() function, this functions pads and truncates. When width=0, an empty string is returned. When width<0, the string is quietly returned unmodified. Default fill character is a space.

int hydroutil::toIntVector const std::string &  ,
std::vector< int > & 
 

Parses string of int's separated by spaces. Returns: 0 = parsing successful, non-zero = parsing failed.

std::vector<std::string> hydroutil::tokenise const std::string &  str,
const std::string &  delimiter
 

Takes a string containing tokens separated by a delimiter Returns the vector of tokens

 

Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)


Generated for Orca Robotics by  doxygen 1.4.5