OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimString.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: MIT
4 //
5 // See LICENSE.txt file in the top level directory for more details.
6 //
7 // Author: Garrett Potts
8 //
9 // Description: This class extends the stl's string class.
10 //
11 //********************************************************************
12 // $Id: ossimString.h 20491 2012-01-23 20:10:06Z dburken $
13 #ifndef ossimString_HEADER
14 #define ossimString_HEADER 1
15 
17 #include <string>
18 #include <vector>
19 #include <iostream>
20 
21 
23 {
24 public:
25 
26  typedef std::string::const_iterator const_iterator;
27  typedef std::string::iterator iterator;
28  typedef std::string::size_type size_type;
29 
31  ossimString(): m_str() {}
32 
34  ossimString(const std::string& s):m_str(s) {}
35 
41  ossimString(const char *aString):m_str( aString?aString:"" ){}
42 
44  ossimString(const ossimString& aString):m_str(aString.m_str){}
45 
47  ossimString(std::string::size_type n, char c):m_str(n,c){}
48 
50  ossimString(char aChar):m_str(1, aChar){}
51 
52  template <class Iter>
53  ossimString(Iter startIter, Iter endIter):m_str(startIter, endIter){}
54 
57 
58  bool contains(char aChar) const
59  { return m_str.find(aChar)!=std::string::npos; }
60 
61  bool contains(const ossimString& aString) const
62  { return m_str.find(aString.m_str)!=std::string::npos; }
63 
64  bool contains(const char* aString) const
65  { return m_str.find(aString)!=std::string::npos; }
66 
68  operator const std::string&() const { return m_str; }
69 
71  operator std::string&() { return m_str; }
72 
74  operator const char*() const { return m_str.c_str(); }
75 
77  const char* chars() const { return m_str.c_str(); }
78 
81 
84  const ossimString& s);
85 
91  ossimString& str,
92  char delim );
93 
96 
97  explicit operator bool() const { return m_str.empty() ? false : true; }
98 
99  const ossimString& operator=(const std::string& s)
100  {
101  m_str = s;
102  return *this;
103  }
104 
105  const ossimString& operator=(const char* s)
106  {
107  if (s) // std::string::operator= throws exception given null pointer.
108  {
109  m_str = s;
110  }
111  else
112  {
113  m_str = "";
114  }
115  return *this;
116  }
117 
118  const ossimString& operator=(char c)
119  {
120  m_str = c;
121  return *this;
122  }
123 
125  {
126  if ( this != &s )
127  {
128  m_str = s.m_str;
129  }
130  return *this;
131  }
132 
134  {
135  m_str.append(s.m_str);
136  return *this;
137  }
138 
139  const ossimString& operator+=(const std::string& s)
140  {
141  m_str.append(s);
142  return *this;
143  }
144 
145  const ossimString& operator+=(const char* s)
146  {
147  if ( s ) m_str.append(s);
148  return *this;
149  }
150 
151  const ossimString& operator+=(char c)
152  {
153  m_str.append(1, c);
154  return *this;
155  }
156 
157  const ossimString& append(const ossimString& s);
158 
159  const ossimString& append(const std::string& s);
160 
161  const ossimString& append(const char* s);
162 
173  const char& at(std::string::size_type n) const;
174 
186  char& at(std::string::size_type n);
187 
189  const ossimString& append(std::string::size_type n, char c);
190 
192  {
193  ossimString returnS(*this);
194  returnS.m_str.append(s.m_str);
195  return returnS;
196  }
197 
198  ossimString operator+(const std::string& s)const
199  {
200  ossimString returnS(*this);
201  returnS.m_str.append(s);
202  return returnS;
203  }
204 
205  ossimString operator+(const char* s)const
206  {
207  ossimString returnS(*this);
208  if ( s ) returnS.m_str.append(s);
209  return returnS;
210  }
211 
212  ossimString operator+(char c)const
213  {
214  ossimString returnS(*this);
215  returnS.m_str.append(1, c);
216  return returnS;
217  }
218 
219  friend OSSIM_DLL ossimString operator+(const char* s1, const ossimString& s2);
220 
221  friend OSSIM_DLL ossimString operator+(const std::string s1, const ossimString& s2);
222 
223  friend OSSIM_DLL ossimString operator+(char c, const ossimString& s2);
224  friend OSSIM_DLL bool operator==(const char* lhs, const ossimString& rhs);
225  friend OSSIM_DLL bool operator==(const std::string& lhs, const ossimString& rhs);
226 
232  bool operator==(const ossimString& rhs) const
233  {
234  return (m_str == rhs.m_str);
235  }
236 
243  bool operator==(const char* rhs) const
244  {
245  bool result = false;
246  if (rhs)
247  {
248  result = (m_str.compare(std::string(rhs)) == 0);
249  }
250  return result;
251  }
252 
258  bool operator!=(const ossimString& rhs) const
259  {
260  return !(m_str.compare(rhs.m_str) == 0);
261  }
262 
269  bool operator!=(const char* rhs) const
270  {
271  bool result = true;
272  if (rhs)
273  {
274  result = !(m_str.compare(std::string(rhs)) == 0);
275  }
276  return result;
277  }
278 
279  bool operator<(const ossimString& rhs) const
280  {
281  return m_str < rhs.m_str;
282  }
283  bool operator<=(const ossimString& rhs) const
284  {
285  return m_str <= rhs.m_str;
286  }
287  bool operator>(const ossimString& rhs) const
288  {
289  return m_str > rhs.m_str;
290  }
291  bool operator>=(const ossimString& rhs) const
292  {
293  return m_str >= rhs.m_str;
294  }
295 
296  char& operator[](std::string::size_type i)
297  {
298  return m_str[i];
299  // return *( const_cast<char*>(m_strc_str())+i);
300  }
301 
302  const char& operator[](std::string::size_type i)const
303  {
304  return m_str[i];
305  }
306 
311  std::string& insert(std::string::size_type pos, const char* s);
312 
314  void push_back(char c);
315 
317  std::string substr(std::string::size_type pos = 0,
318  std::string::size_type n = std::string::npos) const;
319 
329  ossimString trim(const ossimString& valueToTrim= ossimString(" \t\n\r"))const;
330  ossimString& trim(const ossimString& valueToTrim= ossimString(" \t\n\r"));
331 
332  ossimString beforePos(std::string::size_type pos)const;
333  ossimString afterPos(std::string::size_type pos)const;
334 
339  ossimString substitute(const ossimString &searchKey,
340  const ossimString &replacementValue,
341  bool replaceAll=false)const;
342 
348  ossimString& gsub(const ossimString &searchKey,
349  const ossimString &replacementValue,
350  bool replaceAll=false);
351 
352  std::vector<ossimString> explode(const ossimString& delimeter) const;
353 
360  ossimString expandEnvironmentVariable() const;
361 
367  static ossimString upcase(const ossimString& aString);
368 
374  static ossimString downcase(const ossimString& aString);
375 
381  ossimString& upcase();
382  ossimString upcase()const;
383 
389  ossimString& downcase();
390  ossimString downcase()const;
391 
396  const char* c_str() const { return m_str.c_str(); }
397 
402  const char* data() const { return m_str.data(); }
403 
405  std::string::size_type size() const { return m_str.size(); }
406 
408  std::string::size_type length() const { return m_str.size(); }
409 
411  bool empty() const { return m_str.empty(); }
412 
414  const std::string& string() const { return m_str; }
415 
417  std::string& string() { return m_str; }
418 
420  std::string::iterator begin() { return m_str.begin(); }
421 
423  std::string::iterator end() { return m_str.end(); }
424 
426  std::string::const_iterator begin() const { return m_str.begin(); }
427 
429  std::string::const_iterator end() const { return m_str.end(); }
430 
432  void clear() { m_str.clear(); }
433 
435  std::string::iterator erase(std::string::iterator p);
436 
438  std::string::iterator erase(std::string::iterator first,
439  std::string::iterator last);
440 
442  std::string& erase(std::string::size_type pos = 0,
443  std::string::size_type n = std::string::npos);
444 
449  std::string::size_type find(const std::string& s,
450  std::string::size_type pos = 0) const;
451 
456  std::string::size_type find(const char* s,
457  std::string::size_type pos,
458  std::string::size_type n) const;
459 
464  std::string::size_type find(const char* s,
465  std::string::size_type pos = 0) const;
466 
471  std::string::size_type find(char c, std::string::size_type pos = 0) const;
472 
477  std::string::size_type rfind(const std::string& s,
478  std::string::size_type pos = 0) const;
479 
484  std::string::size_type rfind(const char* s,
485  std::string::size_type pos,
486  std::string::size_type n) const;
487 
492  std::string::size_type rfind(const char* s,
493  std::string::size_type pos = 0) const;
494 
499  std::string::size_type rfind(char c, std::string::size_type pos = 0) const;
500 
502  std::string::size_type find_first_of(
503  char c, std::string::size_type pos = 0) const;
504 
510  std::string::size_type find_first_not_of(
511  char c, std::string::size_type pos = 0) const;
512 
516  std::string::size_type find_first_of(
517  const char* s, std::string::size_type pos = 0) const;
518 
522  std::string::size_type find_first_not_of(
523  const char* s, std::string::size_type pos = 0) const;
524 
526  std::string::size_type find_last_of(
527  char c, std::string::size_type pos = std::string::npos) const;
528 
533  std::string& assign(std::string::size_type n, char c);
534 
536  std::string& replace(std::string::size_type pos,
537  std::string::size_type n,
538  const std::string& s);
539 
541  std::string& replace(std::string::iterator first,
542  std::string::iterator last,
543  const std::string& s);
544 
546  std::string& replace(std::string::size_type pos,
547  std::string::size_type n,
548  const std::string& s,
549  std::string::size_type pos1,
550  std::string::size_type n1);
551 
553  void reserve(std::string::size_type n);
554 
561  ossimString before(const ossimString& str, std::string::size_type pos=0)const;
562 
569  ossimString after (const ossimString& str, std::string::size_type pos=0)const;
570 
571  char* stringDup()const;
572 
576  bool toBool()const;
577  static bool toBool(const ossimString& aString);
578 
579  ossim_uint8 toUInt8()const;
580  static ossim_uint8 toUInt8(const ossimString& aString);
581 
582  int toInt()const;
583  static int toInt(const ossimString& aString);
584 
585  ossim_int16 toInt16()const;
586  static ossim_int16 toInt16(const ossimString& aString);
587  ossim_uint16 toUInt16()const;
588  static ossim_uint16 toUInt16(const ossimString& aString);
589 
590  ossim_int32 toInt32()const;
591  static ossim_int32 toInt32(const ossimString& aString);
592  ossim_uint32 toUInt32()const;
593  static ossim_uint32 toUInt32(const ossimString& aString);
594 
595  ossim_int64 toInt64()const;
596  static ossim_int64 toInt64(const ossimString& aString);
597  ossim_uint64 toUInt64()const;
598  static ossim_uint64 toUInt64(const ossimString& aString);
599 
619  ossim_int64 memoryUnitToInt64()const;
620  static ossim_int64 memoryUnitToInt64(const ossimString& aString);
621 
625  long toLong()const;
626  static long toLong(const ossimString& aString);
627  unsigned long toULong()const;
628  static unsigned long toULong(const ossimString& aString);
629 
630  ossim_float32 toFloat32()const;
631  static ossim_float32 toFloat32(const ossimString& aString);
632  ossim_float64 toFloat64()const;
633  static ossim_float64 toFloat64(const ossimString& aString);
634  double toDouble()const;
635  static double toDouble(const ossimString& aString);
636 
640  static ossimString toString(bool aValue);
641  static ossimString toString(ossim_int16 aValue);
642  static ossimString toString(ossim_uint16 aValue);
643  static ossimString toString(ossim_int32 aValue);
644  static ossimString toString(ossim_uint32 aValue);
645  static ossimString toString(ossim_int64 aValue);
646  static ossimString toString(ossim_uint64 aValue);
647 
655  static ossimString toString(ossim_float32 aValue,
656  ossim_int32 precision = 8,
657  bool fixed = false);
658 
666  static ossimString toString(ossim_float64 aValue,
667  ossim_int32 precision = 15,
668  bool fixed = false);
669 
670  static ossimString stripLeading(const ossimString &value,
671  char characterToStrip);
672 
673 
679  void split(std::vector<ossimString>& result,
680  const ossimString& separatorList,
681  bool skipBlankFields=false)const;
682 
683  std::vector<ossimString> split(const ossimString& separatorList,
684  bool skipBlankFields=false)const;
685 
686  const ossimString& join(const std::vector<ossimString>& stringList,
687  const ossimString& separator);
688 
689  //---
690  // Regular expression pattern utilities
691  //---
692 
697  ossimString beforeRegExp(const char *regularExpressionPattern) const;
698 
703  ossimString fromRegExp(const char *regularExpressionPattern) const;
704 
709  ossimString afterRegExp(const char *regularExpressionPattern) const;
710 
715  ossimString match(const char *regularExpressionPattern) const;
716 
717  ossimString replaceAllThatMatch(const char *regularExpressionPattern,
718  const char *value="") const;
719 
720  ossimString replaceStrThatMatch(const char *regularExpressionPattern,
721  const char *value="") const;
722 
723  ossimString urlEncode()const;
724 
729  ossimString getOssimId() const;
730 
731 protected:
732 
733  std::string m_str;
734 };
735 
736 inline std::string::iterator ossimString::erase(std::string::iterator p)
737 {
738  return m_str.erase(p);
739 }
740 
741 inline std::string::iterator ossimString::erase(std::string::iterator first,
742  std::string::iterator last)
743 {
744  return m_str.erase(first, last);
745 }
746 
747 inline std::string& ossimString::erase(std::string::size_type pos,
748  std::string::size_type n)
749 {
750  return m_str.erase(pos, n);
751 }
752 
753 inline std::string::size_type ossimString::find(
754  const std::string& s, std::string::size_type pos) const
755 {
756  return m_str.find(s, pos);
757 }
758 
759 inline std::string::size_type ossimString::find(
760  const char* s, std::string::size_type pos, std::string::size_type n) const
761 {
762  return m_str.find(s, pos, n);
763 }
764 
765 inline std::string::size_type ossimString::find(
766  const char* s, std::string::size_type pos) const
767 {
768  return m_str.find(s, pos);
769 }
770 
771 inline std::string::size_type ossimString::find(
772  char c, std::string::size_type pos) const
773 {
774  return m_str.find(c, pos);
775 }
776 
777 inline std::string::size_type ossimString::rfind(
778  const std::string& s, std::string::size_type pos) const
779 {
780  return m_str.rfind(s, pos);
781 }
782 
783 inline std::string::size_type ossimString::rfind(
784  const char* s, std::string::size_type pos, std::string::size_type n) const
785 {
786  return m_str.rfind(s, pos, n);
787 }
788 
789 inline std::string::size_type ossimString::rfind(
790  const char* s, std::string::size_type pos) const
791 {
792  return m_str.rfind(s, pos);
793 }
794 
795 inline std::string::size_type ossimString::rfind(
796  char c, std::string::size_type pos) const
797 {
798  return m_str.rfind(c, pos);
799 }
800 
801 inline std::string::size_type ossimString::find_first_of(
802  char c, std::string::size_type pos) const
803 {
804  return m_str.find_first_of(c, pos);
805 }
806 
807 inline std::string::size_type ossimString::find_first_of(
808  const char* s, std::string::size_type pos) const
809 {
810  return m_str.find_first_of(s, pos);
811 }
812 
813 inline std::string::size_type ossimString::find_first_not_of(
814  const char c, std::string::size_type pos) const
815 {
816  return m_str.find_first_not_of(c, pos);
817 }
818 
819 inline std::string::size_type ossimString::find_first_not_of(
820  const char* s, std::string::size_type pos) const
821 {
822  return m_str.find_first_not_of(s, pos);
823 }
824 
825 inline std::string::size_type ossimString::find_last_of(
826  char c, std::string::size_type pos) const
827 {
828  return m_str.find_last_of(c, pos);
829 }
830 
832 {
833  m_str.append(s.m_str);
834  return *this;
835 }
836 
837 inline const ossimString& ossimString::append(const std::string& s)
838 {
839  m_str.append(s);
840  return *this;
841 }
842 
843 inline const ossimString& ossimString::append(const char* s)
844 {
845  if ( s ) m_str.append(s);
846  return *this;
847 }
848 
849 inline const ossimString& ossimString::append(std::string::size_type n, char c)
850 {
851  m_str.append(n, c);
852  return *this;
853 }
854 
855 inline const char& ossimString::at(std::string::size_type n) const
856 {
857  return m_str.at(n);
858 }
859 
860 inline char& ossimString::at(std::string::size_type n)
861 {
862  return m_str.at(n);
863 }
864 
865 inline std::string& ossimString::assign(std::string::size_type n, char c)
866 {
867  return m_str.assign(n, c);
868 }
869 
870 inline std::string& ossimString::replace(
871  std::string::size_type pos, std::string::size_type n, const std::string& s)
872 {
873  return m_str.replace(pos, n, s);
874 }
875 
876 inline std::string& ossimString::replace(std::string::iterator first,
877  std::string::iterator last,
878  const std::string& s)
879 {
880  return m_str.replace(first, last, s);
881 }
882 
883 inline std::string& ossimString::replace(std::string::size_type pos,
884  std::string::size_type n,
885  const std::string& s,
886  std::string::size_type pos1,
887  std::string::size_type n1)
888 {
889  return m_str.replace(pos, n, s, pos1, n1);
890 }
891 
892 inline void ossimString::reserve(std::string::size_type n)
893 {
894  m_str.reserve(n);
895 }
896 
897 
898 inline std::string& ossimString::insert(std::string::size_type pos,
899  const char* s)
900 {
901  if (s) m_str.insert(pos, s);
902  return m_str;
903 }
904 
905 inline void ossimString::push_back(char c)
906 {
907  m_str.push_back(c);
908 }
909 
910 inline std::string ossimString::substr(std::string::size_type pos,
911  std::string::size_type n) const
912 {
913  return m_str.substr(pos, n);
914 }
915 
916 inline std::istream& getline( std::istream& is, ossimString& str, char delim )
917 {
918  return std::getline( is, str.string(), delim );
919 }
920 
922 {
923  // Not sure why getline( is, str.string()) doesn't work. (drb)
924  return std::getline( is, str.string(), '\n' );
925 }
926 
928 {
929  return is >> s.string();
930 }
931 
933 {
934  return os << s.string();
935 }
936 
937 inline ossimString operator+(const char* s1, const ossimString& s2)
938 {
939  ossimString result;
940  if ( s1 ) result = ossimString( s1 + s2.string() );
941  else result = s2;
942  return result;
943 }
944 
945 inline ossimString operator+(const std::string s1, const ossimString& s2)
946 {
947  return ossimString( s1 + s2.string() );
948 }
949 
950 inline ossimString operator+(char c, const ossimString& s2)
951 {
952  return ossimString( c + s2.string() );
953 }
954 
955 inline bool operator==(const char* lhs, const ossimString& rhs)
956 {
957  return (rhs.operator ==(lhs));
958 }
959 
960 inline bool operator==(const std::string& lhs, const ossimString& rhs)
961 {
962  return (rhs.operator ==(lhs));
963 }
964 
972 {
973  bool operator()(const ossimString& s1, const ossimString& s2) const
974  {
975  return s1.string().compare(s2.string()) < 0;
976  }
977 };
978 
979 #endif /* #ifndef ossimString_HEADER */
void clear()
Erases the entire container.
Definition: ossimString.h:432
const ossimString & operator+=(const ossimString &s)
Definition: ossimString.h:133
ossimString operator+(const ossimString &s) const
Definition: ossimString.h:191
std::string::iterator iterator
Definition: ossimString.h:27
const ossimString & operator=(const ossimString &s)
Definition: ossimString.h:124
char & operator[](std::string::size_type i)
Definition: ossimString.h:296
bool contains(const ossimString &aString) const
Definition: ossimString.h:61
std::string & insert(std::string::size_type pos, const char *s)
If pos > size(), throws out_of_range.
Definition: ossimString.h:898
std::string m_str
Definition: ossimString.h:733
float ossim_float32
bool operator!=(const ossimString &rhs) const
Test if this ossimString is not equal to another ossimString.
Definition: ossimString.h:258
bool contains(char aChar) const
Definition: ossimString.h:58
bool operator>(const ossimString &rhs) const
Definition: ossimString.h:287
ossimString(std::string::size_type n, char c)
constructor - constructs with n copies of c
Definition: ossimString.h:47
std::string::const_iterator const_iterator
Definition: ossimString.h:26
const char * data() const
Returns a pointer to an array of characters (not necessarily null-terminated) representing the string...
Definition: ossimString.h:402
ossimString(const std::string &s)
constructor that takes a std::string
Definition: ossimString.h:34
std::istream & getline(std::istream &is, ossimString &str, char delim)
Definition: ossimString.h:916
bool operator==(const ossimString &rhs) const
Test if this ossimString is equal to another ossimString.
Definition: ossimString.h:232
void reserve(std::string::size_type n)
Requests that the string&#39;s capacity be changed.
Definition: ossimString.h:892
bool operator==(const char *rhs) const
Test if this ossimString is equal to a C sting.
Definition: ossimString.h:243
unsigned short ossim_uint16
const char & at(std::string::size_type n) const
Provides access to the data contained in the string.
Definition: ossimString.h:855
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()).
Definition: ossimString.h:777
std::string::size_type size_type
Definition: ossimString.h:28
std::string::iterator end()
Definition: ossimString.h:423
bool contains(const char *aString) const
Definition: ossimString.h:64
std::string::size_type find_first_of(char c, std::string::size_type pos=0) const
Equivalent to find(c, pos).
Definition: ossimString.h:801
void push_back(char c)
Equivalent to insert(end(), c).
Definition: ossimString.h:905
double ossim_float64
const ossimString & operator=(const char *s)
Definition: ossimString.h:105
const ossimString & append(const ossimString &s)
Definition: ossimString.h:831
const ossimString & operator=(const std::string &s)
Definition: ossimString.h:99
std::istream & operator>>(std::istream &is, ossimString &s)
Definition: ossimString.h:927
ossimString()
default constructor
Definition: ossimString.h:31
ossimString(const ossimString &aString)
copy constructor
Definition: ossimString.h:44
ossimString(char aChar)
constructor - constructs with 1 c.
Definition: ossimString.h:50
std::string::size_type length() const
Definition: ossimString.h:408
ossimString operator+(const char *s1, const ossimString &s2)
Definition: ossimString.h:937
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 ...
Definition: ossimString.h:813
std::string::size_type size() const
Definition: ossimString.h:405
os2<< "> n<< " > nendobj n
std::string::iterator begin()
Definition: ossimString.h:420
const char & operator[](std::string::size_type i) const
Definition: ossimString.h:302
unsigned long long ossim_uint64
unsigned int ossim_uint32
std::string::iterator erase(std::string::iterator p)
Erases the character at position p.
Definition: ossimString.h:736
const char * chars() const
For backward compatibility.
Definition: ossimString.h:77
For use with std::map as a compare operator: std::map<ossimString, ossimString, ossimStringLtstr> ...
Definition: ossimString.h:971
std::string & string()
Definition: ossimString.h:417
bool operator<(const ossimString &rhs) const
Definition: ossimString.h:279
ossimString(Iter startIter, Iter endIter)
Definition: ossimString.h:53
bool operator()(const ossimString &s1, const ossimString &s2) const
Definition: ossimString.h:973
std::ostream & operator<<(std::ostream &os, const ossimString &s)
Definition: ossimString.h:932
~ossimString()
destructor
Definition: ossimString.h:56
short ossim_int16
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
const ossimString & operator+=(const std::string &s)
Definition: ossimString.h:139
const ossimString & operator+=(const char *s)
Definition: ossimString.h:145
ossimString(const char *aString)
constructor that takes char* NOTE: std::string construtor throws exception given null pointer; hence...
Definition: ossimString.h:41
#define OSSIM_DLL
std::string::size_type find_last_of(char c, std::string::size_type pos=std::string::npos) const
Equivalent to rfind(c, pos).
Definition: ossimString.h:825
ossimString operator+(const char *s) const
Definition: ossimString.h:205
bool operator<=(const ossimString &rhs) const
Definition: ossimString.h:283
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
long long ossim_int64
xref push_back((std::streamoff) str->tellp())
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string&#39;s contents...
Definition: ossimString.h:396
bool empty() const
Definition: ossimString.h:411
ossimString operator+(char c) const
Definition: ossimString.h:212
std::string::const_iterator begin() const
Definition: ossimString.h:426
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).
Definition: ossimString.h:910
std::string::const_iterator end() const
Definition: ossimString.h:429
bool operator>=(const ossimString &rhs) const
Definition: ossimString.h:291
const ossimString & operator+=(char c)
Definition: ossimString.h:151
ossimString operator+(const std::string &s) const
Definition: ossimString.h:198
std::string & assign(std::string::size_type n, char c)
Erases the existing characters and replaces them by n copies of c.
Definition: ossimString.h:865
bool operator==(const char *lhs, const ossimString &rhs)
Definition: ossimString.h:955
const ossimString & operator=(char c)
Definition: ossimString.h:118
unsigned char ossim_uint8
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
bool operator!=(const char *rhs) const
Test if this ossimString is not equal to a C sting.
Definition: ossimString.h:269
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
int ossim_int32
const std::string & string() const
Definition: ossimString.h:414