亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? _money.cc

?? realview22.rar
?? CC
?? 第 1 頁 / 共 2 頁
字號:
/***************************************************************************
 *
 * _money.cc - Definitions for the Standard Library money facets
 *
 * $Id: _money.cc,v 1.2 2002/12/09 16:32:01 vkorstan Exp $
 *
 ***************************************************************************
 *
 * Copyright (c) 1994-2001 Rogue Wave Software, Inc.  All Rights Reserved.
 *
 * This computer software is owned by Rogue Wave Software, Inc. and is
 * protected by U.S. copyright laws and other laws and by international
 * treaties.  This computer software is furnished by Rogue Wave Software,
 * Inc. pursuant to a written license agreement and may be used, copied,
 * transmitted, and stored only in accordance with the terms of such
 * license and with the inclusion of the above copyright notice.  This
 * computer software or any other copies thereof may not be provided or
 * otherwise made available to any other person.
 *
 * U.S. Government Restricted Rights.  This computer software is provided
 * with Restricted Rights.  Use, duplication, or disclosure by the
 * Government is subject to restrictions as set forth in subparagraph (c)
 * (1) (ii) of The Rights in Technical Data and Computer Software clause
 * at DFARS 252.227-7013 or subparagraphs (c) (1) and (2) of the
 * Commercial Computer Software--Restricted Rights at 48 CFR 52.227-19,
 * as applicable.  Manufacturer is Rogue Wave Software, Inc., 5500
 * Flatiron Parkway, Boulder, Colorado 80301 USA.
 *
 **************************************************************************/

#include _RWSTD_CWCHAR

_RWSTD_NAMESPACE_BEGIN (__rw)

_USING (_RWSTD_C::size_t);

// ------------------------------------------------------
// Template __rw_moneypunct_impl_data<_CharT> member templates.
// ------------------------------------------------------

template <class _CharT>
__rw_moneypunct_impl_data<_CharT>::__rw_moneypunct_impl_data
    (const __rw_moneypunct_init_data<_CharT> *__mp)
{
  if (!__mp) {
    this->_C_dp = _CharT('.');
    this->_C_ts = _CharT(',');
    _C_fd       = 0;
  } else {
    this->_C_dp = __mp->_C_dp;
    this->_C_ts = __mp->_C_ts;
    this->_C_gr = __mp->_C_gr;
    _C_cs       = __mp->_C_cs;
    _C_ps       = __mp->_C_ps;
    _C_ns       = __mp->_C_ns;
    _C_fd       = __mp->_C_fd;
    _C_pf       = __mp->_C_pf;
    _C_nf       = __mp->_C_nf;

    if (__mp->_C_del)
        delete[] _RWSTD_CONST_CAST (char*,
                                    _RWSTD_REINTERPRET_CAST (const char*,
                                                             __mp));
  }
}


