PCL
pcl::IsoCharTraits Class Reference

A template instantiation of GenericCharTraits for the char type. More...

#include <CharTraits.h>

+ Inheritance diagram for pcl::IsoCharTraits:

Public Types

typedef traits_base::char_type char_type
 
typedef GenericCharTraits< char > traits_base
 
- Public Types inherited from pcl::GenericCharTraits< char >
typedef char char_type
 

Static Public Member Functions

static int Compare (const char_type *s1, size_type n1, const char_type *s2, size_type n2, bool caseSensitive=true, bool localeAware=true)
 
static int CompareCodePoints (const char_type *s1, size_type n1, const char_type *s2, size_type n2, bool caseSensitive=true)
 
static void Copy (char_type *dst, const char_type *src, size_type n)
 
static void CopyOverlapped (char_type *dst, const char_type *src, size_type n)
 
static void Fill (char_type *s, char_type c, size_type n)
 
static constexpr size_type Length (const char_type *s)
 
static char_type ToCaseFolded (char_type c)
 
static void ToCaseFolded (char_type *s, size_type n)
 
static char_type ToLowercase (char_type c)
 
static void ToLowercase (char_type *s, size_type n)
 
static char_type ToUppercase (char_type c)
 
static void ToUppercase (char_type *s, size_type n)
 
static bool WildMatch (const char_type *t, size_type nt, const char_type *p, size_type np, bool caseSensitive=true)
 
- Static Public Member Functions inherited from pcl::GenericCharTraits< char >
static constexpr char_type Blank ()
 
static constexpr size_type BytesPerChar ()
 
static constexpr char_type Colon ()
 
static constexpr char_type Comma ()
 
static int Compare (const char_type *s1, size_type n1, const char_type *s2, size_type n2, bool caseSensitive=true, bool localeAware=true)
 
static int CompareCodePoints (const char_type *s1, size_type n1, const char_type *s2, size_type n2, bool caseSensitive=true)
 
static void Copy (char_type *dst, const char_type *src, size_type n)
 
static void CopyOverlapped (char_type *dst, const char_type *src, size_type n)
 
static constexpr char_type CR ()
 
static constexpr char_type DecimalSeparator ()
 
static constexpr char_type DoubleQuote ()
 
static constexpr char_type ExponentDelimiter ()
 
static void Fill (char_type *s, char_type c, size_type n)
 
static constexpr char_type Hyphen ()
 
static constexpr bool IsAlpha (char_type c)
 
static constexpr bool IsDecimalSeparator (char_type c)
 
static constexpr bool IsDigit (char_type c)
 
static constexpr bool IsExponentDelimiter (char_type c)
 
static constexpr bool IsHexDigit (char_type c)
 
static constexpr bool IsLowercaseAlpha (char_type c)
 
static constexpr bool IsNull (char_type c)
 
static constexpr bool IsSign (char_type c)
 
static constexpr bool IsSpace (char_type c)
 
static constexpr bool IsStartingSymbolDigit (char_type c)
 
static constexpr bool IsSymbolDigit (char_type c)
 
static constexpr bool IsTrimable (char_type c)
 
static constexpr bool IsUnderscore (char_type c)
 
static constexpr bool IsUppercaseAlpha (char_type c)
 
static constexpr bool IsWildcard (char_type c)
 
static size_type Length (const char_type *s)
 
static constexpr char_type LF ()
 
static constexpr char_type MinusSign ()
 
static constexpr char_type Null ()
 
static constexpr char_type PlusSign ()
 
static Ptr1 SearchTrimLeft (Ptr1 i, Ptr2 j)
 
static Ptr2 SearchTrimRight (Ptr1 i, Ptr2 j)
 
static constexpr char_type Semicolon ()
 
static constexpr char_type SingleQuote ()
 
static constexpr char_type Tab ()
 
static char_type ToCaseFolded (char_type c)
 
static constexpr char_type ToLowercase (char_type c)
 
static void ToLowercase (char_type *s, size_type n)
 
static constexpr char_type ToUppercase (char_type c)
 
static void ToUppercase (char_type *s, size_type n)
 
static constexpr char_type Underscore ()
 
static bool WildMatch (const char_type *t, size_type nt, const char_type *p, size_type np, bool caseSensitive=true)
 

Detailed Description

IsoCharTraits is the char traits class used by IsoString.

Definition at line 858 of file CharTraits.h.

Member Typedef Documentation

◆ char_type

Represents the character data type used by this traits class.

Definition at line 870 of file CharTraits.h.

◆ traits_base

Base class of this char traits class.

Definition at line 865 of file CharTraits.h.

Member Function Documentation

◆ Compare()

static int pcl::IsoCharTraits::Compare ( const char_type s1,
size_type  n1,
const char_type s2,
size_type  n2,
bool  caseSensitive = true,
bool  localeAware = true 
)
static

Lexicographical comparison between two 8-bit strings.

Parameters
s1First string.
n1Length of the first string in characters.
s2Second string.
n2Length of the second string in characters.
caseSensitiveWhen true, a case-sensitive comparison is performed; otherwise the comparison does not distinguish between lowercase and uppercase characters (as defined by the current locale). The default value of this parameter is true.
localeAwareWhen true, a locale-aware comparison is performed which takes into account the currently selected user locale (language and variants). When false, an invariant comparison is carried out by comparing Unicode code points (which may be faster). The default value is true.

Returns an integer code representing the comparison result:

  • 0 if s1 and s2 are equal
  • -1 if s1 is less than s2
  • +1 if s1 is greater than s2

On OS X and Windows platforms this function invokes system API routines to perform locale-aware string comparisons.

