ISIS Core Library 0.7.2 (api 3.0.0)
Namespaces | Data Structures | Typedefs | Functions | Variables

isis::util Namespace Reference

Namespaces

namespace  _internal

Data Structures

class  Application
 The ISIS base application class. More...
struct  checkType
 Templated pseudo struct to check for availability of a type at compile time. More...
struct  color
 Class to store a rgb tripel of type T. More...
class  ConsoleFeedback
class  DefaultMsgPrint
 Default message output class. More...
class  FixedMatrix
class  FixedVector
class  IdentityMatrix
class  Matrix3x3
class  Matrix4x4
class  Message
class  MessageHandlerBase
class  MSubject
class  ParameterMap
 A Map of all current Program Parameters when reading from the commandline. More...
class  ProgParameter
 Container class for programm parameters (commandline parameters) given to applications derived from isis. More...
class  ProgressFeedback
class  PropertyMap
 This class forms a mapping tree to store all kinds of properties (path : value), where:

  • value is:
    • a util::PropertyValue-container holding the value of the property (this may be empty/unset)
    • another PropertyMap containing a subtree (a branch of the mapping tree)
  • path is one or more case insensitive key names separated by "/" to locate both, branches or properties, in the tree.
More...
class  PropertyValue
 A very generic class to store values of properties. More...
class  Selection
 Here, a Selection is one of our types (see types.hpp) and meant as an enumeration of "things" described by strings, e.g. More...
class  Singletons
 Static class to handle singletons of a given type and priority. More...
class  TmpFile
 Class to automatically create and handle a temporary file. More...
class  Value
 Generic class for type aware variables. More...
class  ValueBase
class  vector3
class  vector4

Typedefs

typedef color< uint8_t > color24
typedef color< uint16_t > color48
typedef CoreDebug Debug
typedef std::list< double > dlist
typedef vector3< double > dvector3
typedef vector4< double > dvector4
typedef vector3< float > fvector3
typedef vector4< float > fvector4
typedef std::list< int32_t > ilist
typedef vector4< int32_t > ivector4
typedef CoreLog Runtime
typedef std::list< std::string > slist
typedef ValueBase::Reference ValueReference

Functions

template<typename HANDLE >
void enableLog (LogLevel level)
 Set logging level for the namespace util.
template<typename T >
bool fuzzyEqual (T a, T b, unsigned short scale=10)
 Fuzzy comparison between floating point values.
std::string getLastSystemError ()
std::map< std::string,
unsigned short > 
getTransposedTypeMap (bool withValues=true, bool withValueArrays=true)
std::map< unsigned short,
std::string > 
getTypeMap (bool withValues=true, bool withValueArrays=true)
template<typename T , typename InputIterator >
std::list< T > listToList (InputIterator start, InputIterator end)
 do lexical_cast<T> on the elements of a list and return them
template<class InputIterator , typename _CharT , typename _Traits >
std::basic_ostream< _CharT,
_Traits > & 
listToOStream (InputIterator start, InputIterator end, std::basic_ostream< _CharT, _Traits > &o, const std::string delim=",", const std::string prefix="{", const std::string suffix="}")
 Write a list of elements to a std::basic_ostream.
template<typename _CharT , typename _Traits >
std::basic_ostream< _CharT,
_Traits > & 
listToOStream (const unsigned char *start, const unsigned char *end, std::basic_ostream< _CharT, _Traits > &o, const std::string delim=",", const std::string prefix="{", const std::string suffix="}")
template<class InputIterator >
std::string listToString (InputIterator start, InputIterator end, const std::string delim=",", const std::string prefix="{", const std::string suffix="}")
 use listToOStream to create a string from a list
const char * logLevelName (LogLevel level)
template<typename TYPE , size_t SIZE, typename CONTAINER1 , typename CONTAINER2 >
FixedVector< TYPE, SIZE > maxVector (const FixedVector< TYPE, SIZE, CONTAINER1 > &first, const FixedVector< TYPE, SIZE, CONTAINER2 > &second)
template<typename TYPE , size_t SIZE, typename CONTAINER1 , typename CONTAINER2 >
FixedVector< TYPE, SIZE > minVector (const FixedVector< TYPE, SIZE, CONTAINER1 > &first, const FixedVector< TYPE, SIZE, CONTAINER2 > &second)
template<typename TARGET >
std::list< TARGET > stringToList (std::string source, const boost::regex separator=boost::regex("[[:space:]]"))
 Simple tokenizer (regexp version).
