Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Struct template c_regex_traits

boost::xpressive::c_regex_traits — Encapsaulates the standard C locale functions for use by the basic_regex<> class template.

Synopsis

// In header: <boost/xpressive/traits/c_regex_traits.hpp>

template<typename Char> 
struct c_regex_traits {
  // types
  typedef                            ;      
  typedef  ;    
  typedef                     ;    
  typedef                     ;
  typedef regex_traits_version_2_tag     ;    
  typedef                     ;      

  // construct/copy/destruct
  ( = );

  // public member functions
   (c_regex_traits< ) ;
   (c_regex_traits< ) ;
   () ;
   ();

  // public static functions
   ();
   ();
   ();
   ();
   ();
   ();
   (, , );
   (, , );
  template<typename FwdIter>  (, );
  template<typename FwdIter> 
     (, );
  template<typename FwdIter> 
     (, );
  template<typename FwdIter> 
     (, , );
   (, );
   (, );
   ();
};

Description

c_regex_traits public construct/copy/destruct

  1. ( loc = );

    Initialize a c_regex_traits object to use the global C locale.

c_regex_traits public member functions

  1.  (c_regex_traits< ) ;

    Checks two c_regex_traits objects for equality

    Returns:

    true.

  2.  (c_regex_traits< ) ;

    Checks two c_regex_traits objects for inequality

    Returns:

    false.

  3.  ( ch) ;

    Returns a string_type containing all the characters that compare equal disregrarding case to the one passed in. This function can only be called if has_fold_case<c_regex_traits<Char> >value is true.

    Parameters:

    ch

    The source character.

    Returns:

    string_type containing all chars which are equal to ch when disregarding case

  4.  ( loc);

    No-op

c_regex_traits public static functions

  1.  ( ch);

    Convert a char to a Char

    Parameters:

    ch

    The source character.

    Returns:

    ch if Char is char, std::btowc(ch) if Char is wchar_t.

  2.  ( ch);

    Returns a hash value for a Char in the range [0, UCHAR_MAX]

    Parameters:

    ch

    The source character.

    Returns:

    a value between 0 and UCHAR_MAX, inclusive.

  3.  ( ch);

    No-op

    Parameters:

    ch

    The source character.

    Returns:

    ch

  4.  ( ch);

    Converts a character to lower-case using the current global C locale.

    Parameters:

    ch

    The source character.

    Returns:

    std::tolower(ch) if Char is char, std::towlower(ch) if Char is wchar_t.

  5.  ( ch);

    Converts a character to lower-case using the current global C locale.

    Parameters:

    ch

    The source character.

    Returns:

    std::tolower(ch) if Char is char, std::towlower(ch) if Char is wchar_t.

  6.  ( ch);

    Converts a character to upper-case using the current global C locale.

    Parameters:

    ch

    The source character.

    Returns:

    std::toupper(ch) if Char is char, std::towupper(ch) if Char is wchar_t.

  7.  ( first,  last,  ch);

    Checks to see if a character is within a character range.

    Parameters:

    ch

    The source character.

    first

    The bottom of the range, inclusive.

    last

    The top of the range, inclusive.

    Returns:

    first <= ch && ch <= last.

  8.  ( first,  last,  ch);

    Checks to see if a character is within a character range, irregardless of case.

    [Note] Note

    The default implementation doesn't do proper Unicode case folding, but this is the best we can do with the standard C locale functions.

    Parameters:

    ch

    The source character.

    first

    The bottom of the range, inclusive.

    last

    The top of the range, inclusive.

    Returns:

    in_range(first, last, ch) || in_range(first, last, tolower(ch)) || in_range(first, last, toupper(ch))

  9. template<typename FwdIter> 
       ( begin,  end);

    Returns a sort key for the character sequence designated by the iterator range [F1, F2) such that if the character sequence [G1, G2) sorts before the character sequence [H1, H2) then v.transform(G1, G2) < v.transform(H1, H2).

    [Note] Note

    Not currently used

  10. template<typename FwdIter> 
       ( begin,  end);

    Returns a sort key for the character sequence designated by the iterator range [F1, F2) such that if the character sequence [G1, G2) sorts before the character sequence [H1, H2) when character case is not considered then v.transform_primary(G1, G2) < v.transform_primary(H1, H2).

    [Note] Note

    Not currently used

  11. template<typename FwdIter> 
       ( begin,  end);

    Returns a sequence of characters that represents the collating element consisting of the character sequence designated by the iterator range [F1, F2). Returns an empty string if the character sequence is not a valid collating element.

    [Note] Note

    Not currently used

  12. template<typename FwdIter> 
       
      ( begin,  end,  icase);

    For the character class name represented by the specified character sequence, return the corresponding bitmask representation.

    Parameters:

    begin

    A forward iterator to the start of the character sequence representing the name of the character class.

    end

    The end of the character sequence.

    icase

    Specifies whether the returned bitmask should represent the case-insensitive version of the character class.

    Returns:

    A bitmask representing the character class.

  13.  ( ch,  mask);

    Tests a character against a character class bitmask.

    Parameters:

    ch

    The character to test.

    mask

    The character class bitmask against which to test.

    Requires:

    mask is a bitmask returned by lookup_classname, or is several such masks bit-or'ed together.

    Returns:

    true if the character is a member of any of the specified character classes, false otherwise.

  14.  ( ch,  radix);

    Convert a digit character into the integer it represents.

    Parameters:

    ch

    The digit character.

    radix

    The radix to use for the conversion.

    Requires:

    radix is one of 8, 10, or 16.

    Returns:

    -1 if ch is not a digit character, the integer value of the character otherwise. If char_type is char, std::strtol is used for the conversion. If char_type is wchar_t, std::wcstol is used.

  15.  ();

    No-op


PrevUpHomeNext