FreeFOAM The Cross-Platform CFD Toolkit
string Class Reference

A class for handling character strings derived from std::string. More...

#include <OpenFOAM/string.H>


Detailed Description

A class for handling character strings derived from std::string.

Strings may contain any characters and therefore are delimited by quotes for IO : "any list of characters".

Used as a base class for word and fileName.

See also:
Foam::findEtcFile() for information about the site/user OpenFOAM configuration directory
Source files

Definition at line 75 of file string.H.

+ Inheritance diagram for string:
+ Collaboration diagram for string:

List of all members.

Classes

class  hash
 Hashing function class, shared by all the derived classes. More...

Public Member Functions

 string ()
 Construct null.
 string (const std::string &)
 Construct from std::string.
 string (const char *)
 Construct as copy of character array.
 string (const char *, const size_type)
 Construct as copy of specified number of characters.
 string (const char)
 Construct from a single character.
 string (Istream &)
 Construct from Istream.
size_type count (const char) const
 Count and return the number of a given character in the string.
stringreplace (const string &oldStr, const string &newStr, size_type start=0)
 Replace first occurence of sub-string oldStr with newStr.
stringreplaceAll (const string &oldStr, const string &newStr, size_type start=0)
 Replace all occurences of sub-string oldStr with newStr.
stringexpand ()
 Expand initial tildes and all occurences of environment variables.
bool removeRepeated (const char)
 Remove repeated characters returning true if string changed.
string removeRepeated (const char) const
 Return string with repeated characters removed.
bool removeTrailing (const char)
 Remove trailing character returning true if string changed.
string removeTrailing (const char) const
 Return string with trailing character removed.
string operator() (const size_type i, const size_type n) const
 Return the sub-string from the i-th character for n characters.
string operator() (const size_type n) const
 Return the sub-string from the first character for n characters.

Static Public Member Functions

template<class String >
static bool valid (const string &)
 Is this string type valid?
template<class String >
static bool meta (const string &, const char quote='\\')
 Does this string have particular meta-characters?
template<class String >
static bool stripInvalid (string &)
 Strip invalid characters from the given string.
template<class String >
static String validate (const string &)
 Return a valid String from the given string.
template<class String >
static string quotemeta (const string &, const char quote='\\')
 Return a String with quoted meta-characters from the given string.

Static Public Attributes

static const char *const typeName = "string"
static int debug
static const string null

Friends

Istreamoperator>> (Istream &, string &)
Ostreamoperator<< (Ostream &, const string &)

Constructor & Destructor Documentation

string ( )
inline

Construct null.

Definition at line 30 of file stringI.H.

string ( const std::string &  str)
inline

Construct from std::string.

Definition at line 34 of file stringI.H.

string ( const char *  str)
inline

Construct as copy of character array.

Definition at line 41 of file stringI.H.

string ( const char *  str,
const size_type  len 
)
inline

Construct as copy of specified number of characters.

Definition at line 48 of file stringI.H.

string ( const char  c)
inline

Construct from a single character.

Definition at line 55 of file stringI.H.

string ( Istream is)

Construct from Istream.

Definition at line 31 of file stringIO.C.


Member Function Documentation

Foam::string::size_type count ( const char  c) const

Count and return the number of a given character in the string.

Definition at line 38 of file string.C.

Referenced by OSstream::write(), and OSstream::writeQuoted().

bool valid ( const string str)
inlinestatic

Is this string type valid?

Definition at line 64 of file stringI.H.

bool meta ( const string str,
const char  quote = '\\' 
)
inlinestatic

Does this string have particular meta-characters?

The meta characters can be optionally quoted.

Definition at line 112 of file stringI.H.

bool stripInvalid ( string str)
inlinestatic

Strip invalid characters from the given string.

Definition at line 78 of file stringI.H.

String validate ( const string str)
inlinestatic

Return a valid String from the given string.

Definition at line 172 of file stringI.H.

Foam::string quotemeta ( const string str,
const char  quote = '\\' 
)
inlinestatic

Return a String with quoted meta-characters from the given string.

Definition at line 136 of file stringI.H.

Foam::string & replace ( const string oldStr,
const string newStr,
size_type  start = 0 
)

Replace first occurence of sub-string oldStr with newStr.

starting at start

Definition at line 56 of file string.C.

Referenced by objectRegistry::rename(), and cellMotionFvPatchField< Type >::updateCoeffs().

Foam::string & replaceAll ( const string oldStr,
const string newStr,
size_type  start = 0 
)

Replace all occurences of sub-string oldStr with newStr.

starting at start

Definition at line 75 of file string.C.

Referenced by error::operator dictionary().

Foam::string & expand ( )

Expand initial tildes and all occurences of environment variables.

Expansion includes:

  1. environment variables
    • "$VAR", "${VAR}"
  2. current directory
    • leading "./" : the current directory
  3. tilde expansion
    • leading "~/" : home directory
    • leading "~user" : home directory for specified user
    • leading "~FreeFOAM" : site/user FreeFOAM configuration directory
    • leading "~OpenFOAM" : site/user FreeFOAM configuration directory (alias for ~FreeFOAM)
See also:
Foam::findEtcFile

Definition at line 97 of file string.C.

References Foam::cwd(), Foam::exit(), Foam::FatalError, FatalErrorIn, Foam::findEtcFile(), Foam::getEnv(), and Foam::home().

Referenced by includeEntry::includeFileName().

bool removeRepeated ( const char  character)

Remove repeated characters returning true if string changed.

Definition at line 225 of file string.C.

Referenced by string::removeRepeated().

Foam::string removeRepeated ( const char  character) const

Return string with repeated characters removed.

Definition at line 264 of file string.C.

References string::removeRepeated().

bool removeTrailing ( const char  character)

Remove trailing character returning true if string changed.

Definition at line 273 of file string.C.

Referenced by string::removeTrailing().

Foam::string removeTrailing ( const char  character) const

Return string with trailing character removed.

Definition at line 289 of file string.C.

References string::removeTrailing().

Foam::string operator() ( const size_type  i,
const size_type  n 
) const
inline

Return the sub-string from the i-th character for n characters.

Definition at line 183 of file stringI.H.

Foam::string operator() ( const size_type  n) const
inline

Return the sub-string from the first character for n characters.

Definition at line 192 of file stringI.H.


Friends And Related Function Documentation

Istream& operator>> ( Istream ,
string  
)
friend
Ostream& operator<< ( Ostream ,
const string  
)
friend

Member Data Documentation

const char *const typeName = "string"
static

Reimplemented in fileName, and word.

Definition at line 83 of file string.H.

int debug
static

Reimplemented in fileName, and word.

Definition at line 84 of file string.H.

const Foam::string null
static

Reimplemented in fileName, and word.

Definition at line 85 of file string.H.

Referenced by token::stringToken().


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