rwlogo
SourcePro C++ 12.0

SourcePro® C++ API Reference Guide



   SourcePro C++
Documentation Home

RWCConstSubString Class Reference
[String Processing]

Allows some subsection of an RWCString to be addressed by defining a starting position and an extent. More...

#include <rw/cstring.h>

List of all members.

Public Member Functions

 RWCConstSubString (const RWCConstSubString &str)
 RWCConstSubString (const RWCSubString &str)
char operator() (size_t i) const
char operator[] (char i) const
char operator[] (signed char i) const
char operator[] (short i) const
char operator[] (int i) const
char operator[] (long i) const
char operator[] (long long i) const
char operator[] (unsigned char i) const
char operator[] (unsigned short i) const
char operator[] (unsigned int i) const
char operator[] (unsigned long i) const
char operator[] (unsigned long long i) const
int operator! () const
bool isNull () const
size_t length () const
size_t start () const

Related Functions

(Note that these are not member functions.)



bool operator== (const RWCConstSubString &lhs, const RWCConstSubString &rhs)
bool operator== (const RWCConstSubString &lhs, const std::string &rhs)
bool operator== (const std::string &lhs, const RWCConstSubString &rhs)
bool operator== (const RWCConstSubString &lhs, const char *rhs)
bool operator== (const char *lhs, const RWCConstSubString &rhs)
bool operator== (const RWCConstSubString &lhs, char rhs)
bool operator== (char lhs, const RWCConstSubString &rhs)
bool operator!= (const RWCConstSubString &lhs, const RWCConstSubString &rhs)
bool operator!= (const RWCConstSubString &lhs, const std::string &rhs)
bool operator!= (const std::string &lhs, const RWCConstSubString &rhs)
bool operator!= (const RWCConstSubString &lhs, const char *rhs)
bool operator!= (const char *lhs, const RWCConstSubString &rhs)
bool operator!= (const RWCConstSubString &lhs, char rhs)
bool operator!= (char lhs, const RWCConstSubString &rhs)
bool operator< (const RWCConstSubString &lhs, const RWCConstSubString &rhs)
bool operator< (const RWCConstSubString &lhs, const std::string &rhs)
bool operator< (const std::string &lhs, const RWCConstSubString &rhs)
bool operator< (const RWCConstSubString &lhs, const char *rhs)
bool operator< (const char *lhs, const RWCConstSubString &rhs)
bool operator< (const RWCConstSubString &lhs, char rhs)
bool operator< (char lhs, const RWCConstSubString &rhs)
bool operator<= (const RWCConstSubString &lhs, const RWCConstSubString &rhs)
bool operator<= (const RWCConstSubString &lhs, const std::string &rhs)
bool operator<= (const std::string &lhs, const RWCConstSubString &rhs)
bool operator<= (const RWCConstSubString &lhs, const char *rhs)
bool operator<= (const char *lhs, const RWCConstSubString &rhs)
bool operator<= (const RWCConstSubString &lhs, char rhs)
bool operator<= (char lhs, const RWCConstSubString &rhs)
bool operator>= (const RWCConstSubString &lhs, const RWCConstSubString &rhs)
bool operator>= (const RWCConstSubString &lhs, const std::string &rhs)
bool operator>= (const std::string &lhs, const RWCConstSubString &rhs)
bool operator>= (const RWCConstSubString &lhs, const char *rhs)
bool operator>= (const char *lhs, const RWCConstSubString &rhs)
bool operator>= (const RWCConstSubString &lhs, char rhs)
bool operator>= (char lhs, const RWCConstSubString &rhs)
bool operator> (const RWCConstSubString &lhs, const RWCConstSubString &rhs)
bool operator> (const RWCConstSubString &lhs, const std::string &rhs)
bool operator> (const std::string &lhs, const RWCConstSubString &rhs)
bool operator> (const RWCConstSubString &lhs, const char *rhs)
bool operator> (const char *lhs, const RWCConstSubString &rhs)
bool operator> (const RWCConstSubString &lhs, char rhs)
bool operator> (char lhs, const RWCConstSubString &rhs)

Detailed Description

The class RWCConstSubString allows some subsection of an RWCString to be addressed by defining a starting position and an extent. For example, the 7th through the 11th elements, inclusive, would have a starting position of 7 and an extent of 5. The specification of a starting position and extent is also done on your behalf by such functions as RWCString::strip(). There are no public constructors other than one that creates an RWCConstSubString from an existing RWCSubString. In general, RWCConstSubStrings are constructed by various functions of the RWCString class and then destroyed immediately.

