OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Static Public Member Functions | List of all members
ossimXmlString Class Reference

#include <ossimXmlString.h>

Inheritance diagram for ossimXmlString:
ossimString

Public Member Functions

 ossimXmlString ()
 
 ossimXmlString (const ossimXmlString &src)
 
 ossimXmlString (const ossimString &src)
 
 ossimXmlString (const char *src)
 
template<class Iter >
 ossimXmlString (Iter s, Iter e)
 
const ossimXmlStringoperator= (const char *s)
 
const ossimXmlStringoperator= (const ossimString &s)
 
const ossimXmlStringoperator= (const std::string &s)
 
const ossimXmlStringassign (const ossimString &s)
 
- Public Member Functions inherited from ossimString
 ossimString ()
 default constructor More...
 
 ossimString (const std::string &s)
 constructor that takes a std::string More...
 
 ossimString (const char *aString)
 constructor that takes char* NOTE: std::string construtor throws exception given null pointer; hence, the null check. More...
 
 ossimString (const ossimString &aString)
 copy constructor More...
 
 ossimString (std::string::size_type n, char c)
 constructor - constructs with n copies of c More...
 
 ossimString (char aChar)
 constructor - constructs with 1 c. More...
 
template<class Iter >
 ossimString (Iter startIter, Iter endIter)
 
 ~ossimString ()
 destructor More...
 
bool contains (char aChar) const
 
bool contains (const ossimString &aString) const
 
bool contains (const char *aString) const
 
 operator const std::string & () const
 Type conversion operator to a const std::string&. More...
 
 operator std::string & ()
 Type conversion operator to a std::string&. More...
 
 operator const char * () const
 Type conversion operator to a const char*. More...
 
const char * chars () const
 For backward compatibility. More...
 
 operator bool () const
 
const ossimStringoperator= (const std::string &s)
 
const ossimStringoperator= (const char *s)
 
const ossimStringoperator= (char c)
 
const ossimStringoperator= (const ossimString &s)
 
const ossimStringoperator+= (const ossimString &s)
 
const ossimStringoperator+= (const std::string &s)
 
const ossimStringoperator+= (const char *s)
 
const ossimStringoperator+= (char c)
 
const ossimStringappend (const ossimString &s)
 
const ossimStringappend (const std::string &s)
 
const ossimStringappend (const char *s)
 
const char & at (std::string::size_type n) const
 Provides access to the data contained in the string. More...
 
char & at (std::string::size_type n)
 Provides access to the data contained in the string. More...
 
const ossimStringappend (std::string::size_type n, char c)
 Append n copies of c to *this. More...
 
ossimString operator+ (const ossimString &s) const
 
ossimString operator+ (const std::string &s) const
 
ossimString operator+ (const char *s) const
 
ossimString operator+ (char c) const
 
bool operator== (const ossimString &rhs) const
 Test if this ossimString is equal to another ossimString. More...
 
bool operator== (const char *rhs) const
 Test if this ossimString is equal to a C sting. More...
 
bool operator!= (const ossimString &rhs) const
 Test if this ossimString is not equal to another ossimString. More...
 
bool operator!= (const char *rhs) const
 Test if this ossimString is not equal to a C sting. More...
 
bool operator< (const ossimString &rhs) const
 
bool operator<= (const ossimString &rhs) const
 
bool operator> (const ossimString &rhs) const
 
bool operator>= (const ossimString &rhs) const
 
char & operator[] (std::string::size_type i)
 
const char & operator[] (std::string::size_type i) const
 
std::string & insert (std::string::size_type pos, const char *s)
 If pos > size(), throws out_of_range. More...
 
void push_back (char c)
 Equivalent to insert(end(), c). More...
 
std::string substr (std::string::size_type pos=0, std::string::size_type n=std::string::npos) const
 Equivalent to basic_string(*this, pos, n). More...
 
