Classes | Functions

nsScannerString.h File Reference

#include "nsString.h"
#include "nsUnicharUtils.h"
#include "prclist.h"
Include dependency graph for nsScannerString.h:
This graph shows which files directly or indirectly include this file:

Classes

class  nsScannerBufferList
 nsScannerBufferList More...
class  nsScannerBufferList::Buffer
 Buffer objects are directly followed by a data segment. More...
class  nsScannerBufferList::Position
 Position objects serve as lightweight pointers into a buffer list. More...
struct  nsScannerFragment
 nsScannerFragment represents a "slice" of a Buffer object. More...
class  nsScannerSubstring
 nsScannerSubstring is the base class for nsScannerString. More...
class  nsScannerString
 nsScannerString provides methods to grow and modify a buffer list. More...
class  nsScannerSharedSubstring
 nsScannerSharedSubstring implements copy-on-write semantics for nsScannerSubstring. More...
class  nsScannerIterator
 nsScannerIterator works just like nsReadingIterator<CharT> except that it knows how to iterate over a list of scanner buffers. More...
struct  nsCharSourceTraits< nsScannerIterator >
 this class is needed in order to make use of the methods in nsAlgorithm.h More...

Functions

PRBool SameFragment (const nsScannerIterator &a, const nsScannerIterator &b)
PRBool operator== (const nsScannerIterator &lhs, const nsScannerIterator &rhs)
PRBool operator!= (const nsScannerIterator &lhs, const nsScannerIterator &rhs)
size_t Distance (const nsScannerIterator &aStart, const nsScannerIterator &aEnd)
 scanner string utils
void CopyUnicodeTo (const nsScannerIterator &aSrcStart, const nsScannerIterator &aSrcEnd, nsAString &aDest)
void CopyUnicodeTo (const nsScannerSubstring &aSrc, nsAString &aDest)
void AppendUnicodeTo (const nsScannerIterator &aSrcStart, const nsScannerIterator &aSrcEnd, nsAString &aDest)
void AppendUnicodeTo (const nsScannerSubstring &aSrc, nsAString &aDest)
void AppendUnicodeTo (const nsScannerIterator &aSrcStart, const nsScannerIterator &aSrcEnd, nsScannerSharedSubstring &aDest)
PRBool FindCharInReadable (PRUnichar aChar, nsScannerIterator &aStart, const nsScannerIterator &aEnd)
PRBool FindInReadable (const nsAString &aPattern, nsScannerIterator &aStart, nsScannerIterator &aEnd, const nsStringComparator &=nsDefaultStringComparator())
PRBool RFindInReadable (const nsAString &aPattern, nsScannerIterator &aStart, nsScannerIterator &aEnd, const nsStringComparator &=nsDefaultStringComparator())
PRBool CaseInsensitiveFindInReadable (const nsAString &aPattern, nsScannerIterator &aStart, nsScannerIterator &aEnd)

Function Documentation

void AppendUnicodeTo ( const nsScannerIterator aSrcStart,
const nsScannerIterator aSrcEnd,
nsAString aDest 
)
void AppendUnicodeTo ( const nsScannerSubstring aSrc,
nsAString aDest 
) [inline]
void AppendUnicodeTo ( const nsScannerIterator aSrcStart,
const nsScannerIterator aSrcEnd,
nsScannerSharedSubstring aDest 
)
PRBool CaseInsensitiveFindInReadable ( const nsAString aPattern,
nsScannerIterator aStart,
nsScannerIterator aEnd 
) [inline]
void CopyUnicodeTo ( const nsScannerIterator aSrcStart,
const nsScannerIterator aSrcEnd,
nsAString aDest 
)
void CopyUnicodeTo ( const nsScannerSubstring aSrc,
nsAString aDest 
) [inline]
size_t Distance ( const nsScannerIterator aStart,
const nsScannerIterator aEnd 
) [inline]

scanner string utils

These methods mimic the API provided by nsReadableUtils in xpcom/string. Here we provide only the methods that the htmlparser module needs.

PRBool FindCharInReadable ( PRUnichar  aChar,
nsScannerIterator aStart,
const nsScannerIterator aEnd 
)
PRBool FindInReadable ( const nsAString aPattern,
nsScannerIterator aStart,
nsScannerIterator aEnd,
const nsStringComparator &  = nsDefaultStringComparator() 
)
PRBool operator!= ( const nsScannerIterator lhs,
const nsScannerIterator rhs 
) [inline]
PRBool operator== ( const nsScannerIterator lhs,
const nsScannerIterator rhs 
) [inline]
PRBool RFindInReadable ( const nsAString aPattern,
nsScannerIterator aStart,
nsScannerIterator aEnd,
const nsStringComparator &  = nsDefaultStringComparator() 
)
PRBool SameFragment ( const nsScannerIterator a,
const nsScannerIterator b 
) [inline]