



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
G++2.91.57,cygnus\cygwin-b20\include\g++\std\straits.h完整列表
//Charactertraitstem teforthe-*-C++-*-stringclasses.
//Copyright(C)1994 SoftwareFoundation
//ThisfileispartoftheGNUANSIC++Library.Thislibraryis
//software;youcanredistributeitand/ormodifyitunderthe
//termsoftheGNUGeneralPublicLicenseaspublishedbythe
//SoftwareFoundation;eitherversion2,or(atyouroption)
//anylaterversion.
//Thislibraryisdistributedinthehopethatitwillbeuseful,
//butWITHOUTANYWARRANTY;withouteventheimpliedwarrantyof
//MERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.Seethe
//GNUGeneralPublicLicenseformoredetails.
//YoushouldhavereceivedacopyoftheGNUGeneralPublicLicense
//alongwiththislibrary;seethefileCOPYING.Ifnot,writetothe
//SoftwareFoundation,59Templece-Suite330,Boston,MA02111-1307,USA.
//Asaspecialexception,ifyoulinkthislibrarywithfiles
//compiledwithaGNUcompilertoproduceanexecutable,thisdoesnotcause
//theresultingexecutabletobecoveredbytheGNUGeneralPublicLicense.
//Thisexceptiondoesnothoweverinvalidateanyotherreasonswhy
//theexecutablefilemightbecoveredbytheGNUGeneralPublicLicense.
//WrittenbyJasonMerrillbaseduponthespecificationbyTakanoriAdachi
//inANSIX3J16/94-0013R2.
#ifndef#define
STRING_CHAR_TRAITS
STRING_CHAR_TRAITS
#ifdefGNUG
//Forstring_char_traits<char>#pragmainterface"std/straits.h"#endif
#include<cstddef>
//PJSTL使用char_traits符號,定義於vc6\include\iosfwd,
//temte<class_E>
//structchar_traits{
// typedef_Echar_type;
//
//SGISTL使用string_char_traits符號,定義於std\straits.h(本檔)
//
extern"C++"{temte<classcharT>
structstring_char_traits{
typedefcharTchar_type;//foruserstoacquirethebasiccharactertype
//constraints
staticvoidassign(char_type&c1,constchar_type&c2)
{c1=c2;}
staticbooleq(constchar_type&c1,constchar_type&c2)
{return(c1==c2);}
staticboolne(constchar_type&c1,constchar_type&c2)
{return!(c1==c2);}
staticboollt(constchar_type&c1,constchar_type&c2)
{return(c1<c2);}
staticchar_typeeos(){returnchar_type();}//thenullcharacterstaticboolis_del(char_typea){return0;}
//characteristicfunctionfordelimitersofcharT
//speed-upfunctions
staticintcompare(constchar_type*s1,constchar_type*s2,size_tn)
{
size_ti;
for(i=0;i<n;++i)if(ne(s1[i],s2[i]))
returnlt(s1[i],s2[i])?-1:1;
return0;
}
staticsize_tlength(constchar_type*s)
{
size_tl=0;
while(ne(*s++,eos()))
++l;
returnl;
}
staticchar_type*copy(char_type*s1,constchar_type*s2,size_tn)
{
for(;n--;)
assign(s1[n],s2[n]);returns1;
}
staticchar_type*move(char_type*s1,constchar_type*s2,size_tn)
{
char_typea[n];size_ti;
for(i=0;i<n;++i)assign(a[i],s2[i]);
for(i=0;i<n;++i)
assign(s1[i],a[i]);returns1;
}
staticchar_type*set(char_type*s1,constchar_type&c,size_tn)
{
for(;n--;)
assign(s1[n],c);returns1;
}
};
classistream;classostream;#include<cctype>#include<cstring>
structstring_char_traits<char>{typedefcharchar_type;
staticvoidassign(char_type&c1,constchar_type&c2)
{c1=c2;}
staticbooleq(constchar_type&c1,constchar_type&c2)
{return(c1==c2);}
staticboolne(constchar_type&c1,constchar_type&c2)
{return(c1!=c2);}
staticboollt(constchar_type&c1,constchar_type&c2)
{return(c1<c2);}
staticchar_typeeos(){return0;}
staticboolis_del(char_typea){returnisspace(a);}
staticintcompare(constchar_type*s1,constchar_type*s2,size_tn)
{returnmemcmp(s1,s2,n);}
staticsize_tlength(constchar_type*s)
{returnstrlen(s);}
staticchar_type*copy(char_type*s1,constchar_type*s2,size_tn)
{return(char_type*)memcpy(s1,s2,n);}
staticchar_type*move(char_type*s1,constchar_type*s2,size_tn)
{return(char_type*)memmove(s1,s2,n);}
staticchar_type*set(char_type*s1,constchar_type&c,size_tn)
{return(char_type*)memset(s1,c,n);}
};
#if0
#include<cwctype>
structstring_char_traits<wchar_t>{typedefwchar_tchar_type;
staticvoidassign(char_type&c1,constchar_type&c2)
{c1=c2;}
staticbooleq(constchar_type&c1,constchar_type&c2)
{return(c1==c2);}
staticboolne(constchar_type&c1,constchar_type&c2)
{return(c1!=c2);}
staticboollt(constchar_type&c1,constchar_type&c2)
{return(c1<c2);}
staticchar_typeeos(){return0;}
staticboolis_del(char_typea){returniswspace(a);}
staticintcompare(constchar_type*s1,constchar_type*s2,size_tn)
{returnwmemcmp(s1,s2,n);}
staticsize_tlength(constchar_type*s)
{retur
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 土地综合整治投标方案
- 沉井施工期质量检验与评定合同
- 婚姻解除后财产分割与经济补偿协议范本
- 防汛围栏井安装方案
- 拦污栅项目规划方案
- 乡村网络面试题及答案
- 内外踝骨折护理常规
- 天花玻璃安装方案
- 金融创新:厂房股权转让与融资租赁一体化合同
- 2026版《全品高考》选考复习方案生物0420 课时作业(十九) 细胞的分化、衰老、死亡 含答案
- FANUC PMC中文英文报警对照表
- XX装饰装修工程施工设计方案
- 部编版九年级语文上册教案
- 2023-2024学年黑龙江省宁安市初中语文七年级下册期末高分通关试卷
- GB/T 6075.3-2011机械振动在非旋转部件上测量评价机器的振动第3部分:额定功率大于15 kW额定转速在120 r/min至15 000 r/min之间的在现场测量的工业机器
- GB/T 5594.4-2015电子元器件结构陶瓷材料性能测试方法第4部分:介电常数和介质损耗角正切值测试方法
- 预防保健科护理质量控制考核标准
- 起重作业吊装令
- 林州重机710采煤机电控箱装配流程
- 医院检验科实验室生物安全管理委员会及工作职责
- 个人求职简历两页 (46)应聘履历参考模板可编辑修改
评论
0/150
提交评论