ITK  5.4.0
Insight Toolkit
Public Member Functions | Private Attributes | List of all members
itk::FancyString Class Reference

#include <itkFancyString.h>

Detailed Description

A special string type that is used to aid I/O operations in DOM-based object readers/writers.

This class is created for the purpose of overloading the ">>" and "<<" operators for the string type to perform DOM-related operations. As ITK has overloaded this operator for other operations, we need a new string type to use this operator in our implementation. In addition, this class can be used anywhere that expects a "const char *" to avoid explicit type casting.

This class also adds new string manipulation functions to std::string, including trims, case conversions, splits, comparisons, sub-string tests, and so on.

Definition at line 45 of file itkFancyString.h.

+ Collaboration diagram for itk::FancyString:

Public Member Functions

void Append (const FancyString &str)
 
void ClearContent ()
 
bool ContainSub (const std::string &s2, bool ignoreCase=true)
 
bool EndWith (const std::string &s2, bool ignoreCase=true)
 
 FancyString ()
 
 FancyString (const char *s)
 
 FancyString (const std::string &str)
 
template<typename T >
FancyStringFromData (const Array< T > &inputData)
 
template<typename T >
FancyStringFromData (const std::vector< T > &inputData)
 
template<typename T >
FancyStringFromData (const T &inputData)
 
bool MatchWith (const std::string &s2, bool ignoreCase=true)
 
 operator const char * () const
 
 operator const std::string & () const
 
FancyStringoperator= (const char *s)
 
FancyStringoperator= (const std::string &str)
 
void Split (std::map< std::string, std::string > &result, const std::string &delims=";|")
 
void Split (std::string &lpart, std::string &rpart, const std::string &delims="=:") const
 
void Split (std::vector< std::string > &result, const std::string &delims=";|") const
 
bool StartWith (const std::string &s2, bool ignoreCase=true)
 
template<typename T >
FancyStringToData (T &outputData)
 
FancyStringToLowerCase ()
 
const std::string & ToString () const
 
FancyStringToUpperCase ()
 
FancyStringTrim (const std::string &dislike=" \t\n\r")
 
FancyStringTrimLeft (const std::string &dislike=" \t\n\r")
 
FancyStringTrimRight (const std::string &dislike=" \t\n\r")
 
template<typename T >
FancyStringToData (std::vector< T > &outputData, int count=-1)
 
template<typename T >
FancyStringToData (Array< T > &outputData, int count=-1)
 

Private Attributes

std::string m_Value
 

Constructor & Destructor Documentation

◆ FancyString() [1/3]

itk::FancyString::FancyString ( )

◆ FancyString() [2/3]

itk::FancyString::FancyString ( const std::string &  str)

◆ FancyString() [3/3]

itk::FancyString::FancyString ( const char *  s)

Member Function Documentation

◆ Append()

void itk::FancyString::Append ( const FancyString str)

Extend the string by appending additional characters.

◆ ClearContent()

void itk::FancyString::ClearContent ( )

Clear all characters.

◆ ContainSub()

bool itk::FancyString::ContainSub ( const std::string &  s2,
bool  ignoreCase = true 
)

Method to test whether a string contains a user-given sub-string.

◆ EndWith()

bool itk::FancyString::EndWith ( const std::string &  s2,
bool  ignoreCase = true 
)

Method to test whether a string ends with a user-given sub-string.

◆ FromData() [1/3]

template<typename T >
FancyString& itk::FancyString::FromData ( const Array< T > &  inputData)

Functions to convert an array of type itk::Array<T> to a string. An exception will be thrown if errors were encountered during the conversion.

◆ FromData() [2/3]

template<typename T >
FancyString& itk::FancyString::FromData ( const std::vector< T > &  inputData)

Functions to convert a vector of type std::vector<T> to a string. An exception will be thrown if errors were encountered during the conversion.

◆ FromData() [3/3]

template<typename T >
FancyString& itk::FancyString::FromData ( const T &  inputData)

Functions to convert a value of basic data type to a string. An exception will be thrown if errors were encountered during the conversion.

◆ MatchWith()

bool itk::FancyString::MatchWith ( const std::string &  s2,
bool  ignoreCase = true 
)

Method to test whether one string matches with another.

◆ operator const char *()

itk::FancyString::operator const char * ( ) const

Function to cast this type to "const char *".

◆ operator const std::string &()

itk::FancyString::operator const std::string & ( ) const

Function to convert this value to a "std::string".

◆ operator=() [1/2]

FancyString& itk::FancyString::operator= ( const char *  s)

◆ operator=() [2/2]

FancyString& itk::FancyString::operator= ( const std::string &  str)

◆ Split() [1/3]

void itk::FancyString::Split ( std::map< std::string, std::string > &  result,
const std::string &  delims = ";|" 
)

Method to split a string into a sequence of sub-strings with user-defined delimiters, then each sub-string is further split into a <key,value> pair with separators "=:".

◆ Split() [2/3]

void itk::FancyString::Split ( std::string &  lpart,
std::string &  rpart,
const std::string &  delims = "=:" 
) const

Method to split a string into two parts with user-defined delimiters.

◆ Split() [3/3]

void itk::FancyString::Split ( std::vector< std::string > &  result,
const std::string &  delims = ";|" 
) const

Method to split a string into a sequence of strings with user-defined delimiters.

◆ StartWith()

bool itk::FancyString::StartWith ( const std::string &  s2,
bool  ignoreCase = true 
)

Method to test whether a string starts with a user-given sub-string.

◆ ToData() [1/3]

template<typename T >
FancyString& itk::FancyString::ToData ( Array< T > &  outputData,
int  count = -1 
)

Function to convert a string to an array of type itk::Array<T>. Number of elements to read is given by the parameter 'count': = 0, get the number of elements to read from data.size();

0, read number of 'count' elements, and resize the data if necessary;

< 0, default value (-1), automatically compute the number from the input stream.

An exception will be thrown if errors were encountered during the conversion.

◆ ToData() [2/3]

template<typename T >
FancyString& itk::FancyString::ToData ( std::vector< T > &  outputData,
int  count = -1 
)

Function to convert a string to a vector of type std::vector<T>. Number of elements to read is given by the parameter 'count': = 0, get the number of elements to read from data.size();

0, read number of 'count' elements, and resize the data if necessary;

< 0, default value (-1), automatically compute the number from the input stream.

An exception will be thrown if errors were encountered during the conversion.

◆ ToData() [3/3]

template<typename T >
FancyString& itk::FancyString::ToData ( T &  outputData)

Functions to convert a string to a value of basic data type. An exception will be thrown if errors were encountered during the conversion.

◆ ToLowerCase()

FancyString& itk::FancyString::ToLowerCase ( )

Method to covert upper-case characters to lower cases in a string.

◆ ToString()

const std::string& itk::FancyString::ToString ( ) const

Function to convert this value to a "std::string".

◆ ToUpperCase()

FancyString& itk::FancyString::ToUpperCase ( )

Method to covert lower-case characters to upper cases in a string.

◆ Trim()

FancyString& itk::FancyString::Trim ( const std::string &  dislike = " \t\n\r")

Method to trim the spaces or user-specified characters on both ends of a string.

◆ TrimLeft()

FancyString& itk::FancyString::TrimLeft ( const std::string &  dislike = " \t\n\r")

Method to trim the spaces or user-specified characters on left end of a string.

◆ TrimRight()

FancyString& itk::FancyString::TrimRight ( const std::string &  dislike = " \t\n\r")

Method to trim the spaces or user-specified characters on right end of a string.

Member Data Documentation

◆ m_Value

std::string itk::FancyString::m_Value
private

Definition at line 208 of file itkFancyString.h.


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