亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美一a一片一级一片| 精品免费99久久| 国产精品亚洲一区二区三区在线 | 日韩毛片精品高清免费| 9191国产精品| 精品免费国产一区二区三区四区| 欧洲一区在线观看| 欧美日韩免费一区二区三区视频 | 亚洲精品在线一区二区| 日韩欧美中文一区二区| 欧美sm美女调教| 国产精品电影一区二区| 一区二区三区欧美日韩| 婷婷综合在线观看| 国产丶欧美丶日本不卡视频| 成人黄色在线网站| 欧美酷刑日本凌虐凌虐| 国产欧美精品区一区二区三区| 国产无人区一区二区三区| 亚洲人成影院在线观看| 欧美刺激脚交jootjob| 国产精品视频麻豆| 亚洲国产va精品久久久不卡综合| 日本美女一区二区| 日韩av网站免费在线| 国产毛片精品国产一区二区三区| av不卡免费在线观看| 欧美日韩精品一区二区三区蜜桃| 欧美老女人在线| 亚洲婷婷国产精品电影人久久| 日韩不卡手机在线v区| 欧美三级日本三级少妇99| 国产精品久久午夜| 国产成人免费视| 精品嫩草影院久久| 麻豆国产一区二区| 欧美一区二区三区系列电影| 亚洲成人1区2区| 欧美欧美欧美欧美首页| 日韩电影在线观看一区| 欧美亚洲禁片免费| 日本一区中文字幕| 欧美大度的电影原声| 国产毛片精品国产一区二区三区| 精品久久久久久久一区二区蜜臀| 另类人妖一区二区av| 国产校园另类小说区| 国产一区二区免费看| 69久久夜色精品国产69蝌蚪网| 午夜视频一区二区| 日韩三级中文字幕| 高清免费成人av| 亚洲午夜一二三区视频| 欧美成人一区二区三区片免费 | 国产99久久久国产精品潘金| 国产精品情趣视频| 欧美日韩精品一区二区在线播放| 美女视频一区在线观看| 国产精品天干天干在观线| 欧美熟乱第一页| 国产日韩欧美精品一区| 免费观看91视频大全| 国产精品网曝门| 五月婷婷色综合| 中文字幕一区二区三区视频 | 久久色在线视频| 欧美另类z0zxhd电影| 欧美在线啊v一区| 日韩福利电影在线| 亚洲午夜影视影院在线观看| 亚洲免费三区一区二区| 日韩精品一区二区在线观看| 国内一区二区在线| 青青草97国产精品免费观看 | 亚洲精品在线观看视频| 精品国产99国产精品| 久久99久久99小草精品免视看| 日韩av一二三| 亚洲www啪成人一区二区麻豆| 亚洲亚洲人成综合网络| 精品嫩草影院久久| 欧美精品tushy高清| 欧美日韩国产高清一区二区| 欧美日韩国产免费一区二区| 在线免费观看成人短视频| 97国产一区二区| 欧美日韩高清一区二区不卡| 欧美一级一级性生活免费录像| 555www色欧美视频| 欧美mv日韩mv国产网站app| 欧美一区二区日韩| 国产精品福利影院| 香蕉久久一区二区不卡无毒影院| 久久草av在线| 不卡电影免费在线播放一区| 成人小视频免费在线观看| 高清成人在线观看| 国产精品白丝jk黑袜喷水| 成人av资源下载| 欧美日韩三级一区二区| 久久精品网站免费观看| 亚洲激情图片小说视频| 岛国精品一区二区| 欧美v亚洲v综合ⅴ国产v| 亚洲一区二区高清| 亚洲动漫第一页| 亚洲色大成网站www久久九九| 亚洲sss视频在线视频| 国产成人精品亚洲午夜麻豆| 欧美亚洲另类激情小说| 国产精品国产三级国产aⅴ入口| 日韩精品欧美精品| 欧美日韩国产一级片| 夜夜揉揉日日人人青青一国产精品 | 亚洲自拍与偷拍| 91网站最新地址| 一区二区三区免费观看| 色悠悠久久综合| 亚洲图片欧美视频| 99久久国产综合精品色伊| 亚洲欧美一区二区在线观看| 成人av免费在线| 亚洲观看高清完整版在线观看| 色呦呦网站一区| 精品伊人久久久久7777人| 精品对白一区国产伦| 国产成人av一区二区三区在线| 91麻豆蜜桃一区二区三区| 一区二区三区欧美在线观看| 欧美日韩国产高清一区二区三区 | 久久新电视剧免费观看| av一区二区三区四区| 夜夜嗨av一区二区三区中文字幕 | 国产精品久久久久久久第一福利| www.一区二区| 免费在线欧美视频| 国产精品福利在线播放| 欧美videos中文字幕| 一本一道久久a久久精品综合蜜臀| 亚洲chinese男男1069| 国产午夜亚洲精品午夜鲁丝片 | 一区二区三区日韩欧美| 日韩精品一区二| 777午夜精品免费视频| 91视频观看视频| 东方aⅴ免费观看久久av| 亚洲aaa精品| 日韩不卡一区二区三区| 亚洲资源中文字幕| 亚洲免费在线看| 欧美日韩国产一区二区三区地区| 国产成+人+日韩+欧美+亚洲| 午夜精品久久久久久| 亚洲一本大道在线| 亚洲一二三四久久| 亚洲国产色一区| 首页欧美精品中文字幕| 免费在线观看视频一区| 日本亚洲三级在线| 日韩精品免费专区| 精品一区二区免费看| 国产精品1024久久| 色视频一区二区| 日韩一区二区不卡| 国产欧美一区二区精品性色| 久久久久久一级片| 亚洲欧美日韩国产中文在线| 亚洲精品第一国产综合野| 日韩精品三区四区| 99久久免费视频.com| 欧美日韩日本视频| 日韩精品一区二区三区视频播放 | 喷白浆一区二区| eeuss鲁片一区二区三区| 欧美性色欧美a在线播放| 精品国产99国产精品| 亚洲国产欧美日韩另类综合| 青娱乐精品视频| 91福利国产成人精品照片| 久久亚洲精品小早川怜子| 自拍偷自拍亚洲精品播放| 黑人精品欧美一区二区蜜桃 | 欧美电视剧在线观看完整版| 国产亚洲一本大道中文在线| 欧美96一区二区免费视频| 不卡的电影网站| 中文字幕av免费专区久久| 日本不卡一区二区三区| 一本色道久久加勒比精品| 亚洲国产精华液网站w | 欧美成人乱码一区二区三区| 亚洲国产你懂的| 欧美精品777| 日本在线不卡视频一二三区| 欧美一级在线免费| 秋霞午夜av一区二区三区| 91精品中文字幕一区二区三区| 午夜精品久久久久久久| 欧美zozo另类异族| 91香蕉视频mp4|