A zero length substring is one with a defined starting position and an extent of zero. It can be thought of as starting just before the indicated character, but not including it. It can be used as an lvalue. A null substring is also legal and is frequently used to indicate that a requested substring, perhaps through a search, does not exist. A null substring can be detected with member function isNull(). However, it cannot be used as an lvalue.

Synopsis

 #include <rw/cstring.h>
 const RWCString s("test string");
 s(6,3);     // "tri"

Persistence

None

Examples

 #include <iostream>
 #include <rw/cstring.h>
 
 int main()
 {
     const RWCString s ("What I tell you is true.");
  
     std::cout << "Take the string: [" << s << "]\n";
 
     // Create a string from substrings:
     const RWCString s2 (s(0, 16) + "three times " + s(16, 8));
 
     std::cout << "After creating a string from substrings, you have: ["
               << s2 << "]" << std::endl;
 
     return 0;
 }

Program output:

 Take the string: [What I tell you is true.]
 After creating a string from substrings, you have: [What I tell you three times is true.]

Constructor & Destructor Documentation

RWCConstSubString::RWCConstSubString ( const RWCConstSubString str  )  [inline]

Copy constructor. The resulting substring references the same start and extent of the RWCString associated with str.

Note:
The resulting substring instance should not be used if the RWCString associated with str is modified after the substring is instantiated.
RWCConstSubString::RWCConstSubString ( const RWCSubString str  )  [inline]

Constructs an RWCConstSubString from an existing RWCSubString. The resulting substring references the same start and extent of the RWCString associated with str.

Note:
The resulting substring instance should not be used if the RWCString associated with str is modified after the substring is instantiated.

Member Function Documentation

bool RWCConstSubString::isNull ( void   )  const [inline]

Returns true if this is a null substring.

size_t RWCConstSubString::length (  )  const [inline]

Returns the extent (i.e., length) of the substring.

int RWCConstSubString::operator! (  )  const [inline]

Returns true if this is a null substring. const

char RWCConstSubString::operator() ( size_t  i  )  const [inline]

Returns the i th character of the substring. The index i must be between zero and the length of the substring less one. Bounds checking is enabled by defining the pre-processor macro RWBOUNDS_CHECK before including <rw/cstring.h>.

Exceptions:
RWBoundsErr if RWBOUNDS_CHECK is defined and the index is out of range.
char RWCConstSubString::operator[] ( unsigned long long  i  )  const [inline]

Returns the i th character of the substring. The index i must be between zero and the length of the substring less one. i is converted to a size_t and bounds checking is performed.

Exceptions:
RWBoundsErr if the index is out of range.

char RWCConstSubString::operator[] ( unsigned long  i  )  const [inline]

Returns the i th character of the substring. The index i must be between zero and the length of the substring less one. i is converted to a size_t and bounds checking is performed.

Exceptions:
RWBoundsErr if the index is out of range.

char RWCConstSubString::operator[] ( unsigned int  i  )  const [inline]

Returns the i th character of the substring. The index i must be between zero and the length of the substring less one. i is converted to a size_t and bounds checking is performed.

Exceptions:
RWBoundsErr if the index is out of range.

char RWCConstSubString::operator[] ( unsigned short  i  )  const [inline]

Returns the i th character of the substring. The index i must be between zero and the length of the substring less one. i is converted to a size_t and bounds checking is performed.

Exceptions:
RWBoundsErr if the index is out of range.

char RWCConstSubString::operator[] ( unsigned char  i  )  const [inline]

Returns the i th character of the substring. The index i must be between zero and the length of the substring less one. i is converted to a size_t and bounds checking is performed.

Exceptions:
RWBoundsErr if the index is out of range.

char RWCConstSubString::operator[] ( long long  i  )  const [inline]

Returns the i th character of the substring. The index i must be between zero and the length of the substring less one. i is converted to a size_t and bounds checking is performed.

Exceptions:
RWBoundsErr if the index is out of range.

char RWCConstSubString::operator[] ( long  i  )  const [inline]

Returns the i th character of the substring. The index i must be between zero and the length of the substring less one. i is converted to a size_t and bounds checking is performed.

Exceptions:
RWBoundsErr if the index is out of range.

char RWCConstSubString::operator[] ( int  i  )  const [inline]