template <class _CharT>
const __rw_moneypunct_init_data<_CharT>*
__rw_fixup_moneypunct_init (const __rw_moneypunct_init_data<char> *__mp,
                            _CharT*)
{
    if (!__mp)
        return 0;

    typedef _STD::char_traits<char>                      _CharTraits;
    typedef _STD::char_traits<_CharT>                    _Traits;
    typedef _STD::ctype<_CharT>                          _Ctype;
    typedef _STD::codecvt<_CharT, char, _STD::mbstate_t> _Codecvt;
    typedef _STD::basic_string<_CharT, _Traits, _STD::allocator<_CharT> >
        _String;

    _STD::locale __loc = _STD::locale::classic ();

    const _Codecvt &__cvt = _USE_FACET (_Codecvt, __loc);

    _String __cs = __cvt.in (__mp->_C_cs);
    _String __ps = __cvt.in (__mp->_C_ps);
    _String __ns = __cvt.in (__mp->_C_ns);

    size_t __xtra_chars  = _CharTraits::length (__mp->_C_gr);
    size_t __xtra_charTs = __cs.length () +__ps.length () + __ns.length() + 3;

    __rw_moneypunct_init_data<_CharT> *__res;
   __res = _RWSTD_REINTERPRET_CAST (__rw_moneypunct_init_data<_CharT>*, 
                                 new char [  sizeof (*__res)
                                           + __xtra_chars
                                           + __xtra_charTs * sizeof(_CharT)]);

    const _Ctype &__ctp = _USE_FACET (_Ctype, __loc);

    __res->_C_del = true;
    __res->_C_dp  = __ctp.widen (__mp->_C_dp);
    __res->_C_ts  = __ctp.widen (__mp->_C_ts);
    __res->_C_fd  = __mp->_C_fd;
    __res->_C_pf  = __mp->_C_pf;
    __res->_C_nf  = __mp->_C_nf;

    size_t __n;
    _CharT *__p = (_CharT*)(__res + 1);
    __res->_C_cs = _Traits::copy (__p, __cs.c_str (), __n = __cs.length ());
    *(__p += __n)++ = 0;
    __res->_C_ps = _Traits::copy (__p, __ps.c_str (), __n = __ps.length ());
    *(__p += __n)++ = 0;
    __res->_C_ns = _Traits::copy (__p, __ns.c_str (), __n = __ns.length ());
    *(__p += __n)++ = 0;

    __res->_C_gr = _CharTraits::copy (_RWSTD_REINTERPRET_CAST (char*,
                                                               __p + __n), 
                                      __mp->_C_gr, 
                                      _CharTraits::length (__mp->_C_gr));

    if (__mp->_C_del)
        // redundant const_cast for compilers such as MSVC 6.0
        // that do not conform to 5.3.5, p2, Note 2 of the IS
        delete[] _RWSTD_CONST_CAST (char*, 
                                    _RWSTD_REINTERPRET_CAST (const char*, 
                                                             __mp));

    return __res;
}


template <class _CharT>
const __rw_moneypunct_init_data<_CharT>*
__rw_moneypunct_impl_data<_CharT>::
_C_get_init_by_name_ (const char *__name, bool __intl)
{
    return __rw_fixup_moneypunct_init (_C_get_named_init (__name, __intl),
                                       (_CharT*)0);
}


// -----------------------------------------------------------------
// Template class __rw_money_handler_base_1<_CharT> member templates.
// -----------------------------------------------------------------

template <class _CharT>
const __rw_moneypunct_impl_data<_CharT>&
__rw_money_handler_base_1<_CharT>::
_C_get_punct_data (const locale &__loc, bool __intl)
{
    if (__intl) {
        typedef _STD::moneypunct<_CharT, true> _MoneyPunct;
        return _USE_FACET (_MoneyPunct, __loc);
    }
    else {
        typedef _STD::moneypunct<_CharT, false> _MoneyPunct;
        return _USE_FACET (_MoneyPunct, __loc);
    }
}

// ----------------------------------------------------------------
// Template class __rw_money_reader_base_1<_CharT> member templates.
// ----------------------------------------------------------------

template <class _CharT>
void __rw_money_reader_base_1<_CharT>::_C_get_money_string
    (string_type &__res, const char *__end)
{
    _RWSTD_ASSERT (__end >= reader._C_digits);

    _RWSTD_C::size_t __len = __end - reader._C_digits;
    if (reader._C_state & reader._C_negative)
        __len++;

  __res.resize(0);
  __res.reserve(__len);

  if (reader._C_state & reader._C_negative)
    __res+=reader._C_dmap._C_punct_chars[__rw_digit_map_base::_C_minus];

  const char *__d=reader._C_digits;
  const char *__last=__end-1;
  while (__d<__last && *__d==0) __d++;
  for ( ; __d<=__last; __d++)
    __res+=reader._C_dmap._C_digit_chars[*__d];
}

// ---------------------------------------------------------------------------
// Template class __rw_money_reader_base_2<CharT, InputIter> member templates.
// ---------------------------------------------------------------------------