On X11 (FreeBSD and Linux platforms), when the localeAware parameter is true, the comparison uses the current locale as reported by calling the setlocale POSIX function:

setlocale( LC_COLLATE, 0 );

In PixInsight on X11 platforms, the default user collation and case comparison locales are used. A module can change them temporarily to a custom locale by calling:

setlocale( LC_COLLATE, "<custom-locale>" );
setlocale( LC_CTYPE, "<custom-locale>" );

and then, after the necessary work has been done with the custom locales, restore the default settings:

setlocale( LC_COLLATE, "" );
setlocale( LC_CTYPE, "" );

◆ CompareCodePoints()

static int pcl::IsoCharTraits::CompareCodePoints ( const char_type s1,
size_type  n1,
const char_type s2,
size_type  n2,
bool  caseSensitive = true 
)
inlinestatic

Compares numeric character values between two 8-bit strings.

Parameters
s1First string.
n1Length of the first string in characters.
s2Second string.
n2Length of the second string in characters.
caseSensitiveWhen true, a case-sensitive comparison is performed; otherwise the comparison does not distinguish between lowercase and uppercase characters. The default value of this parameter is true.

Returns an integer code representing the comparison result:

  • 0 if s1 and s2 are equal
  • -1 if s1 is less than s2
  • +1 if s1 is greater than s2

Definition at line 948 of file CharTraits.h.

◆ Copy()

static void pcl::IsoCharTraits::Copy ( char_type dst,
const char_type src,
size_type  n 
)
inlinestatic

Copies a contiguous sequence of characters to a specified location. The source and destination regions do not overlap.

Parameters
dstDestination location where characters will be copied.
srcInitial address of the sequence of source characters.
nNumber of characters to copy.

If the source and destination regions overlap, this routine will produce an unpredictable result. CopyOverlapped() should be used in these cases.

Definition at line 908 of file CharTraits.h.

◆ CopyOverlapped()

static void pcl::IsoCharTraits::CopyOverlapped ( char_type dst,
const char_type src,
size_type  n 
)
inlinestatic

Copies a contiguous sequence of characters to a specified location. The source and destination regions may safely overlap.

Parameters
dstDestination location where characters will be copied.
srcInitial address of the sequence of source characters.
nNumber of characters to copy.

Definition at line 922 of file CharTraits.h.

◆ Fill()

static void pcl::IsoCharTraits::Fill ( char_type s,
char_type  c,
size_type  n 
)
inlinestatic

Fills a contiguous region of characters with a constant value.

Parameters
sInitial address of a character sequence.
cConstant value to fill with.
nNumber of characters to fill.

Definition at line 891 of file CharTraits.h.

◆ Length()

static constexpr size_type pcl::IsoCharTraits::Length ( const char_type s)
inlinestatic

Returns the length of a null-terminated 8-bit string in characters (not bytes).

The returned value is the length of the initial contiguous sequence of characters that are not equal to Null().

Definition at line 879 of file CharTraits.h.

Referenced by pcl::File::OutText(), and pcl::File::Write().

◆ ToCaseFolded() [1/2]

static char_type pcl::IsoCharTraits::ToCaseFolded ( char_type  c)
inlinestatic

Returns the case folded equivalent character for the specified ISO/IEC-8859-1 code point c.

Case folding elimitates case differences, which is useful for case-insensitive string comparisons.

For more information on case folding, see Section 3.13 Default Case Algorithms in The Unicode Standard.

Definition at line 1054 of file CharTraits.h.

Referenced by pcl::CharTraits::WildMatch().

◆ ToCaseFolded() [2/2]

static void pcl::IsoCharTraits::ToCaseFolded ( char_type s,
size_type  n 
)
inlinestatic

Transforms a string to case folded.

Definition at line 1080 of file CharTraits.h.

◆ ToLowercase() [1/2]

static char_type pcl::IsoCharTraits::ToLowercase ( char_type  c)
inlinestatic

Returns the lowercase equivalent character for the specified ISO/IEC-8859-1 code point c.

Definition at line 1063 of file CharTraits.h.

◆ ToLowercase() [2/2]

static void pcl::IsoCharTraits::ToLowercase ( char_type s,
size_type  n 
)
inlinestatic

Transforms a string to lowercase.

Definition at line 1090 of file CharTraits.h.

◆ ToUppercase() [1/2]

static char_type pcl::IsoCharTraits::ToUppercase ( char_type  c)
inlinestatic

Returns the uppercase equivalent character for the specified ISO/IEC-8859-1 code point c.

Definition at line 1072 of file CharTraits.h.

◆ ToUppercase() [2/2]

static void pcl::IsoCharTraits::ToUppercase ( char_type s,
size_type  n 
)
inlinestatic

Transforms a string to uppercase.

Definition at line 1100 of file CharTraits.h.

◆ WildMatch()

static bool pcl::IsoCharTraits::WildMatch ( const char_type t,
size_type  nt,
const char_type p,
size_type  np,
bool  caseSensitive = true 
)
inlinestatic

Wildcard string matching algorithm.

Parameters
tThe string to be matched.
ntLength of the string to be matched in characters.
pThe pattern string. May contain multiple instances of the wildcard characters '*' and '?'.
npLength of the pattern string in characters.
caseSensitiveWhen true, a case-sensitive comparison is performed; otherwise the comparison does not distinguish between lowercase and uppercase characters. The default value of this parameter is true.

Returns true iff the string t matches the specified pattern p. If one of the strings is empty, this function always returns false conventionally, even if the pattern is a single asterisk '*'.

Definition at line 1034 of file CharTraits.h.


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