Returns the i th character of the substring. The index i must be between zero and the length of the substring less one. i is converted to a size_t and bounds checking is performed.

Exceptions:
RWBoundsErr if the index is out of range.

char RWCConstSubString::operator[] ( short  i  )  const [inline]

Returns the i th character of the substring. The index i must be between zero and the length of the substring less one. i is converted to a size_t and bounds checking is performed.

Exceptions:
RWBoundsErr if the index is out of range.

char RWCConstSubString::operator[] ( signed char  i  )  const [inline]

Returns the i th character of the substring. The index i must be between zero and the length of the substring less one. i is converted to a size_t and bounds checking is performed.

Exceptions:
RWBoundsErr if the index is out of range.

char RWCConstSubString::operator[] ( char  i  )  const [inline]

Returns the i th character of the substring. The index i must be between zero and the length of the substring less one. i is converted to a size_t and bounds checking is performed.

Exceptions:
RWBoundsErr if the index is out of range.

size_t RWCConstSubString::start ( void   )  const [inline]

Returns the index of the starting element of the substring.


Friends And Related Function Documentation

bool operator!= ( char  lhs,
const RWCConstSubString rhs 
) [related]

The equivalent of calling:

 !(lhs == rhs)

bool operator!= ( const RWCConstSubString lhs,
char  rhs 
) [related]

The equivalent of calling:

 !(lhs == rhs)

bool operator!= ( const char *  lhs,
const RWCConstSubString rhs 
) [related]

The equivalent of calling:

 !(lhs == rhs)

bool operator!= ( const RWCConstSubString lhs,
const char *  rhs 
) [related]

The equivalent of calling:

 !(lhs == rhs)

bool operator!= ( const std::string &  lhs,
const RWCConstSubString rhs 
) [related]

The equivalent of calling:

 !(lhs == rhs)

bool operator!= ( const RWCConstSubString lhs,
const std::string &  rhs 
) [related]

The equivalent of calling:

 !(lhs == rhs)

bool operator!= ( const RWCConstSubString lhs,
const RWCConstSubString rhs 
) [related]

The equivalent of calling:

 !(lhs == rhs)

bool operator< ( char  lhs,
const RWCConstSubString rhs 
) [related]

Returns true if the length of rhs is at least one and the first character of rhs is greater than lhs.

bool operator< ( const RWCConstSubString lhs,
char  rhs 
) [related]

Returns true if lhs is empty or the first character in lhs is less than rhs. Otherwise returns false.

bool operator< ( const char *  lhs,
const RWCConstSubString rhs 
) [related]

Returns true if lhs lexicographically precedes rhs. Otherwise returns false. Use member RWCString::collate() or RWCString::strXForm() for locale-sensitive comparisons.

Note:
This function is incompatible with lhs strings with embedded nulls.

bool operator< ( const RWCConstSubString lhs,
const char *  rhs 
) [related]

Returns true if lhs lexicographically precedes rhs. Otherwise returns false. Use member RWCString::collate() or RWCString::strXForm() for locale-sensitive comparisons.

Note:
This function is incompatible with rhs strings with embedded nulls.

bool operator< ( const std::string &  lhs,
const RWCConstSubString rhs 
) [related]

Returns true if lhs lexicographically precedes rhs. Otherwise returns false. Use member RWCString::collate() or RWCString::strXForm() for locale-sensitive comparisons.

bool operator< ( const RWCConstSubString lhs,
const std::string &  rhs 
) [related]

Returns true if lhs lexicographically precedes rhs. Otherwise returns false. Use member RWCString::collate() or RWCString::strXForm() for locale-sensitive comparisons.

bool operator< ( const RWCConstSubString lhs,
const RWCConstSubString rhs 
) [related]

Returns true if lhs lexicographically precedes rhs. Otherwise returns false. Use member RWCString::collate() or RWCString::strXForm() for locale-sensitive comparisons.

bool operator<= ( char  lhs,
const RWCConstSubString rhs 
) [related]

The equivalent of calling:

 !(rhs < lhs)

bool operator<= ( const RWCConstSubString lhs,
char  rhs 
) [related]

The equivalent of calling:

 !(rhs < lhs)

bool operator<= ( const char *  lhs,
const RWCConstSubString rhs 
) [related]

The equivalent of calling:

 !(rhs < lhs)

bool operator<= ( const RWCConstSubString lhs,
const char *  rhs 
) [related]

