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

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

?? cs-ucs-4.cc

?? 編譯工具
?? CC
?? 第 1 頁 / 共 2 頁
字號:
// -*- Mode: C++; -*-//                            Package   : omniORB// cs-UCS-4.cc                Created on: 26/10/2000//                            Author    : Duncan Grisby (dpg1)////    Copyright (C) 2000 AT&T Laboratories Cambridge////    This file is part of the omniORB library////    The omniORB library is free software; you can redistribute it and/or//    modify it under the terms of the GNU Library General Public//    License as published by the Free Software Foundation; either//    version 2 of the License, or (at your option) any later version.////    This library is distributed in the hope that it will be useful,//    but WITHOUT ANY WARRANTY; without even the implied warranty of//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU//    Library General Public License for more details.////    You should have received a copy of the GNU Library General Public//    License along with this library; if not, write to the Free//    Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  //    02111-1307, USA////// Description://    Native code set for Unicode / ISO 10646 UCS-4/*  $Log: cs-UCS-4.cc,v $  Revision 1.1.2.7  2004/04/30 14:59:49  dgrisby  Off-by-one error in UCS-4 marshalling. Thanks Brett Zimmerman.  Revision 1.1.2.6  2001/10/17 16:47:08  dpg1  New minor codes  Revision 1.1.2.5  2001/07/26 16:37:20  dpg1  Make sure static initialisers always run.  Revision 1.1.2.4  2001/04/19 09:18:43  sll  Scoped where appropriate with the omni namespace.  Revision 1.1.2.3  2000/12/05 17:43:30  dpg1  Check for input over-run in string and wstring unmarshalling.  Revision 1.1.2.2  2000/11/22 14:37:59  dpg1  Code set marshalling functions now take a string length argument.  Revision 1.1.2.1  2000/11/16 12:37:16  dpg1  Implement UCS-4 transmission code set, and move it to the codeSets  library.  Revision 1.1.2.3  2000/11/10 15:41:36  dpg1  Native code sets throw BAD_PARAM if they are given a null transmission  code set.  Revision 1.1.2.2  2000/11/02 10:16:27  dpg1  Correct some minor errors in code set implementation. Remove Big5  converter since it's wrong.  Revision 1.1.2.1  2000/10/27 15:42:08  dpg1  Initial code set conversion support. Not yet enabled or fully tested.*/#include <omniORB4/CORBA.h>#include <omniORB4/linkHacks.h>#include <codeSetUtil.h>OMNI_NAMESPACE_BEGIN(omni)#if (SIZEOF_WCHAR == 4)class NCS_W_UCS_4 : public omniCodeSet::NCS_W {public:  virtual void marshalWChar(cdrStream& stream, omniCodeSet::TCS_W* tcs,			    _CORBA_WChar c);  virtual void marshalWString(cdrStream& stream, omniCodeSet::TCS_W* tcs,			      _CORBA_ULong bound, _CORBA_ULong len,			      const _CORBA_WChar* s);  virtual _CORBA_WChar unmarshalWChar(cdrStream& stream,				      omniCodeSet::TCS_W* tcs);  virtual _CORBA_ULong unmarshalWString(cdrStream& stream,					omniCodeSet::TCS_W* tcs,					_CORBA_ULong bound,					_CORBA_WChar*& s);  NCS_W_UCS_4()    : omniCodeSet::NCS_W(omniCodeSet::ID_UCS_4, "UCS-4", omniCodeSet::CS_Other)  { }  virtual ~NCS_W_UCS_4() {}};class TCS_W_UCS_4 : public omniCodeSet::TCS_W {public:  virtual void marshalWChar  (cdrStream& stream, omniCodeSet::UniChar uc);  virtual void marshalWString(cdrStream& stream,			      _CORBA_ULong len,			      const omniCodeSet::UniChar* us);  virtual omniCodeSet::UniChar unmarshalWChar(cdrStream& stream);  virtual _CORBA_ULong unmarshalWString(cdrStream& stream,					_CORBA_ULong bound,					omniCodeSet::UniChar*& us);  // Fast marshalling functions. Return false if no fast case is  // possible and Unicode functions should be used.  virtual _CORBA_Boolean fastMarshalWChar    (cdrStream&          stream,					      omniCodeSet::NCS_W* ncs,					      _CORBA_WChar        c);  virtual _CORBA_Boolean fastMarshalWString  (cdrStream&          stream,					      omniCodeSet::NCS_W* ncs,					      _CORBA_ULong        bound,					      _CORBA_ULong        len,					      const _CORBA_WChar* s);  virtual _CORBA_Boolean fastUnmarshalWChar  (cdrStream&          stream,					      omniCodeSet::NCS_W* ncs,					      _CORBA_WChar&       c);  virtual _CORBA_Boolean fastUnmarshalWString(cdrStream&          stream,					      omniCodeSet::NCS_W* ncs,					      _CORBA_ULong        bound,					      _CORBA_ULong&       length,					      _CORBA_WChar*&      s);  TCS_W_UCS_4()    : omniCodeSet::TCS_W(omniCodeSet::ID_UCS_4, "UCS-4",			 omniCodeSet::CS_Other, omniCodeSetUtil::GIOP12)  { }  virtual ~TCS_W_UCS_4() {}};voidNCS_W_UCS_4::marshalWChar(cdrStream& stream,			  omniCodeSet::TCS_W* tcs,			  _CORBA_WChar wc){  OMNIORB_CHECK_TCS_W_FOR_MARSHAL(tcs, stream);  if (tcs->fastMarshalWChar(stream, this, wc)) return;  if (wc > 0xffff)    OMNIORB_THROW(BAD_PARAM, BAD_PARAM_WCharOutOfRange,		  (CORBA::CompletionStatus)stream.completion());  tcs->marshalWChar(stream, wc);}voidNCS_W_UCS_4::marshalWString(cdrStream&          stream,			    omniCodeSet::TCS_W* tcs,			    _CORBA_ULong        bound,			    _CORBA_ULong        len,			    const _CORBA_WChar* ws){  OMNIORB_CHECK_TCS_W_FOR_MARSHAL(tcs, stream);  if (tcs->fastMarshalWString(stream, this, bound, len, ws)) return;  if (bound && len > bound)    OMNIORB_THROW(MARSHAL, MARSHAL_WStringIsTooLong, 		  (CORBA::CompletionStatus)stream.completion());  omniCodeSetUtil::BufferU ub(len+1);  _CORBA_WChar             wc;  for (_CORBA_ULong i=0; i<=len; i++) {    wc = ws[i];    if (wc <= 0xffff) {      ub.insert(wc);    }    else if (wc <= 0x10ffff) {      // Surrogate pair      wc -= 0x10000;      ub.insert((wc >> 10)    + 0xd800);      ub.insert((wc &  0x3ff) + 0xdc00);    }    else      OMNIORB_THROW(DATA_CONVERSION, DATA_CONVERSION_CannotMapChar,		    (CORBA::CompletionStatus)stream.completion());  }  tcs->marshalWString(stream, len, ub.extract());}_CORBA_WCharNCS_W_UCS_4::unmarshalWChar(cdrStream& stream,			    omniCodeSet::TCS_W* tcs){  OMNIORB_CHECK_TCS_W_FOR_UNMARSHAL(tcs, stream);  _CORBA_WChar wc;  if (tcs->fastUnmarshalWChar(stream, this, wc)) return wc;  return tcs->unmarshalWChar(stream);}_CORBA_ULongNCS_W_UCS_4::unmarshalWString(cdrStream& stream,			      omniCodeSet::TCS_W* tcs,			      _CORBA_ULong bound,			      _CORBA_WChar*& ws){  OMNIORB_CHECK_TCS_W_FOR_UNMARSHAL(tcs, stream);  _CORBA_ULong len;  if (tcs->fastUnmarshalWString(stream, this, bound, len, ws)) return len;  omniCodeSet::UniChar* us;  len = tcs->unmarshalWString(stream, bound, us);  OMNIORB_ASSERT(us);  omniCodeSetUtil::HolderU uh(us);  omniCodeSetUtil::BufferW wb(len);  omniCodeSet::UniChar uc;  _CORBA_WChar         wc;  for (_CORBA_ULong i=0; i<=len; i++) {    uc = us[i];    if (uc < 0xd800) {      wb.insert(uc);    }    else if (uc < 0xdc00) {      // Surrogate pair      wc = (uc - 0xd800) << 10;      if (++i == len) {	// No second half to surrogate pair	OMNIORB_THROW(DATA_CONVERSION, 		      DATA_CONVERSION_BadInput,		      (CORBA::CompletionStatus)stream.completion());      }      uc = us[i];      if (uc < 0xdc00 || uc > 0xdfff) {	// Value is not a valid second half to a surrogate pair	OMNIORB_THROW(DATA_CONVERSION, 		      DATA_CONVERSION_BadInput,		      (CORBA::CompletionStatus)stream.completion());      }      wc = wc + uc - 0xdc00 + 0x10000;      wb.insert(wc);    }    else if (uc < 0xe000) {      // Second half of surrogate pair not allowed on its own      OMNIORB_THROW(DATA_CONVERSION, 		    DATA_CONVERSION_BadInput,		    (CORBA::CompletionStatus)stream.completion());    }    else {      wb.insert(uc);    }  }  OMNIORB_ASSERT(uc == 0); // Last char must be zero  ws = wb.extract();  return wb.length() - 1;}//// Transmission code set//voidTCS_W_UCS_4::marshalWChar(cdrStream& stream,			  omniCodeSet::UniChar uc){  // In GIOP 1.2, wchar is encoded as an octet containing a length,  // followed by that number of octets representing the wchar. The  // CORBA 2.3 spec is silent on endianness issues, and whether there  // should be any padding. The 2.4 spec says that if TCS-W is UTF-16,  // the wchar is marshalled big-endian, unless there is a Unicode  // byte order mark telling us otherwise. That doesn't help us here,  // since we're not transmitting UTF-16. We assume here that there is  // no padding, and we use the stream's endianness.  stream.marshalOctet(4);  _CORBA_ULong  tc = uc;  _CORBA_Octet* p  = (_CORBA_Octet*)&tc;  _CORBA_Octet  o;  if (0xd800 <= uc && uc <= 0xe000 ) {    // Part of a surrogate pair -- can't be sent    OMNIORB_THROW(DATA_CONVERSION, 		  DATA_CONVERSION_BadInput,		  (CORBA::CompletionStatus)stream.completion());  }  if (stream.marshal_byte_swap()) {    o = p[3]; stream.marshalOctet(o);    o = p[2]; stream.marshalOctet(o);    o = p[1]; stream.marshalOctet(o);    o = p[0]; stream.marshalOctet(o);  }  else {    o = p[0]; stream.marshalOctet(o);    o = p[1]; stream.marshalOctet(o);    o = p[2]; stream.marshalOctet(o);    o = p[3]; stream.marshalOctet(o);  }}voidTCS_W_UCS_4::marshalWString(cdrStream& stream,			    _CORBA_ULong len,			    const omniCodeSet::UniChar* us){  // Just to be different, wstring is marshalled without a terminating  // null. Length is in octets.  _CORBA_ULong mlen = len * 4;  mlen >>= stream;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲va天堂va国产va久| 精品一区二区影视| 99久久99精品久久久久久| 日韩女同互慰一区二区| 久久成人精品无人区| 欧美性猛片xxxx免费看久爱| 国产精品久久久一区麻豆最新章节| 亚洲欧美一区二区三区极速播放 | 2021国产精品久久精品| 午夜av区久久| 欧美岛国在线观看| 国产综合色视频| 日韩欧美电影一区| 国产呦精品一区二区三区网站| 蜜桃av一区二区| 欧美丰满美乳xxx高潮www| 日日夜夜免费精品| 欧美α欧美αv大片| 国产在线不卡一区| 中文字幕亚洲一区二区av在线 | 色综合久久久久网| 亚洲国产日韩一级| 一区二区三区四区蜜桃| 在线一区二区三区做爰视频网站| 欧美色区777第一页| 性久久久久久久久| 日韩免费高清av| 97久久久精品综合88久久| 中文字幕一区二区三区色视频| 亚洲国产精品久久一线不卡| 这里只有精品电影| 国产经典欧美精品| 日韩精品五月天| 国产人成亚洲第一网站在线播放| 一区二区三区在线看| 久久亚洲二区三区| 色婷婷亚洲一区二区三区| 精品亚洲国产成人av制服丝袜 | 天天影视涩香欲综合网| 日韩一区国产二区欧美三区| 成人免费看黄yyy456| 久久精品免费看| 免费高清在线一区| 青娱乐精品在线视频| 亚洲国产视频在线| 亚洲一区二区三区激情| 国产精品国产精品国产专区不蜜 | 日本sm残虐另类| 亚洲www啪成人一区二区麻豆| av亚洲精华国产精华精| 久久电影国产免费久久电影| 日韩电影在线一区二区三区| 爽爽淫人综合网网站| 亚洲一区二区中文在线| 亚洲高清免费观看 | 亚洲欧洲在线观看av| 欧美一区二区三区免费在线看| 亚洲午夜精品网| 一二三区精品视频| 1000精品久久久久久久久| 欧美激情综合在线| 亚洲天堂网中文字| 亚洲人123区| 日韩av电影免费观看高清完整版 | 国产成人午夜高潮毛片| 日本一区二区高清| 亚洲高清在线视频| 日韩欧美一区在线| 亚洲免费在线播放| 亚洲h动漫在线| 午夜视频一区二区| 午夜天堂影视香蕉久久| 国产亚洲一本大道中文在线| 日本精品一级二级| 99久久精品国产一区| 日本韩国欧美一区| 欧美色成人综合| 三级成人在线视频| 中文字幕在线视频一区| 欧美日韩激情一区| 国产不卡视频在线观看| 日韩精品91亚洲二区在线观看| 日韩激情一二三区| 国产九色sp调教91| 久久精品久久综合| 亚洲精选在线视频| 亚州成人在线电影| 婷婷激情综合网| 日韩国产欧美在线播放| 亚洲www啪成人一区二区麻豆| 中文字幕一区二区三区四区| 911精品产国品一二三产区| 国产色产综合产在线视频| 亚洲免费色视频| 免费观看91视频大全| 一本一道波多野结衣一区二区| 日韩国产一区二| caoporen国产精品视频| 欧美日韩情趣电影| 亚洲国产精品t66y| 国产精品一级在线| 717成人午夜免费福利电影| 五月天一区二区| 在线视频一区二区三区| 亚洲免费观看视频| 成人听书哪个软件好| 中文字幕亚洲区| 日本精品视频一区二区| 亚洲第一精品在线| 日本精品一区二区三区高清| 亚洲免费在线播放| 欧美日韩亚洲综合在线| 夜夜嗨av一区二区三区四季av| 欧美精品一区二区久久久| 美女看a上一区| 国产亚洲精品7777| 91福利社在线观看| 亚洲超丰满肉感bbw| 亚洲精品在线电影| 韩国欧美一区二区| 中文字幕免费在线观看视频一区| 中文字幕一区二区5566日韩| 在线免费不卡视频| 日韩不卡一区二区三区| 中文字幕av一区二区三区免费看 | 91尤物视频在线观看| 8x福利精品第一导航| 亚洲美女视频在线观看| 欧美日韩成人一区| 99国产欧美另类久久久精品| 日韩—二三区免费观看av| 国产欧美精品在线观看| 制服丝袜在线91| 久久丝袜美腿综合| 国产欧美一区视频| 亚洲一区日韩精品中文字幕| 久久久久久久免费视频了| 精品国产乱子伦一区| 久久毛片高清国产| 国产欧美va欧美不卡在线| 亚洲色图视频网站| 天天色天天爱天天射综合| 免费高清视频精品| www.av亚洲| 欧美精品丝袜久久久中文字幕| 欧美国产一区在线| 综合激情网...| 五月天中文字幕一区二区| 国产一区二区美女| 91老师国产黑色丝袜在线| 69久久99精品久久久久婷婷| 久久久久久久久岛国免费| 亚洲图片欧美激情| 美美哒免费高清在线观看视频一区二区| 欧美一级黄色录像| 国产精品久久久久久福利一牛影视 | 欧美日韩在线一区二区| 日韩亚洲欧美中文三级| 中文字幕一区免费在线观看| 一区二区三区四区av| 国产精品资源在线观看| 欧美性猛片xxxx免费看久爱| 欧美激情在线免费观看| 日韩一区欧美二区| 91久久免费观看| 亚洲视频香蕉人妖| 国产日韩精品一区二区浪潮av | 欧美日韩三级一区二区| 99国产精品视频免费观看| 99久久精品免费精品国产| 欧美精品tushy高清| 久久综合色之久久综合| 亚洲欧美视频一区| 麻豆国产一区二区| va亚洲va日韩不卡在线观看| 欧美精品v国产精品v日韩精品| 国产一区二区伦理片| 成人av在线电影| 欧美裸体一区二区三区| 久久久www成人免费无遮挡大片| 色网站国产精品| 久久精品欧美日韩| 午夜精品一区二区三区三上悠亚| 2020国产精品自拍| 一区二区在线免费| eeuss鲁一区二区三区| 久久久91精品国产一区二区精品| 99精品视频在线观看免费| 亚洲精品在线免费播放| 日韩一区精品字幕| 欧美怡红院视频| 国产农村妇女毛片精品久久麻豆| 91麻豆精品国产91久久久久久久久 | 亚洲一区二区欧美| 91丨porny丨首页| 亚洲欧美区自拍先锋| 精品一区精品二区高清| 欧美成人三级在线| 免费高清视频精品| 精品久久久久久久久久久久久久久久久 |