ossimString trim (const ossimString &valueToTrim=ossimString(" \\)) const
 this will strip lead and trailing character passed in. More...
 
ossimStringtrim (const ossimString &valueToTrim=ossimString(" \\))
 
ossimString beforePos (std::string::size_type pos) const
 
ossimString afterPos (std::string::size_type pos) const
 
ossimString substitute (const ossimString &searchKey, const ossimString &replacementValue, bool replaceAll=false) const
 Substitutes searchKey string with replacementValue and returns a string. More...
 
ossimStringgsub (const ossimString &searchKey, const ossimString &replacementValue, bool replaceAll=false)
 Substitutes searchKey string with replacementValue and returns a reference to *this. More...
 
std::vector< ossimStringexplode (const ossimString &delimeter) const
 
ossimString expandEnvironmentVariable () const
 If the variable "$(env_var_name)" is found in the string, where "env_var_name" is any system environment variable resolvable by the getenv() function, the variable is expanded in place and the result returned. More...
 
ossimStringupcase ()
 Upcases this string. More...
 
ossimString upcase () const
 
ossimStringdowncase ()
 Downcases this string. More...
 
ossimString downcase () const
 
const char * c_str () const
 Returns a pointer to a null-terminated array of characters representing the string's contents. More...
 
const char * data () const
 Returns a pointer to an array of characters (not necessarily null-terminated) representing the string's contents. More...
 
std::string::size_type size () const
 
std::string::size_type length () const
 
bool empty () const
 
const std::string & string () const
 
std::string & string ()
 
std::string::iterator begin ()
 
std::string::iterator end ()
 
std::string::const_iterator begin () const
 
std::string::const_iterator end () const
 
void clear ()
 Erases the entire container. More...
 
std::string::iterator erase (std::string::iterator p)
 Erases the character at position p. More...
 
std::string::iterator erase (std::string::iterator first, std::string::iterator last)
 Erases the range [first, last). More...
 
std::string & erase (std::string::size_type pos=0, std::string::size_type n=std::string::npos)
 Erases a range. More...
 
std::string::size_type find (const std::string &s, std::string::size_type pos=0) const
 Searches for s as a substring of *this, beginning at character pos of *this. More...
 
std::string::size_type find (const char *s, std::string::size_type pos, std::string::size_type n) const
 Searches for the first n characters of s as a substring of *this, beginning at character pos of *this. More...
 
std::string::size_type find (const char *s, std::string::size_type pos=0) const
 Searches for a null-terminated character array as a substring of *this, beginning at character pos of *this. More...
 
std::string::size_type find (char c, std::string::size_type pos=0) const
 Searches for the character c, beginning at character position pos. More...
 
std::string::size_type rfind (const std::string &s, std::string::size_type pos=0) const
 Searches backward for s as a substring of *this, beginning at character position min(pos, size()). More...
 
std::string::size_type rfind (const char *s, std::string::size_type pos, std::string::size_type n) const
 Searches backward for the first n characters of s as a substring of *this, beginning at character position min(pos, size()). More...
 
std::string::size_type rfind (const char *s, std::string::size_type pos=0) const
 Searches backward for a null-terminated character array as a substring of *this, beginning at character min(pos, size()). More...
 
std::string::size_type rfind (char c, std::string::size_type pos=0) const
 Searches backward for the character c, beginning at character position min(pos, size(). More...
 
std::string::size_type find_first_of (char c, std::string::size_type pos=0) const
 Equivalent to find(c, pos). More...
 
std::string::size_type find_first_not_of (char c, std::string::size_type pos=0) const
 Returns the smallest character position N such that pos <= N < size(), and such that (*this)[N] does not compare equal to c. More...
 
std::string::size_type find_first_of (const char *s, std::string::size_type pos=0) const
 Equivalent to find_first_of(s, pos, traits::length(s)). More...
 
std::string::size_type find_first_not_of (const char *s, std::string::size_type pos=0) const
 
Equivalent to find_first_not_of(s, pos, traits::length(s)). More...
 
std::string::size_type find_last_of (char c, std::string::size_type pos=std::string::npos) const
 Equivalent to rfind(c, pos). More...
 
std::string & assign (std::string::size_type n, char c)
 Erases the existing characters and replaces them by n copies of c. More...
 
std::string & replace (std::string::size_type pos, std::string::size_type n, const std::string &s)
 Replaces a substring of *this with the string s. More...
 
std::string & replace (std::string::iterator first, std::string::iterator last, const std::string &s)
 brief Equivalent to insert(erase(first, last), s.begin(), s.end()). More...
 
std::string & replace (std::string::size_type pos, std::string::size_type n, const std::string &s, std::string::size_type pos1, std::string::size_type n1)
 Replaces a substring of *this with a substring of s. More...
 
void reserve (std::string::size_type n)
 Requests that the string's capacity be changed. More...
 
ossimString before (const ossimString &str, std::string::size_type pos=0) const
 METHOD: before(str, pos) Returns string beginning at pos and ending one before the token str If string not found or pos out of range the whole string will be returned. More...
 
ossimString after (const ossimString &str, std::string::size_type pos=0) const
 METHOD: after(str, pos) Returns string immediately after the token str. More...
 
char * stringDup () const
 
bool toBool () const
 String to numeric methods. More...
 
ossim_uint8 toUInt8 () const
 
int toInt () const
 
ossim_int16 toInt16 () const
 
ossim_uint16 toUInt16 () const
 
ossim_int32 toInt32 () const
 
ossim_uint32 toUInt32 () const
 
ossim_int64 toInt64 () const
 
ossim_uint64 toUInt64 () const
 
ossim_int64 memoryUnitToInt64 () const
 This takes a string and will test for numeric followed by a unit type: More...
 
long toLong () const
 toLong's deprecated, please use the toInts... More...
 
unsigned long toULong () const
 
ossim_float32 toFloat32 () const
 
ossim_float64 toFloat64 () const
 
double toDouble () const
 
void split (std::vector< ossimString > &result, const ossimString &separatorList, bool skipBlankFields=false) const
 Splits this string into a vector of strings (fields) using the delimiter list specified. More...
 
std::vector< ossimStringsplit (const ossimString &separatorList, bool skipBlankFields=false) const
 
const ossimStringjoin (const std::vector< ossimString > &stringList, const ossimString &separator)
 
ossimString beforeRegExp (const char *regularExpressionPattern) const
 Returns from start of string up to but not including found pattern. More...
 
ossimString fromRegExp (const char *regularExpressionPattern) const
 Returns from position of found pattern to end of string. More...
 
ossimString afterRegExp (const char *regularExpressionPattern) const
 Returns from position after found pattern to end of string. More...
 
ossimString match (const char *regularExpressionPattern) const
 Returns from found pattern to end of pattern. More...
 
ossimString replaceAllThatMatch (const char *regularExpressionPattern, const char *value="") const
 
ossimString replaceStrThatMatch (const char *regularExpressionPattern, const char *value="") const
 
ossimString urlEncode () const
 
ossimString getOssimId () const
 If OSSIM_ID_ENABLED returns the OSSIM_ID which currently is the expanded cvs. More...
 

Static Public Member Functions

static ossimString wrapCDataIfNeeded (const ossimString &input)
 
static ossimString wrapCData (const ossimString &input)
 
static bool containsSpecialXmlCharacters (const ossimString &value)
 
- Static Public Member Functions inherited from ossimString
static ossimString upcase (const ossimString &aString)
 
static ossimString downcase (const ossimString &aString)
 
static bool toBool (const ossimString &aString)
 
static ossim_uint8 toUInt8 (const ossimString &aString)
 
static int toInt (const ossimString &aString)
 
static ossim_int16 toInt16 (const ossimString &aString)
 
static ossim_uint16 toUInt16 (const ossimString &aString)
 
static ossim_int32 toInt32 (const ossimString &aString)
 
static ossim_uint32 toUInt32 (const ossimString &aString)
 
static ossim_int64 toInt64 (const ossimString &aString)
 
static ossim_uint64 toUInt64 (const ossimString &aString)
 
static ossim_int64 memoryUnitToInt64 (const ossimString &aString)
 
static long toLong (const ossimString &aString)
 
static unsigned long toULong (const ossimString &aString)
 
static ossim_float32 toFloat32 (const ossimString &aString)
 
static ossim_float64 toFloat64 (const ossimString &aString)
 
static double toDouble (const ossimString &aString)
 
static ossimString toString (bool aValue)
 Numeric to string methods. More...
 
static ossimString toString (ossim_int16 aValue)
 
static ossimString toString (ossim_uint16 aValue)
 
static ossimString toString (ossim_int32 aValue)
 
static ossimString toString (ossim_uint32 aValue)
 
static ossimString toString (ossim_int64 aValue)
 
static ossimString toString (ossim_uint64 aValue)
 
static ossimString toString (ossim_float32 aValue, ossim_int32 precision=8, bool fixed=false)
 
static ossimString toString (ossim_float64 aValue, ossim_int32 precision=15, bool fixed=false)
 
static ossimString stripLeading (const ossimString &value, char characterToStrip)
 

Additional Inherited Members

- Public Types inherited from ossimString
typedef std::string::const_iterator const_iterator
 
typedef std::string::iterator iterator
 
typedef std::string::size_type size_type
 
- Protected Attributes inherited from ossimString
std::string m_str
 

Detailed Description

Definition at line 17 of file ossimXmlString.h.

Constructor & Destructor Documentation

◆ ossimXmlString() [1/5]

ossimXmlString::ossimXmlString ( )
inline

Definition at line 20 of file ossimXmlString.h.

21  :
22  ossimString()
23  {}
ossimString()
default constructor
Definition: ossimString.h:31

◆ ossimXmlString() [2/5]

ossimXmlString::ossimXmlString ( const ossimXmlString src)
inline

Definition at line 24 of file ossimXmlString.h.

25  :
26  ossimString(src)
27  {}
ossimString()
default constructor
Definition: ossimString.h:31

◆ ossimXmlString() [3/5]

ossimXmlString::ossimXmlString ( const ossimString src)
inline

Definition at line 28 of file ossimXmlString.h.

References ossimString::assign().

29  :
30  ossimString("")
31  {
32  assign(src);
33 
34  }
const ossimXmlString & assign(const ossimString &s)
ossimString()
default constructor
Definition: ossimString.h:31

◆ ossimXmlString() [4/5]

ossimXmlString::ossimXmlString ( const char *  src)
inline

Definition at line 35 of file ossimXmlString.h.

References ossimString::assign().

36  :
37  ossimString("")
38  {
39  assign(src);
40  }
const ossimXmlString & assign(const ossimString &s)
ossimString()
default constructor
Definition: ossimString.h:31

◆ ossimXmlString() [5/5]

template<class Iter >
ossimXmlString::ossimXmlString ( Iter  s,
Iter  e 
)
inline

Definition at line 43 of file ossimXmlString.h.

References ossimString::assign(), and ossimString::ossimString().

44  :ossimString("")
45  {
46  assign(ossimString(s, e));
47  }
const ossimXmlString & assign(const ossimString &s)
ossimString()
default constructor
Definition: ossimString.h:31

Member Function Documentation

◆ assign()

const ossimXmlString & ossimXmlString::assign ( const ossimString s)

Definition at line 37 of file ossimXmlString.cpp.

References ossimString::begin(), ossimString::find(), ossimString::replace(), and ossimString::substitute().

38 {
39  ossimString result = s;
40 
41  std::string::size_type pos = 0;
42 
43  pos = result.find("&");
44  // do ampersand first
45  //
46  while(pos != std::string::npos)
47  {
48  ossimString s1(result.begin() + pos,
49  result.begin()+pos+5);
50  ossimString s2(result.begin() + pos,
51  result.begin()+pos+4);
52  ossimString s3(result.begin() + pos,
53  result.begin()+pos+3);
54 
55  if((s2 != "&amp")&&
56  (s1 != "&quot")&&
57  (s3 != "&gt")&&
58  (s3 != "&lt")&&
59  (s1 != "&apos"))
60  {
61  result.replace(pos, 1, "&amp");
62  }
63 
64  pos = result.find("&", pos+4);
65  }
66 
67  result = result.substitute("\"",
68  "&quot",
69  true);
70  result = result.substitute("<",
71  "&lt",
72  true);
73  result = result.substitute(">",
74  "&gt",
75  true);
76  result = result.substitute("'",
77  "&apos",
78  true);
79 
80  *((ossimString*)this) = result;
81 
82  return *this;
83 }
ossimString substitute(const ossimString &searchKey, const ossimString &replacementValue, bool replaceAll=false) const
Substitutes searchKey string with replacementValue and returns a string.
std::string::iterator begin()
Definition: ossimString.h:420
std::string & replace(std::string::size_type pos, std::string::size_type n, const std::string &s)
Replaces a substring of *this with the string s.
Definition: ossimString.h:870
std::string::size_type find(const std::string &s, std::string::size_type pos=0) const
Searches for s as a substring of *this, beginning at character pos of *this.
Definition: ossimString.h:753

◆ containsSpecialXmlCharacters()

bool ossimXmlString::containsSpecialXmlCharacters ( const ossimString value)
static

Definition at line 12 of file ossimXmlString.cpp.

References ossimString::begin(), and ossimString::end().

Referenced by wrapCDataIfNeeded().

13 {
14  for(ossimString::const_iterator it = value.begin();
15  it != value.end();++it)
16  {
17  switch(*it)
18  {
19  case '&':
20  case '<':
21  case '>':
22  case '"':
23  case '\'':
24  {
25  return true;
26  }
27  default:
28  {
29  break;
30  }
31  }
32 
33  }
34  return false;
35 }
std::string::const_iterator const_iterator
Definition: ossimString.h:26
std::string::iterator end()
Definition: ossimString.h:423
std::string::iterator begin()
Definition: ossimString.h:420

◆ operator=() [1/3]

const ossimXmlString& ossimXmlString::operator= ( const char *  s)
inline

Definition at line 49 of file ossimXmlString.h.

References ossimString::assign(), and ossimString::ossimString().

50  {
51  return assign(ossimString(s));
52  }
const ossimXmlString & assign(const ossimString &s)
ossimString()
default constructor
Definition: ossimString.h:31

◆ operator=() [2/3]

const ossimXmlString& ossimXmlString::operator= ( const ossimString s)
inline

Definition at line 53 of file ossimXmlString.h.

References ossimString::assign(), and ossimString::ossimString().

54  {
55  return assign(ossimString(s));
56  }
const ossimXmlString & assign(const ossimString &s)
ossimString()
default constructor
Definition: ossimString.h:31

◆ operator=() [3/3]

const ossimXmlString& ossimXmlString::operator= ( const std::string &  s)
inline

Definition at line 57 of file ossimXmlString.h.

References ossimString::assign(), and ossimString::ossimString().

58  {
59  return assign(ossimString(s));
60  }
const ossimXmlString & assign(const ossimString &s)
ossimString()
default constructor
Definition: ossimString.h:31

◆ wrapCData()

ossimString ossimXmlString::wrapCData ( const ossimString input)
static

Definition at line 94 of file ossimXmlString.cpp.

Referenced by wrapCDataIfNeeded().

95 {
96  return "<![CDATA[" + input + "]]>";
97 }

◆ wrapCDataIfNeeded()

ossimString ossimXmlString::wrapCDataIfNeeded ( const ossimString input)
static

Definition at line 85 of file ossimXmlString.cpp.

References containsSpecialXmlCharacters(), and wrapCData().

86 {
88  {
89  return wrapCData(input);
90  }
91 
92  return input;
93 }
static bool containsSpecialXmlCharacters(const ossimString &value)
static ossimString wrapCData(const ossimString &input)

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