template<typename TARGET >
std::list< TARGET > stringToList (std::string source, const boost::regex &separator, boost::regex prefix, boost::regex postfix)
 Generic tokenizer.
template<typename TARGET , typename charT , typename traits >
std::list< TARGET > stringToList (const std::basic_string< charT, traits > &source, charT separator)
 Very Simple tokenizer.

Variables

_internal typedef
std::basic_string< char,
_internal::ichar_traits > 
istring

Typedef Documentation

typedef color<uint8_t> isis::util::color24

Definition at line 23 of file color.hpp.

typedef color<uint16_t> isis::util::color48

Definition at line 24 of file color.hpp.

typedef CoreDebug isis::util::Debug

Definition at line 242 of file common.hpp.

typedef std::list<double> isis::util::dlist

Definition at line 29 of file types.hpp.

typedef vector3<double> isis::util::dvector3

Definition at line 369 of file vector.hpp.

typedef vector4<double> isis::util::dvector4

Definition at line 367 of file vector.hpp.

typedef vector3<float> isis::util::fvector3

Definition at line 368 of file vector.hpp.

typedef vector4<float> isis::util::fvector4

Definition at line 366 of file vector.hpp.

typedef std::list<int32_t> isis::util::ilist

Definition at line 28 of file types.hpp.

typedef vector4<int32_t> isis::util::ivector4

Definition at line 370 of file vector.hpp.

typedef CoreLog isis::util::Runtime

Definition at line 243 of file common.hpp.

typedef std::list<std::string> isis::util::slist

Definition at line 30 of file types.hpp.

Definition at line 181 of file value_base.hpp.


Function Documentation

template<typename HANDLE >
void isis::util::enableLog ( LogLevel  level)

Set logging level for the namespace util.

This logging level will be used for every LOG(Debug,...) and LOG(Runtime,...) within the util namespace. This is affected by by the _ENABLE_LOG and _ENABLE_DEBUG settings of the current compile and won't have an effect on the Debug or Runtime logging if the corresponding define is set to "0". So if you compile with "-D_ENABLE_DEBUG=0" against a library which (for example) was comiled with "-D_ENABLE_DEBUG=1", you won't be able to change the logging level of the debug messages of these library.

Definition at line 253 of file common.hpp.

template<typename T >
bool isis::util::fuzzyEqual ( a,
b,
unsigned short  scale = 10 
)

Fuzzy comparison between floating point values.

  • Will return true if and only if the difference between two values is "small" compared to their magnitude.
  • Will raise a compiler error when not used with floating point types.
    Parameters:
    afirst value to compare with
    bsecond value to compare with
    scalescaling factor to determine which multiplies of the types floating point resolution (epsilon) should be considered equal Eg. "1" means any difference less than the epsilon of the used floating point type will be considered equal. If any of the values is greater than "1" the "allowed" difference will be bigger.
    Returns:

    \[ |a-b| <= \varepsilon_T * \lceil |a|,|b|,|thresh| \rceil \]

    .

Definition at line 217 of file common.hpp.

std::string isis::util::getLastSystemError ( )

Definition at line 12 of file common.cpp.

std::map< std::string, unsigned short> isis::util::getTransposedTypeMap ( bool  withValues = true,
bool  withValueArrays = true 
)
std::map<unsigned short, std::string> isis::util::getTypeMap ( bool  withValues = true,
bool  withValueArrays = true 
)
template<typename T , typename InputIterator >
std::list<T> isis::util::listToList ( InputIterator  start,
InputIterator  end 
)

do lexical_cast<T> on the elements of a list and return them

Definition at line 107 of file common.hpp.