The equivalent of calling:

 !(rhs < lhs)

bool operator<= ( const std::string &  lhs,
const RWCConstSubString rhs 
) [related]

The equivalent of calling:

 !(rhs < lhs)

bool operator<= ( const RWCConstSubString lhs,
const std::string &  rhs 
) [related]

The equivalent of calling:

 !(rhs < lhs)

bool operator<= ( const RWCConstSubString lhs,
const RWCConstSubString rhs 
) [related]

The equivalent of calling:

 !(rhs < lhs)

bool operator== ( char  lhs,
const RWCConstSubString rhs 
) [related]

Returns true if rhs has a length of one and the first character rhs is identical to the char lhs.

bool operator== ( const RWCConstSubString lhs,
char  rhs 
) [related]

Returns true if lhs has a length of one and the first character lhs is identical to the char rhs.

bool operator== ( const char *  lhs,
const RWCConstSubString rhs 
) [related]

Returns true if lhs is lexicographically equal to rhs. Otherwise returns false. Use member RWCString::collate() or RWCString::strXForm() for locale-sensitive comparisons.

Note:
This function is incompatible with lhs strings with embedded nulls.

bool operator== ( const RWCConstSubString lhs,
const char *  rhs 
) [related]

Returns true if lhs is lexicographically equal to rhs. Otherwise returns false. Use member RWCString::collate() or RWCString::strXForm() for locale-sensitive comparisons.

Note:
This function is incompatible with rhs strings with embedded nulls.

bool operator== ( const std::string &  lhs,
const RWCConstSubString rhs 
) [related]

Returns true if lhs is lexicographically equal to rhs. Otherwise returns false. Use member RWCString::collate() or RWCString::strXForm() for locale-sensitive comparisons.

bool operator== ( const RWCConstSubString lhs,
const std::string &  rhs 
) [related]

Returns true if lhs is lexicographically equal to rhs. Otherwise returns false. Use member RWCString::collate() or RWCString::strXForm() for locale-sensitive comparisons.

bool operator== ( const RWCConstSubString lhs,
const RWCConstSubString rhs 
) [related]

Returns true if lhs is lexicographically equal to rhs. Otherwise returns false. Use member RWCString::collate() or RWCString::strXForm() for locale-sensitive comparisons.

bool operator> ( char  lhs,
const RWCConstSubString rhs 
) [related]

The equivalent of calling:

 !(rhs < lhs)

bool operator> ( const RWCConstSubString lhs,
char  rhs 
) [related]

The equivalent of calling:

 !(rhs < lhs)

bool operator> ( const char *  lhs,
const RWCConstSubString rhs 
) [related]

The equivalent of calling:

 !(rhs < lhs)

bool operator> ( const RWCConstSubString lhs,
const char *  rhs 
) [related]

The equivalent of calling:

 !(rhs < lhs)

bool operator> ( const std::string &  lhs,
const RWCConstSubString rhs 
) [related]

The equivalent of calling:

 !(rhs < lhs)

bool operator> ( const RWCConstSubString lhs,
const std::string &  rhs 
) [related]

The equivalent of calling:

 !(rhs < lhs)

bool operator> ( const RWCConstSubString lhs,
const RWCConstSubString rhs 
) [related]

The equivalent of calling:

 !(rhs < lhs)

bool operator>= ( char  lhs,
const RWCConstSubString rhs 
) [related]

The equivalent of calling:

 !(lhs < rhs)

bool operator>= ( const RWCConstSubString lhs,
char  rhs 
) [related]

The equivalent of calling:

 !(lhs < rhs)

bool operator>= ( const char *  lhs,
const RWCConstSubString rhs 
) [related]

The equivalent of calling:

 !(lhs < rhs)

bool operator>= ( const RWCConstSubString lhs,
const char *  rhs 
) [related]

The equivalent of calling:

 !(lhs < rhs)

bool operator>= ( const std::string &  lhs,
const RWCConstSubString rhs 
) [related]

The equivalent of calling:

 !(lhs < rhs)

bool operator>= ( const RWCConstSubString lhs,
const std::string &  rhs 
) [related]

The equivalent of calling:

 !(lhs < rhs)

bool operator>= ( const RWCConstSubString lhs,
const RWCConstSubString rhs 
) [related]

The equivalent of calling:

 !(lhs < rhs)

 All Classes Functions Variables Typedefs Enumerations Enumerator Friends

© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.