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

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

?? pstrmanip.cxx

?? PTypes (C++ Portable Types Library) is a simple alternative to the STL that includes multithreading
?? CXX
字號:
/* * *  C++ Portable Types Library (PTypes) *  Version 1.7.5   Released 9-Mar-2003 * *  Copyright (c) 2001, 2002, 2003 Hovik Melikyan * *  http://www.melikyan.com/ptypes/ *  http://ptypes.sourceforge.net/ * */#include <stdlib.h>#include <string.h>#include "ptypes.h"PTYPES_BEGINvoid string::initialize(const char* s1, int len1, const char* s2, int len2){    if (len1 <= 0)        initialize(s2, len2);    else if (len2 <= 0)        initialize(s1, len1);    else    {        _alloc(len1 + len2);        memcpy(data, s1, len1);        memcpy(data + len1, s2, len2);    }}#ifdef CHECK_BOUNDSchar& string::operator[] (int i) {    unique(*this);    if (i < 0 || i >= length(*this))        fatal(CRIT_FIRST + 20, "String index overflow");    return data[i];}#endifvoid concat(string& s, const char* sc, int catlen) {    if (length(s) == 0)        s.assign(sc, catlen);    else if (catlen > 0)     {        int oldlen = length(s);                // we must check this before calling setlength(), since        // the buffer pointer may be changed during reallocation        if (s.data == sc)        {            setlength(s, oldlen + catlen);            memmove(s.data + oldlen, s.data, catlen);        }        else        {            setlength(s, oldlen + catlen);            memmove(s.data + oldlen, sc, catlen);        }    }}void concat(string& s, const char* sc) {    concat(s, sc, hstrlen(sc));}void concat(string& s, char c) {    if (length(s) == 0)        s.assign(c);    else     {        setlength(s, length(s) + 1);        s.data[length(s) - 1] = c;    }}void concat(string& s, const string& s1) {    if (length(s) == 0)        s = s1;    else if (length(s1) > 0)        concat(s, s1.data, length(s1));}bool contains(const char* s1, int s1len, const string& s, int at) {    return (s1len > 0) && (at >= 0) && (at + s1len <= length(s))        && (memcmp(s.data + at, s1, s1len) == 0);}bool contains(const char* s1, const string& s, int at) {    return contains(s1, hstrlen(s1), s, at);}bool contains(char s1, const string& s, int at) {    return (at >= 0) && (at < length(s)) && (s.data[at] == s1);}bool contains(const string& s1, const string& s, int at) {    return contains(s1.data, length(s1), s, at);}string string::operator+ (const char* sc) const  {    if (length(*this) == 0)        return string(sc);    else        return string(data, length(*this), sc, hstrlen(sc));}string string::operator+ (char c) const{     if (length(*this) == 0)        return string(c);    else        return string(data, length(*this), &c, 1);}string string::operator+ (const string& s) const{    if (length(*this) == 0)        return s;    else if (length(s) == 0)        return *this;    else        return string(data, length(*this), s.data, length(s));}string operator+ (const char* sc, const string& s){    if (length(s) == 0)        return string(sc);    else        return string(sc, hstrlen(sc), s.data, length(s));}string operator+ (char c, const string& s){    if (length(s) == 0)        return string(c);    else        return string(&c, 1, s.data, length(s));}bool string::operator== (const string& s) const {    return (length(*this) == length(s))        && ((length(*this) == 0) || (memcmp(data, s.data, length(*this)) == 0));}bool string::operator== (char c) const {    return (length(*this) == 1) && (data[0] == c);}string copy(const string& s, int from, int cnt) {    string t;    if (length(s) > 0 && from >= 0 && from < length(s))     {        int l = imin(cnt, length(s) - from);        if (from == 0 && l == length(s))            t = s;        else if (l > 0)         {            t._alloc(l);            memmove(t.data, s.data + from, l);            t.data[l] = 0;        }    }    return t;}void ins(const char* s1, int s1len, string& s, int at) {    int curlen = length(s);    if (s1len > 0 && at >= 0 && at < curlen)     {        if (curlen == 0)            s.assign(s1, s1len);        else         {            setlength(s, curlen + s1len);            int t = length(s) - at - s1len;            char* p = s.data + at;            if (t > 0)                 memmove(p + s1len, p, t);            memmove(p, s1, s1len);        }    }}void ins(const char* sc, string& s, int at) {    ins(sc, hstrlen(sc), s, at);}void ins(char c, string& s, int at) {    ins(&c, 1, s, at);}void ins(const string& s1, string& s, int at) {    ins(s1.data, length(s1), s, at);}void del(string& s, int from, int cnt) {    int l = length(s);    if (from >= 0 && from < l && cnt > 0)     {        if (from + cnt >= l)            cnt = l - from;        else if (l - from > cnt)         {            unique(s);            memmove(s.data + from, s.data + from + cnt, l - from - cnt);        }        setlength(s, l - cnt);    }}int pos(const char* sc, const string& s) {    const char* t = (char*)strstr(s.data, sc);    return (t == NULL ? (-1) : (t - s.data));}int pos(char c, const string& s) {    const char* t = (char*)strchr(s.data, c);    return (t == NULL ? (-1) : (t - s.data));}int rpos(char c, const string& s) {    const char* t = (char*)strrchr(s.data, c);    return (t == NULL ? (-1) : (t - s.data));}PTYPES_END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美精品一区二区色综合| 欧美日韩亚洲不卡| 欧美激情在线一区二区三区| 国产成人精品亚洲日本在线桃色| 欧美国产在线观看| 成人高清在线视频| 中文字幕日韩一区二区| 日本精品一区二区三区四区的功能| 亚洲青青青在线视频| 在线观看一区二区视频| 日本欧美一区二区| 久久久精品免费网站| 91影视在线播放| 亚洲一区二区免费视频| 欧美一级日韩免费不卡| 国产馆精品极品| 一区二区视频在线| 日韩免费一区二区| 91视频观看免费| 日韩成人dvd| 国产精品久久久久久亚洲毛片| 欧美中文字幕亚洲一区二区va在线| 日韩av电影一区| 亚洲欧洲色图综合| 日韩一区二区免费在线电影| 国产高清不卡一区| 亚洲成av人片观看| 欧美激情综合网| 91精品国产综合久久久久久 | 久久人人爽人人爽| 一本到高清视频免费精品| 麻豆成人在线观看| 亚洲综合在线电影| 国产欧美一区二区精品性色超碰| 欧美色男人天堂| 成人黄页在线观看| 免费成人美女在线观看.| 成人免费视频在线观看| 精品国产在天天线2019| 欧美日韩一级视频| 波多野结衣在线aⅴ中文字幕不卡| 五月婷婷综合激情| 亚洲欧美精品午睡沙发| 久久色中文字幕| 91精品国产91热久久久做人人| 成人av在线资源| 极品少妇一区二区| 免费观看91视频大全| 亚洲综合一区在线| 亚洲欧美怡红院| 久久久噜噜噜久久中文字幕色伊伊| 欧美在线高清视频| 91在线精品一区二区三区| 国产盗摄一区二区三区| 蜜臀av性久久久久蜜臀av麻豆| 亚洲欧美激情插| 中文av一区特黄| 久久只精品国产| 欧美成人aa大片| 日韩欧美卡一卡二| 欧美日韩成人在线| 国产精品大尺度| 久久久九九九九| 久久一区二区视频| 日韩精品一区二区三区视频播放| 欧美日韩国产精品自在自线| 欧洲亚洲精品在线| 97se亚洲国产综合自在线| 国产.欧美.日韩| 国产高清视频一区| 国产经典欧美精品| 粉嫩aⅴ一区二区三区四区五区| 加勒比av一区二区| 国产伦精一区二区三区| 国产伦精品一区二区三区在线观看| 久久99精品久久久| 国产精品99久久久久久似苏梦涵| 激情五月激情综合网| 久久99这里只有精品| 国产在线视视频有精品| 国产伦精品一区二区三区免费| 国产一区二区久久| 福利一区二区在线观看| av不卡免费在线观看| 日本韩国欧美一区二区三区| 精品视频1区2区3区| 这里只有精品免费| 欧美精品一区二区三区一线天视频| 2023国产精华国产精品| 国产精品嫩草影院av蜜臀| 自拍偷拍国产精品| 亚洲一区二区三区四区五区黄 | 亚洲色图视频网| 中文字幕一区二区三区av| 蜜臀av一区二区| 欧美三级视频在线观看| 欧美日韩亚洲丝袜制服| 777奇米成人网| 久久久亚洲精品一区二区三区| 久久久精品综合| 18欧美亚洲精品| 三级不卡在线观看| 久99久精品视频免费观看| 国产成人aaaa| 91成人国产精品| 亚洲一区二区三区四区在线免费观看 | 一区二区三区四区中文字幕| 亚洲成a人v欧美综合天堂 | 亚洲高清不卡在线| 蜜臀av在线播放一区二区三区| 国产成人在线色| 欧美视频一区在线| 精品国产精品一区二区夜夜嗨| 亚洲欧美中日韩| 青娱乐精品视频| 91美女片黄在线观看91美女| 在线播放/欧美激情| 亚洲国产精品二十页| 偷拍一区二区三区四区| 风间由美性色一区二区三区| 欧美日韩精品三区| 国产精品青草综合久久久久99| 亚洲高清不卡在线观看| 成人白浆超碰人人人人| 777亚洲妇女| 国产精品成人一区二区三区夜夜夜| 日本欧美肥老太交大片| 一本到一区二区三区| 国产无人区一区二区三区| 午夜精品福利一区二区三区av| 不卡影院免费观看| 久久夜色精品国产噜噜av| 亚洲成人一区二区| av午夜一区麻豆| 久久久久99精品国产片| 蜜桃一区二区三区在线观看| 在线亚洲一区二区| 中文字幕电影一区| 国产原创一区二区三区| 91麻豆精品91久久久久久清纯 | 制服丝袜亚洲播放| 亚洲日本一区二区三区| 国产99久久精品| 欧美xxxx老人做受| 日日夜夜精品视频免费| 91久久精品国产91性色tv| 国产精品久久久久久久岛一牛影视 | 91精品婷婷国产综合久久性色| 亚洲免费av网站| 成人性生交大合| 久久久国产精华| 紧缚捆绑精品一区二区| 日韩免费一区二区三区在线播放| 日韩黄色在线观看| 欧美卡1卡2卡| 亚洲午夜久久久久久久久电影网| 91麻豆文化传媒在线观看| 中文字幕日韩欧美一区二区三区| 国产成人av电影在线观看| 久久人人超碰精品| 国模一区二区三区白浆| 欧美一级片在线看| 免费欧美日韩国产三级电影| 日韩一区二区在线观看视频播放| 日本sm残虐另类| 日韩欧美三级在线| 国产在线视频一区二区三区| 精品国产区一区| 国产一区二区在线电影| 国产日产精品一区| 粉嫩av一区二区三区粉嫩 | 久久蜜桃一区二区| 国产精品自拍网站| 中文字幕国产一区| 97国产一区二区| 一级特黄大欧美久久久| 欧美人与z0zoxxxx视频| 日本不卡中文字幕| 2020日本不卡一区二区视频| 国产成a人亚洲精品| 欧美国产综合色视频| 欧美高清在线精品一区| eeuss鲁一区二区三区| 一区二区三区精品久久久| 欧美亚洲高清一区二区三区不卡| 午夜视频久久久久久| 日韩精品影音先锋| 国产激情视频一区二区在线观看| 国产精品国产自产拍高清av | 欧美综合视频在线观看| 婷婷夜色潮精品综合在线| 日韩精品一区二区三区在线观看 | 色域天天综合网| 日韩二区在线观看| 久久精品水蜜桃av综合天堂| 色综合久久久久久久久久久| 午夜成人免费电影| 中文av字幕一区| 在线播放欧美女士性生活| 国产福利91精品一区二区三区|