template<class InputIterator , typename _CharT , typename _Traits >
std::basic_ostream<_CharT, _Traits>& isis::util::listToOStream ( InputIterator  start,
InputIterator  end,
std::basic_ostream< _CharT, _Traits > &  o,
const std::string  delim = ",",
const std::string  prefix = "{",
const std::string  suffix = "}" 
)

Write a list of elements to a std::basic_ostream.

Parameters:
startstarting iterator of input
endend iterator of input
othe output stream to write into
delimdelimiter used to seperate the elements (default: " ")
prefixwill be send to the stream as start (default: "")
suffixwill be send to the stream at the end (default: "")

Definition at line 55 of file common.hpp.

template<typename _CharT , typename _Traits >
std::basic_ostream<_CharT, _Traits>& isis::util::listToOStream ( const unsigned char *  start,
const unsigned char *  end,
std::basic_ostream< _CharT, _Traits > &  o,
const std::string  delim = ",",
const std::string  prefix = "{",
const std::string  suffix = "}" 
)

Definition at line 77 of file common.hpp.

template<class InputIterator >
std::string isis::util::listToString ( InputIterator  start,
InputIterator  end,
const std::string  delim = ",",
const std::string  prefix = "{",
const std::string  suffix = "}" 
)

use listToOStream to create a string from a list

Definition at line 97 of file common.hpp.

const char * isis::util::logLevelName ( LogLevel  level)

Definition at line 34 of file message.cpp.

template<typename TYPE , size_t SIZE, typename CONTAINER1 , typename CONTAINER2 >
FixedVector<TYPE, SIZE> isis::util::maxVector ( const FixedVector< TYPE, SIZE, CONTAINER1 > &  first,
const FixedVector< TYPE, SIZE, CONTAINER2 > &  second 
)

Definition at line 346 of file vector.hpp.

template<typename TYPE , size_t SIZE, typename CONTAINER1 , typename CONTAINER2 >
FixedVector<TYPE, SIZE> isis::util::minVector ( const FixedVector< TYPE, SIZE, CONTAINER1 > &  first,
const FixedVector< TYPE, SIZE, CONTAINER2 > &  second 
)

Definition at line 356 of file vector.hpp.

template<typename TARGET >
std::list<TARGET> isis::util::stringToList ( std::string  source,
const boost::regex  separator = boost::regex( "[[:space:]]" ) 
)

Simple tokenizer (regexp version).

Splits source into tokens and tries to lexically cast them to TARGET. If that fails, boost::bad_lexical_cast is thrown. Before the string is split up leading and rear separators will be cut.

Parameters:
sourcethe source string to be split up
separatorstring to delimit the tokens
Returns:
a list of the casted tokens

Definition at line 168 of file common.hpp.

template<typename TARGET >
std::list<TARGET> isis::util::stringToList ( std::string  source,
const boost::regex &  separator,
boost::regex  prefix,
boost::regex  postfix 
)

Generic tokenizer.

Splits source into tokens and tries to lexically cast them to TARGET. If that fails, boost::bad_lexical_cast is thrown.

Parameters:
sourcethe source string to be split up
separatorregular expression to delimit the tokens (defaults to \s+)
prefixregular expression for text to be removed from the string before it is split up ("^" if not given, will be added at the beginning)
postfixregular expression for text to be removed from the string before it is split up ("$" if not given, will be added at the end)
Returns:
a list of the casted tokens

Definition at line 129 of file common.hpp.

template<typename TARGET , typename charT , typename traits >
std::list<TARGET> isis::util::stringToList ( const std::basic_string< charT, traits > &  source,
charT  separator 
)

Very Simple tokenizer.

Splits source into tokens and tries to lexically cast them to TARGET. If that fails, boost::bad_lexical_cast is thrown. Leading and trailing seperators are ignored.

In contrast to the versions based on regular expressions, this can handle any basic_string as input.

Parameters:
sourcethe source string to be split up
separatorstring to delimit the tokens
Returns:
a list of the casted tokens

Definition at line 189 of file common.hpp.


Variable Documentation

_internal typedef std::basic_string<char, _internal::ichar_traits> isis::util::istring

Definition at line 44 of file istring.hpp.