⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 locale_facets.h

📁 openRisc2000编译链接器等,用于i386 cygwin
💻 H
📖 第 1 页 / 共 5 页
字号:
      /**       *  @brief  Find char not matching a mask       *       *  This function searches for and returns a pointer to the first char       *  in [lo,hi) for which is(m,char) is false.       *       *  @param m  The mask to compare against.       *  @param lo  Pointer to start of range.       *  @param hi  Pointer to end of range.       *  @return  Pointer to a non-matching char if found, else @a hi.      */      inline const char*      scan_not(mask __m, const char* __lo, const char* __hi) const;      /**       *  @brief  Convert to uppercase.       *       *  This function converts the char argument to uppercase if possible.       *  If not possible (for example, '2'), returns the argument.       *       *  toupper() acts as if it returns ctype<char>::do_toupper(c).       *  do_toupper() must always return the same result for the same input.       *       *  @param c  The char to convert.       *  @return  The uppercase char if convertible, else @a c.      */      char_type      toupper(char_type __c) const      { return this->do_toupper(__c); }      /**       *  @brief  Convert array to uppercase.       *       *  This function converts each char in the range [lo,hi) to uppercase       *  if possible.  Other chars remain untouched.       *       *  toupper() acts as if it returns ctype<char>:: do_toupper(lo, hi).       *  do_toupper() must always return the same result for the same input.       *       *  @param lo  Pointer to first char in range.       *  @param hi  Pointer to end of range.       *  @return  @a hi.      */      const char_type*      toupper(char_type *__lo, const char_type* __hi) const      { return this->do_toupper(__lo, __hi); }      /**       *  @brief  Convert to lowercase.       *       *  This function converts the char argument to lowercase if possible.       *  If not possible (for example, '2'), returns the argument.       *       *  tolower() acts as if it returns ctype<char>::do_tolower(c).       *  do_tolower() must always return the same result for the same input.       *       *  @param c  The char to convert.       *  @return  The lowercase char if convertible, else @a c.      */      char_type      tolower(char_type __c) const      { return this->do_tolower(__c); }      /**       *  @brief  Convert array to lowercase.       *       *  This function converts each char in the range [lo,hi) to lowercase       *  if possible.  Other chars remain untouched.       *       *  tolower() acts as if it returns ctype<char>:: do_tolower(lo, hi).       *  do_tolower() must always return the same result for the same input.       *       *  @param lo  Pointer to first char in range.       *  @param hi  Pointer to end of range.       *  @return  @a hi.      */      const char_type*      tolower(char_type* __lo, const char_type* __hi) const      { return this->do_tolower(__lo, __hi); }      /**       *  @brief  Widen char       *       *  This function converts the char to char_type using the simplest       *  reasonable transformation.  For an underived ctype<char> facet, the       *  argument will be returned unchanged.       *       *  This function works as if it returns ctype<char>::do_widen(c).       *  do_widen() must always return the same result for the same input.       *       *  Note: this is not what you want for codepage conversions.  See       *  codecvt for that.       *       *  @param c  The char to convert.       *  @return  The converted character.      */      char_type      widen(char __c) const      {	if (_M_widen_ok)	  return _M_widen[static_cast<unsigned char>(__c)];	this->_M_widen_init();	return this->do_widen(__c);      }      /**       *  @brief  Widen char array       *       *  This function converts each char in the input to char using the       *  simplest reasonable transformation.  For an underived ctype<char>       *  facet, the argument will be copied unchanged.       *       *  This function works as if it returns ctype<char>::do_widen(c).       *  do_widen() must always return the same result for the same input.       *       *  Note: this is not what you want for codepage conversions.  See       *  codecvt for that.       *       *  @param lo  Pointer to first char in range.       *  @param hi  Pointer to end of range.       *  @param to  Pointer to the destination array.       *  @return  @a hi.      */      const char*      widen(const char* __lo, const char* __hi, char_type* __to) const      {	if (_M_widen_ok == 1)	  {	    memcpy(__to, __lo, __hi - __lo);	    return __hi;	  }	if (!_M_widen_ok)	  _M_widen_init();	return this->do_widen(__lo, __hi, __to);      }      /**       *  @brief  Narrow char       *       *  This function converts the char to char using the simplest       *  reasonable transformation.  If the conversion fails, dfault is       *  returned instead.  For an underived ctype<char> facet, @a c       *  will be returned unchanged.       *       *  This function works as if it returns ctype<char>::do_narrow(c).       *  do_narrow() must always return the same result for the same input.       *       *  Note: this is not what you want for codepage conversions.  See       *  codecvt for that.       *       *  @param c  The char to convert.       *  @param dfault  Char to return if conversion fails.       *  @return  The converted character.      */      char      narrow(char_type __c, char __dfault) const      {	if (_M_narrow[static_cast<unsigned char>(__c)])	  return _M_narrow[static_cast<unsigned char>(__c)];	const char __t = do_narrow(__c, __dfault);	if (__t != __dfault)	  _M_narrow[static_cast<unsigned char>(__c)] = __t;	return __t;      }      /**       *  @brief  Narrow char array       *       *  This function converts each char in the input to char using the       *  simplest reasonable transformation and writes the results to the       *  destination array.  For any char in the input that cannot be       *  converted, @a dfault is used instead.  For an underived ctype<char>       *  facet, the argument will be copied unchanged.       *       *  This function works as if it returns ctype<char>::do_narrow(lo, hi,       *  dfault, to).  do_narrow() must always return the same result for the       *  same input.       *       *  Note: this is not what you want for codepage conversions.  See       *  codecvt for that.       *       *  @param lo  Pointer to start of range.       *  @param hi  Pointer to end of range.       *  @param dfault  Char to use if conversion fails.       *  @param to  Pointer to the destination array.       *  @return  @a hi.      */      const char_type*      narrow(const char_type* __lo, const char_type* __hi,	     char __dfault, char *__to) const      {	if (__builtin_expect(_M_narrow_ok == 1, true))	  {	    memcpy(__to, __lo, __hi - __lo);	    return __hi;	  }	if (!_M_narrow_ok)	  _M_narrow_init();	return this->do_narrow(__lo, __hi, __dfault, __to);      }    protected:      /// Returns a pointer to the mask table provided to the constructor, or      /// the default from classic_table() if none was provided.      const mask*      table() const throw()      { return _M_table; }      /// Returns a pointer to the C locale mask table.      static const mask*      classic_table() throw();      /**       *  @brief  Destructor.       *       *  This function deletes table() if @a del was true in the       *  constructor.      */      virtual      ~ctype();      /**       *  @brief  Convert to uppercase.       *       *  This virtual function converts the char argument to uppercase if       *  possible.  If not possible (for example, '2'), returns the argument.       *       *  do_toupper() is a hook for a derived facet to change the behavior of       *  uppercasing.  do_toupper() must always return the same result for       *  the same input.       *       *  @param c  The char to convert.       *  @return  The uppercase char if convertible, else @a c.      */      virtual char_type      do_toupper(char_type) const;      /**       *  @brief  Convert array to uppercase.       *       *  This virtual function converts each char in the range [lo,hi) to       *  uppercase if possible.  Other chars remain untouched.       *       *  do_toupper() is a hook for a derived facet to change the behavior of       *  uppercasing.  do_toupper() must always return the same result for       *  the same input.       *       *  @param lo  Pointer to start of range.       *  @param hi  Pointer to end of range.       *  @return  @a hi.      */      virtual const char_type*      do_toupper(char_type* __lo, const char_type* __hi) const;      /**       *  @brief  Convert to lowercase.       *       *  This virtual function converts the char argument to lowercase if       *  possible.  If not possible (for example, '2'), returns the argument.       *       *  do_tolower() is a hook for a derived facet to change the behavior of       *  lowercasing.  do_tolower() must always return the same result for       *  the same input.       *       *  @param c  The char to convert.       *  @return  The lowercase char if convertible, else @a c.      */      virtual char_type      do_tolower(char_type) const;      /**       *  @brief  Convert array to lowercase.       *       *  This virtual function converts each char in the range [lo,hi) to       *  lowercase if possible.  Other chars remain untouched.       *       *  do_tolower() is a hook for a derived facet to change the behavior of       *  lowercasing.  do_tolower() must always return the same result for       *  the same input.       *       *  @param lo  Pointer to first char in range.       *  @param hi  Pointer to end of range.       *  @return  @a hi.      */      virtual const char_type*      do_tolower(char_type* __lo, const char_type* __hi) const;      /**       *  @brief  Widen char       *       *  This virtual function converts the char to char using the simplest       *  reasonable transformation.  For an underived ctype<char> facet, the       *  argument will be returned unchanged.       *       *  do_widen() is a hook for a derived facet to change the behavior of       *  widening.  do_widen() must always return the same result for the       *  same input.       *       *  Note: this is not what you want for codepage conversions.  See       *  codecvt for that.       *       *  @param c  The char to convert.       *  @return  The converted character.      */      virtual char_type      do_widen(char __c) const      { return __c; }      /**       *  @brief  Widen char array       *       *  This function converts each char in the range [lo,hi) to char using       *  the simplest reasonable transformation.  For an underived       *  ctype<char> facet, the argument will be copied unchanged.       *       *  do_widen() is a hook for a derived facet to change the behavior of       *  widening.  do_widen() must always return the same result for the       *  same input.       *       *  Note: this is not what you want for codepage conversions.  See       *  codecvt for that.       *       *  @param lo  Pointer to start of range.       *  @param hi  Pointer to end of range.       *  @param to  Pointer to the destination array.       *  @return  @a hi.      */      virtual const char*      do_widen(const char* __lo, const char* __hi, char_type* __dest) const      {	memcpy(__dest, __lo, __hi - __lo);	return __hi;      }      /**       *  @brief  Narrow char       *       *  This virtual function converts the char to char using the simplest       *  reasonable transformation.  If the conversion fails, dfault is       *  returned instead.  For an underived ctype<char> facet, @a c will be       *  returned unchanged.       *       *  do_narrow() is a hook for a derived facet to change the behavior of       *  narrowing.  do_narrow() must always return the same result for the       *  same input.       *       *  Note: this is not what you want for codepage conversions.  See       *  codecvt for that.       *       *  @param c  The char to convert.       *  @param dfault  Char to return if conversion fails.       *  @return  The converted char.      */      virtual char      do_narrow(char_type __c, char) const      { return __c; }      /**       *  @brief  Narrow char array to char array       *       *  This virtual function converts each char in the range [lo,hi) to       *  char using the simplest reasonable transformation and writes the       *  results to the destination array.  For any char in the input that       *  cannot be converted, @a dfault is used instead.  For an underived       *  ctype<char> facet, the argument will be copied unchanged.       *       *  do_narrow() is a hook for a derived facet to change the behavior of       *  narrowing.  do_narrow() must always return the same result for the       *  same input.       *       *  Note: this is not what you want for codepage conversions.  See       *  codecvt for that.       *       *  @param lo  Pointer to start of range.       *  @param hi  Pointer to end of range.       *  @param dfault  Char to use if conversion fails.       *  @param to  Pointer to the destination array.       *  @return  @a hi.      */      virtual const char_type*      do_narrow(const char_type* __lo, const char_type* __hi,		char, char* __dest) const      {	memcpy(__dest, __lo, __hi - __lo);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -