GeoTessCPP  2.0.0
Software to facilitate storage and retrieval of 3D information about the Earth.
 All Classes Namespaces Files Functions Variables Typedefs Friends Defines
Public Member Functions | Static Public Member Functions | Static Public Attributes
geotess::CPPUtils Class Reference

#include <CPPUtils.h>

List of all members.

Public Member Functions

 CPPUtils ()
virtual ~CPPUtils ()
virtual int class_size () const

Static Public Member Functions

static void addPathSeparator (string &path)
static string btos (bool b)
static string class_name ()
template<typename T >
static T * copyArray (T *a, int n)
template<typename T >
static void delete2DArray (T **&a)
template<typename T >
static void delete2DArrayOfArrays (T **&a, int ni)
template<typename T >
static void delete3DArray (T ***&a)
static string dtos (double d, const string &frmt="%.14f")
static string ftos (float f, const string &frmt="%.6f")
static const string getOpSys ()
static void getProperties (const string &str, map< string, string > &props)
static bool getProperty (const map< string, string > &props, const string &tag, string &value)
static string insertPathSeparator (const string &dir, const string &name)
static bool isBigEndian ()
static bool isint (const string &i)
static string itos (int i, const string &frmt="%d")
static string lowercase_string (const string &str)
static string ltos (LONG_INT l, const string &frmt="%llu")
template<typename T >
static void minmax (const vector< T > &v, T &mn, T &mx)
template<typename T >
static T ** new2DArray (int ni, int nj)
template<typename T >
static T ** new2DArrayOfArrays (int ni, int nj)
template<typename T >
static T *** new3DArray (int ni, int nj, int nk)
static void removeEOL (string &s)
static void removePathSeparator (string &path)
template<typename T >
static void resetArray (int n, T *array, T val)
static bool stob (const string &b)
static double stod (const string &d, const string &frmt="%lf")
static float stof (const string &f, const string &frmt="%f")
static int stoi (const string &i, const string &frmt="%d")
static LONG_INT stol (const string &i64, const string &frmt="%llu")
static string stringReplaceAll (const string &sf, const string &sr, const string &s)
static double toDegrees (double a)
static void tokenizeString (const string &str, const string &delim, vector< string > &tokens)
static double toRadians (double a)
static string trim (const string &str, const string &delim=" \t")
static string trimLeft (const string &str, const string &delim=" \t")
static string trimRight (const string &str, const string &delim=" \t")
static string uppercase_string (const string &str)

Static Public Attributes

static char const FILE_SEP
static string const NEWLINE
static const int SBOL
static const int SBYT
static const int SDBL
static const int SFLT
static const int SINT
static const int SLNG
static const int SSHT

Detailed Description

The CPPUtils class provides basic system level static utility functions for GeoTess.


Constructor & Destructor Documentation

geotess::CPPUtils::CPPUtils ( ) [inline]

Default constructor.

virtual geotess::CPPUtils::~CPPUtils ( ) [inline, virtual]

Protected destructor ... made virtual as is usual practice.


Member Function Documentation

void geotess::CPPUtils::addPathSeparator ( string &  path) [inline, static]

If the supplied path does not already end with a path separator, append it to the end. On windows, use '\', otherwise '/'.

static string geotess::CPPUtils::btos ( bool  b) [static]
static string geotess::CPPUtils::class_name ( ) [inline, static]

Returns the class name.

Returns:
class name
virtual int geotess::CPPUtils::class_size ( ) const [inline, virtual]

Returns the class size.

template<typename T >
static T* geotess::CPPUtils::copyArray ( T *  a,
int  n 
) [inline, static]

Return a deep copy of the specified array.

template<typename T >
void geotess::CPPUtils::delete2DArray ( T **&  a) [inline, static]

Deletes the input 2D array reference and sets it to null.

Delete and set to NULL a 2D array that was created with new2DArray()

template<typename T >
static void geotess::CPPUtils::delete2DArrayOfArrays ( T **&  a,
int  ni 
) [inline, static]

Deletes the input 2D array of arrays reference and sets it to null.

template<typename T >
void geotess::CPPUtils::delete3DArray ( T ***&  a) [inline, static]

Deletes the input 3D array reference and sets it to null.

Delete and set to NULL a 3D array that was created with new2DArray()

static string geotess::CPPUtils::dtos ( double  d,
const string &  frmt = "%.14f" 
) [static]
static string geotess::CPPUtils::ftos ( float  f,
const string &  frmt = "%.6f" 
) [static]
static const string geotess::CPPUtils::getOpSys ( ) [static]

Returns the operating system type.

static void geotess::CPPUtils::getProperties ( const string &  str,
map< string, string > &  props 
) [static]

Retrieves all properties defined in the input string str and saves them into the property map props.

The properties must be of the form "name = value; name = value; ..." where the name value associations are set into the property map. All "names" are lower-cased into the property map. "values" are simply assigned without case change. All name and value pairs are stripped of leading and trailing blanks before placement into the property map. All properties must be separated by a semi-colon.

Parameters:
strInput semicolon separated string of properties.
propsInput map that will be filled with the properties name --> value associations.
static bool geotess::CPPUtils::getProperty ( const map< string, string > &  props,
const string &  tag,
string &  value 
) [static]

Retrieves the "value" associated with "tag" from the property map "props". If the "tag" is found in props then true is returned and "value" is set. Otherwise, false is returned.