template <class _CharT, class _InputIter>
__rw_money_reader_base_2<_CharT, _InputIter>::
__rw_money_reader_base_2 (_InputIter &__begin, _InputIter &__end, 
                          _STD::ios_base &__flags,
                          const __rw_moneypunct_impl_data<_CharT> &__mp)
 :  __rw_digit_reader<_CharT, _InputIter>(__begin, __end, __flags, __mp), 
    __rw_money_reader_base_1<_CharT>(_C_this_as_digit_reader(), __mp)
{
    this->_C_base   = 10;
    this->_C_state |= this->_C_signed;
}


template <class _CharT, class _InputIter>
char* __rw_money_reader_base_2<_CharT, _InputIter>::
    _C_get_money_digits (void)
{
  _CharT __c;
  // Always parse input according to negative format.
  const _STD::money_base::pattern &patt = this->_C_get_neg_format();

  // If this ends up non-0, it points to trailing sign char(s) that are
  // required at the end of the pattern.
  const _CharT *__sign = 0;

  bool need_curr = 0 != (this->_C_io.flags() & _STD::ios_base::showbase);
  bool got_curr=false;
  int __frac=this->_C_get_frac_digits();

  char *__end = this->_C_digits;
  const char *__p=patt.field, *__pend=__p+sizeof patt.field-1;

  for ( ; !this->_C_error && __p<=__pend; __p++) {
    switch (*__p) {
     case _STD::money_base::space:
     case _STD::money_base::none:
      while (   !this->eof()
             && this->_C_ctyp.is (_STD::ctype_base::space, *this->_C_in))
        this->_C_in++;
      break;

     case _STD::money_base::symbol:
      if (!this->eof()) {
        const _CharT *curr=this->_C_get_curr_symbol().c_str();
        if ((__c=*this->_C_in)==*curr) {
          // We ate a character, so rest of symbol must be present.
          need_curr=true;
          do {
            this->_C_in++;
            if (*++curr==_CharT('\0')) {
              got_curr=true;
              break;
            }
          } while (!this->eof() && (__c=*this->_C_in)==*curr);
        }
      }
      if (need_curr && !got_curr)
        this->_C_error|=this->_C_bad_curr_symbol;
      break;

     case _STD::money_base::sign:
      if (!this->eof()) {
        __sign = this->_C_get_negative_sign().c_str();
        if ((__c = *this->_C_in) == *__sign) {
          this->_C_state |= this->_C_negative;
          __sign++;
          this->_C_in++;
        } else {
          __sign=this->_C_get_positive_sign().c_str();
          if (__c == *__sign) {
            __sign++;
            this->_C_in++;
          } else
            __sign = 0;
        }
      }
      break;

     case _STD::money_base::value:
      __end=this->_C_get_digits (int ());
      if (!this->_C_error && __frac && !this->eof() &&
          *this->_C_in==this->_C_get_decimal_point())
      {
        this->_C_in++;
        char *frac_start=__end;
        __end=this->_C_get_digit_string(__end);
        if (!this->_C_error) {
          __frac-=int(__end-frac_start);
          if (__frac<0) {
            // Too many fractional digits in input.  We truncate.  The
            // alternative would be to return an error.
            __end+=__frac;
            __frac=0;
          }
        }
      }
      if (__end == this->_C_digits)
        this->_C_error|=this->_C_no_digits;
      else if (!this->_C_error && __frac > 0) {
        // Add trailing zeros until the correct number of fractional digits
        // is reached.

        if (__end == this->_C_digits + this->_C_bufsize)
            __end = this->_C_realloc ();

        do
            *__end++ = 0;
        while (--__frac);
      }
      break;
    }
  }

  if (__sign && !this->_C_error)
    // We ate one _CharT of a sign earlier, rest of sign must be present at end.
    while (*__sign)
      if (!this->eof() && *this->_C_in == *__sign++)
        this->_C_in++;
      else {
        this->_C_error|=this->_C_bad_sign;
        break;
      }

  this->_C_frac_beg=this->_C_exp_beg=__end;
  return __end;
}

