亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美丰满一区二区免费视频| 7777精品伊人久久久大香线蕉最新版 | 精品欧美一区二区在线观看| 欧美日韩一本到| 欧美日韩在线播| 精品国产网站在线观看| 国产精品久久久久久久岛一牛影视| 一区二区三区小说| 亚洲综合免费观看高清完整版 | 国产精品电影一区二区| 国产精品无圣光一区二区| 国产午夜精品久久| 国产精品网站在线观看| 亚洲欧洲精品一区二区三区不卡| 国产精品色在线观看| 国产精品久久久久久福利一牛影视| 国产精品污网站| 亚洲欧美日韩系列| 亚洲综合一区二区精品导航| 亚洲国产一区在线观看| 天天av天天翘天天综合网色鬼国产 | 亚洲激情六月丁香| 亚洲自拍偷拍欧美| 日韩av午夜在线观看| 国产在线精品一区二区三区不卡 | 在线日韩国产精品| 欧美日韩国产经典色站一区二区三区| 欧美美女bb生活片| 久久理论电影网| 日韩理论片一区二区| 亚洲一区影音先锋| 国产在线一区二区综合免费视频| 成人激情综合网站| 欧美性xxxxx极品少妇| 精品福利av导航| 中文字幕一区三区| 日本成人在线电影网| 丁香婷婷综合激情五月色| 色视频成人在线观看免| 欧美一卡二卡三卡四卡| 国产欧美日韩一区二区三区在线观看| 亚洲精品你懂的| 久久成人免费电影| 色婷婷国产精品久久包臀| 日韩免费视频线观看| 亚洲视频一区二区在线观看| 三级不卡在线观看| 国产成人精品www牛牛影视| 在线免费观看日本一区| 精品精品欲导航| 亚洲日本va在线观看| 久久99精品久久久久久久久久久久| voyeur盗摄精品| 制服丝袜av成人在线看| 国产精品入口麻豆原神| 综合色中文字幕| 亚洲黄一区二区三区| 久久成人免费电影| 懂色av一区二区三区免费观看| 午夜一区二区三区视频| 亚洲国产美女搞黄色| 免费人成精品欧美精品| 亚洲一区二区美女| 国产精品99久| 欧美精选一区二区| 日韩一区欧美小说| 老司机免费视频一区二区三区| 91免费版在线看| 欧美二区乱c少妇| 亚洲欧美另类小说| 欧美zozo另类异族| 亚洲444eee在线观看| 国产成人自拍高清视频在线免费播放| 91精品综合久久久久久| 亚洲欧洲在线观看av| 国产激情一区二区三区四区| 欧美色网一区二区| 亚洲欧美日韩在线| 国产黄色精品网站| 精品国内片67194| 亚洲精品成人少妇| 91片黄在线观看| 久久综合精品国产一区二区三区| 国产精品免费视频网站| 黑人巨大精品欧美一区| 欧美一区二区在线看| 欧美在线视频全部完| 国产亚洲精品精华液| 午夜久久福利影院| 欧美性大战久久久久久久蜜臀| 久久美女艺术照精彩视频福利播放| 日本三级亚洲精品| 91国产成人在线| 一区二区三区国产豹纹内裤在线| 精品一区二区av| 欧美tk丨vk视频| 亚洲国产视频直播| 91黄视频在线| 国产精品久久久久久久久动漫| 国产一区二区三区不卡在线观看| 91精品国产一区二区三区蜜臀 | 欧美日韩美少妇| 中文字幕一区二区三区不卡在线| 国产91色综合久久免费分享| 欧美一区二区性放荡片| 久久国产成人午夜av影院| 欧美日韩国产一二三| 日韩精品国产精品| 日韩欧美一二三| 91欧美一区二区| 亚洲精品成人天堂一二三| 亚洲同性同志一二三专区| 国产一区二区按摩在线观看| 精品久久久久久久久久久院品网| 三级亚洲高清视频| 欧美一区二区三级| 午夜电影一区二区| 欧美一级爆毛片| 免费不卡在线视频| 久久精品一区四区| 国产成人精品免费视频网站| 亚洲视频小说图片| 99vv1com这只有精品| 性做久久久久久免费观看| 欧美一级高清片| 久久精品国产成人一区二区三区| 亚洲精品一区二区三区精华液 | 日韩欧美一区二区不卡| 蜜臀精品久久久久久蜜臀| 日韩欧美国产一区二区三区 | 亚洲综合另类小说| 狠狠色丁香婷综合久久| 免费观看久久久4p| 午夜伦理一区二区| 亚洲欧美日韩在线| 91在线视频免费91| 亚洲老妇xxxxxx| 欧美一区二区三区人| 久草在线在线精品观看| 国产精品久久免费看| 日本韩国欧美在线| 视频一区在线播放| 久久综合成人精品亚洲另类欧美| 成人在线综合网站| 亚洲午夜私人影院| 日韩欧美资源站| 99久久精品情趣| 日韩精品三区四区| 国产欧美一区二区精品性色超碰| 成人免费视频播放| 午夜欧美大尺度福利影院在线看| 欧美一区午夜精品| av影院午夜一区| 亚洲成人在线免费| 国产精品系列在线| 色婷婷狠狠综合| 国产盗摄一区二区三区| 国产精品欧美一区喷水| 日韩一区二区免费在线观看| 日韩国产欧美在线视频| 欧美高清在线精品一区| 欧美日韩一级大片网址| 国产成人三级在线观看| 午夜国产精品一区| 亚洲精品福利视频网站| 日本午夜精品一区二区三区电影| 这里只有精品视频在线观看| 国产日韩成人精品| 国产在线乱码一区二区三区| 亚洲日本乱码在线观看| 精品久久久久久亚洲综合网| 成人avav影音| 国产精品小仙女| 蜜桃久久精品一区二区| 亚洲色图视频网| 久久综合999| 欧美日韩高清不卡| 懂色av中文一区二区三区| 国产精品污www在线观看| 69精品人人人人| eeuss鲁一区二区三区| 国产伦精品一区二区三区免费迷| 亚洲一区中文在线| 亚洲欧美日韩国产手机在线| 精品视频在线免费观看| 色婷婷精品久久二区二区蜜臂av| 国产精品123| 久久激情五月婷婷| 青娱乐精品视频| 亚洲一区av在线| 一区二区三区欧美亚洲| 久久久蜜桃精品| 久久精品一区八戒影视| 91麻豆精品国产91久久久久久久久 | 成人美女视频在线观看18| 成人在线视频一区| 国产精品乱码妇女bbbb| 成人精品视频.| 亚洲国产你懂的| 中文字幕在线不卡一区二区三区|