Parameters:
propsThe input properties map (name = value).
tagThe input key for which an associated value will be sought.
valueThe returned value associated with the input tag ... if one was found.
Returns:
True if the value was set.
string geotess::CPPUtils::insertPathSeparator ( const string &  dir,
const string &  name 
) [inline, static]

combine the two path components together, inserting a path separator only if necessary.

static bool geotess::CPPUtils::isBigEndian ( ) [static]

Return true if file read / write system is big endian.

static bool geotess::CPPUtils::isint ( const string &  i) [static]

Returns True if string i can be represented as an integer.

static string geotess::CPPUtils::itos ( int  i,
const string &  frmt = "%d" 
) [static]

Static functions that returns the input integer, float, double, or boolean, as a string.

static string geotess::CPPUtils::lowercase_string ( const string &  str) [static]

These functions convert the input string to all lower/upper case characters.

static string geotess::CPPUtils::ltos ( LONG_INT  l,
const string &  frmt = "%llu" 
) [static]
template<typename T >
void geotess::CPPUtils::minmax ( const vector< T > &  v,
T &  mn,
T &  mx 
) [static]

Returns the minimum (mn) and maximum (mx) of the input vector v.

Returns the minimum (mn) and maximum (mx) of the input v.

template<typename T >
static T** geotess::CPPUtils::new2DArray ( int  ni,
int  nj 
) [inline, static]

Returns a new intrinsic 2D array of size [ni][nj].

Parameters:
niFirst array dimension size.
njSecond array dimension size.
Returns:
The new 2D array.
template<typename T >
static T** geotess::CPPUtils::new2DArrayOfArrays ( int  ni,
int  nj 
) [inline, static]

Create a 2D array of arrays (Java style).

template<typename T >
static T*** geotess::CPPUtils::new3DArray ( int  ni,
int  nj,
int  nk 
) [inline, static]

Returns a new intrinsic 3D array of size [ni][nj].

Parameters:
niFirst array dimension size.
njSecond array dimension size.
nkThird array dimension size.
Returns:
The new 2D array.
void geotess::CPPUtils::removeEOL ( string &  s) [inline, static]

Removes '/r', '/n', or '/r/n' from the end of the input string if it exists.

void geotess::CPPUtils::removePathSeparator ( string &  path) [inline, static]

If the supplied path ends with a path separator, remove it. On windows, use '\', otherwise '/'.

template<typename T >
static void geotess::CPPUtils::resetArray ( int  n,
T *  array,
val 
) [inline, static]

Resets all n entries in array to val.

static bool geotess::CPPUtils::stob ( const string &  b) [static]
static double geotess::CPPUtils::stod ( const string &  d,
const string &  frmt = "%lf" 
) [static]
static float geotess::CPPUtils::stof ( const string &  f,
const string &  frmt = "%f" 
) [static]
static int geotess::CPPUtils::stoi ( const string &  i,
const string &  frmt = "%d" 
) [static]

Static functions that returns the input string as an integer, float, double, or boolean.

static LONG_INT geotess::CPPUtils::stol ( const string &  i64,
const string &  frmt = "%llu" 
) [static]
static string geotess::CPPUtils::stringReplaceAll ( const string &  sf,
const string &  sr,
const string &  s 
) [static]

Replaces all occurrences of sf in string s with sr on output and returns the new string.

double geotess::CPPUtils::toDegrees ( double  a) [inline, static]

Returns input radian measure in degrees.

Returns input radian measure in degrees.

Returns:
Input radian measure in degrees.
static void geotess::CPPUtils::tokenizeString ( const string &  str,
const string &  delim,
vector< string > &  tokens 
) [static]

This function tokenizes the input string, str, into a set of tokens given a set of delimiters specified in delim. For example, the string "May 15, 2002 5:56:20 pm" tokenized with the set of delimiters " ,:" would yield the set of 7 tokens given as "May", "15", "2002", "5", "56", "20", and "pm".

double geotess::CPPUtils::toRadians ( double  a) [inline, static]

Returns input degrees measure in radians.

Returns input degrees measure in radians.

Returns:
Input degrees measure in radians.
static string geotess::CPPUtils::trim ( const string &  str,
const string &  delim = " \t" 
) [static]

These functions return the input string (str) without any leading (trimLeft) or trailing (trimRight) delimiters (delim ... defaults to a space and a tab).

static string geotess::CPPUtils::trimLeft ( const string &  str,
const string &  delim = " \t" 
) [static]
static string geotess::CPPUtils::trimRight ( const string &  str,
const string &  delim = " \t" 
) [static]
static string geotess::CPPUtils::uppercase_string ( const string &  str) [static]

Member Data Documentation

char const geotess::CPPUtils::FILE_SEP [static]

Path separator. '\' on Windows, '/' on unix-type systems.

string const geotess::CPPUtils::NEWLINE [static]

End-of-line string. "\r\n" on Windows, "\r" on MacOSX, "\n" on unix-type systems.

const int geotess::CPPUtils::SBOL [static]

Standard sizes of basic intrinsics.

const int geotess::CPPUtils::SBYT [static]
const int geotess::CPPUtils::SDBL [static]
const int geotess::CPPUtils::SFLT [static]
const int geotess::CPPUtils::SINT [static]
const int geotess::CPPUtils::SLNG [static]
const int geotess::CPPUtils::SSHT [static]

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