// ------------------------------------------------------------------
// Template __rw_money_reader<_CharT, _InputIter> member templates.
// ------------------------------------------------------------------

// ----------------------------------------------------------
// Template __rw_money_writer_base_1<_CharT> member templates.
// ----------------------------------------------------------


template <class _CharT>
void __rw_money_writer_base_1<_CharT>::_C_put_money (_CharT __fill)
{
    const char *__start = writer._C_start;

    bool __neg = '-' == *__start;   // negative?

    if ('-' == *__start || '+' == *__start || ' ' == *__start)
        ++__start;

    // small auto buffer for the average case
    _CharT __wide_buf [__rw_digit_writer_base_1<_CharT>::_C_DEF_BUFSIZE];

    // required buffer size
    const size_t __size = writer._C_end - __start;

    // allocate more space if necessary
    _CharT *__pbuf = __size > __rw_digit_writer_base_1<_CharT>::_C_DEF_BUFSIZE ?
        new _CharT [__size] : __wide_buf;

    // widen into temporary buffer
    writer._C_ctyp.widen (__start, writer._C_end, __pbuf);

    // reformat as required

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩高清在线| 欧美三级视频在线| 国产在线视视频有精品| 国内精品伊人久久久久av一坑| 欧美a一区二区| 日本中文字幕不卡| 国产成人a级片| 日本乱码高清不卡字幕| 欧美肥妇free| 欧美一区二区三区视频免费| 日韩欧美国产系列| 国产亚洲欧美激情| 亚洲国产精品久久久久婷婷884 | 亚洲成人激情av| 美女一区二区视频| 91在线播放网址| 精品久久久久久最新网址| 亚洲视频狠狠干| 精品一区二区三区在线播放视频 | 久久蜜桃av一区精品变态类天堂| 久久精品夜色噜噜亚洲a∨| 一个色综合网站| 国产成人啪免费观看软件| 欧美高清精品3d| 亚洲精品水蜜桃| 国产一二精品视频| 777精品伊人久久久久大香线蕉| 国产欧美一区二区在线观看| 另类专区欧美蜜桃臀第一页| 91麻豆国产福利在线观看| 亚洲精品一区二区精华| 一级女性全黄久久生活片免费| 成人aa视频在线观看| 欧美一区二区三区免费视频| 一区二区三区四区高清精品免费观看| 全部av―极品视觉盛宴亚洲| 欧美日韩高清一区二区| 亚洲五码中文字幕| 欧美日韩一区三区| 性久久久久久久久| 欧美亚一区二区| 玉米视频成人免费看| 色网站国产精品| 亚洲一区二区视频在线观看| 欧美亚洲国产bt| 日韩制服丝袜先锋影音| 91精品国产全国免费观看| 麻豆精品一区二区| 中文字幕乱码久久午夜不卡 | 欧美激情一区二区三区| 极品少妇xxxx偷拍精品少妇| 国产欧美日韩在线| 91麻豆国产自产在线观看| 一个色妞综合视频在线观看| 欧美精品日日鲁夜夜添| 美女看a上一区| 亚洲图片激情小说| 欧美一级片在线看| 成人黄色一级视频| 午夜精品福利一区二区三区蜜桃| 日韩精品在线一区二区| 99久久久无码国产精品| 秋霞午夜av一区二区三区| 最近中文字幕一区二区三区| 欧洲av在线精品| 国产精品一区三区| 亚洲成在人线在线播放| 国产免费久久精品| 日韩欧美在线一区二区三区| 不卡的电影网站| 蜜桃久久av一区| 亚洲精品国产精品乱码不99| 99久久综合狠狠综合久久| 欧美成人精品3d动漫h| 国产剧情一区二区| 一区二区三区精品在线观看| 亚洲精品在线观| 欧美日韩国产免费| 91在线丨porny丨国产| 蜜桃视频在线观看一区二区| 国产精品乱码一区二区三区软件 | 国产亚洲精品福利| 欧美伊人久久久久久久久影院| 国产精品一卡二卡在线观看| 午夜久久久久久久久久一区二区| 久久久久久久久久电影| 欧美影院精品一区| 欧美久久一二区| 欧美欧美午夜aⅴ在线观看| 91亚洲永久精品| 91国产精品成人| 91黄色激情网站| 色综合久久中文字幕| 波多野结衣中文字幕一区二区三区| 日日欢夜夜爽一区| 国产传媒久久文化传媒| 国产精品亚洲成人| 成人avav影音| 91成人看片片| 欧美日韩精品欧美日韩精品| 91精品国产一区二区三区蜜臀| 99久久99久久精品免费看蜜桃| 99久久精品久久久久久清纯| 色哟哟精品一区| 欧美日韩一区在线| 精品国产髙清在线看国产毛片 | 亚洲综合在线第一页| 国产精品乱人伦中文| 亚洲自拍欧美精品| 蜜臀av性久久久久蜜臀av麻豆| 国产一区二区精品久久99| 经典三级在线一区| 91九色最新地址| 久久精品在线观看| 亚洲一二三四在线| 日韩精品一区二区三区三区免费| 成人福利视频网站| 欧美视频在线播放| 亚洲国产成人91porn| 日本美女视频一区二区| 一区二区三区欧美视频| 精品欧美一区二区久久| 91激情在线视频| 宅男噜噜噜66一区二区66| 色综合夜色一区| 666欧美在线视频| 精品人伦一区二区色婷婷| 国内精品久久久久影院一蜜桃| 国产精品久久久久久久久搜平片 | 精品亚洲欧美一区| 激情久久久久久久久久久久久久久久| 美女一区二区三区| 国产一区二区按摩在线观看| 国产精选一区二区三区| 国产精品一区二区在线观看不卡| 国产一区二区三区四| 亚洲香蕉伊在人在线观| 国产在线精品国自产拍免费| 黄色精品一二区| 欧美人伦禁忌dvd放荡欲情| 一区二区三区四区不卡在线 | 成人avav在线| 日韩亚洲欧美高清| 国产欧美综合在线观看第十页| 日本一道高清亚洲日美韩| 欧美日韩在线免费视频| 亚洲一二三四区| 欧美人体做爰大胆视频| 亚洲国产精品久久一线不卡| 在线视频你懂得一区| 日韩国产精品久久久| 精品精品欲导航| 国产激情91久久精品导航| 日韩欧美一区二区久久婷婷| 成人性生交大片免费看中文网站| 国产精品天干天干在线综合| 欧美日韩久久久一区| 久久99精品一区二区三区| 中文字幕一区二区三区在线不卡| 91亚洲大成网污www| 亚洲人成在线播放网站岛国| 色综合天天综合网国产成人综合天| 一区二区三区精品| 欧美精品一区二| 欧美在线一二三四区| 福利电影一区二区| 国产精品短视频| 亚洲欧美另类久久久精品| 欧美激情一区二区三区蜜桃视频| 欧洲av一区二区嗯嗯嗯啊| 国产91在线看| 99麻豆久久久国产精品免费| 色天天综合久久久久综合片| 色香色香欲天天天影视综合网| 国产一区二区三区黄视频 | 波多野结衣在线一区| 99精品在线免费| 91极品美女在线| 91精品一区二区三区久久久久久| 欧美aaa在线| 久久久久国产精品麻豆ai换脸| 色婷婷综合久久久久中文一区二区 | 三级精品在线观看| 亚洲成人在线免费| 亚洲人123区| 亚洲国产aⅴ成人精品无吗| 欧美精品一区二区在线观看| 久久久国产精品午夜一区ai换脸| 欧美一级电影网站| 欧美一区二区成人| 日韩美女主播在线视频一区二区三区| 欧美一区二区视频在线观看2022| 欧美日韩国产bt| 3d成人动漫网站| 欧美tickle裸体挠脚心vk| 久久久午夜精品理论片中文字幕| 国产女人aaa级久久久级 | 亚洲成人精品在线观看| 性久久久久久久| 亚洲成在人线免费|