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

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

?? getoptns.cc

?? 在Linux開發環境下實現JPEG_LS壓縮標注
?? CC
字號:
#include <strstream.h>#include <iomanip.h>#include <ctype.h>#include <string.h>#include "basetype.h"#include "getoptns.h"#include "mesgtext.h"// many of the get and extract methods should be a template// but can't figure out how to have template functions declared within// a classboolGetNamedOptions::match(const char *arg,const char *index){	return (arg && arg[0] == '-' && index		&& ((arg[1] == 0 && index[0] == 0)	// "-"		     || strcmp(arg+1,index) == 0));}boolGetNamedOptions::extract(const char *index,const char * src,long &dst){	istrstream istr(src);	istr >> resetiosflags(ios::basefield) // force adaptive	     >> dst;	if (istr.good())		return true;	else {		errorstream << "-" << index			    << ": " << EMsgDC(ArgumentNotInteger) << endl;		good_flag=false;		return false;	}}#define GENERATE_EXTRACT_INDEX_INTEGER(T)				\bool									\GetNamedOptions::extract(const char *index,const char * src,T &dst)	\{									\	long l;								\	if (extract(index,src,l)) {					\		dst=(T)l;						\		return true;						\	}								\	else								\		return false;						\}GENERATE_EXTRACT_INDEX_INTEGER(unsigned long)GENERATE_EXTRACT_INDEX_INTEGER(unsigned int)GENERATE_EXTRACT_INDEX_INTEGER(int)boolGetNamedOptions::extract(const char *index,const char * src,double &dst){	istrstream istr(src);	istr >> dst;	if (istr.good()	 // fudge because fails if no trailing f or d :(		 || (isdigit(*src) && isdigit(src[strlen(src)-1]))	)		return true;	else {		errorstream << "-" << index			    << ": " << EMsgDC(ArgumentNotFloat) << endl;		good_flag=false;		return false;	}}boolGetNamedOptions::extract(const char *index,const char * src,float &dst){	double d;	if (extract(index,src,d)) {		dst=(float)d;		return true;	}	else		return false;}boolGetNamedOptions::extract(const char *index,const char * src,const char * &dst){	(void)good_flag; (void)errorstream;	(void)index; dst=src; return true;}intGetNamedOptions::findUnusedOption(void){	int i;	for (i=0; i<argc_start; ++i) {		if (!argv_used[i]		 && argv_start[i]		 && argv_start[i][0] == '-') return i;	}	return -1;}intGetNamedOptions::findUnusedOption(const char *index){	if (!index) return -1;	int i;	for (i=0; i<argc_start; ++i) {		if (!argv_used[i] && match(argv_start[i],index))			return i;	}	return -1;}intGetNamedOptions::findUnusedOption(const char *const *indexes,int& which){	which=-1;	int found=-1;	int iw=0;	int count=0;	while (*indexes) {		int i=findUnusedOption(*indexes);		if (i != -1) {			found=i;			which=iw;			++count;			if (count > 1) {				errorstream << "-" << *indexes					    << ": "					    << EMsgDC(OptionRepeated)					    << endl;			}		}		++indexes;		++iw;	}	return found;}intGetNamedOptions::findUnusedValue(int n){	int i;	for (i=0; i<argc_start; ++i) {		if (!argv_used[i]) {			if (n == 0) return i;			--n;		}	}	return -1;}voidGetNamedOptions::firstValue(void){}intGetNamedOptions::areMoreValues(void){	int i=0;	while (findUnusedValue(i) != -1) ++i;	return i;}voidGetNamedOptions::bumpValue(void){	int i=findUnusedValue(0);	if (i != -1) argv_used[i]=true;}const char *GetNamedOptions::value(int n){	int i=findUnusedValue(n);	return (i == -1) ? 0 : argv_start[i];}GetNamedOptions::GetNamedOptions(int argc,const char *const *argv)	: ErrorsInClass(){	command_string=argv[0];	argv_start=argv+1;	argc_left=argc_start=argc-1;	argv_used=argc_start ? new bool[argc_start] : 0;	if (argc_start && !argv_used)		good_flag=false;	else {		int i;		for (i=0; i<argc_start; ++i) argv_used[i]=false;	}}GetNamedOptions::~GetNamedOptions(){	if (argv_used) delete[] argv_used;}boolGetNamedOptions::get(const char *index){	int i=findUnusedOption(index);	if (i != -1) {		argv_used[i]=true;		return true;	}	else		return false;}boolGetNamedOptions::operator[](const char *index){	return get(index);}boolGetNamedOptions::get(const char *const *indexes){	int which;	int i=findUnusedOption(indexes,which);	if (i != -1) {		argv_used[i]=true;		return true;	}	else		return false;}boolGetNamedOptions::operator[](const char *const *indexes){	return get(indexes);}boolGetNamedOptions::get(const char *index,const char * &value){	int i=findUnusedOption(index);	if (i == -1) return false;	argv_used[i]=true;	if (i+1 >= argc_start	 || argv_used[i+1]	 || argv_start[i+1] == 0	 || argv_start[i+1][0] == 0	 || argv_start[i+1][0] == '-') {		errorstream << "-" << index			    << ": " << EMsgDC(ArgumentMissing) << endl;		good_flag=false;		return false;	}	argv_used[i+1]=true;	value=argv_start[i+1];	return true;}#define GENERATE_GET_ONE_ARGUMENT(T)					\bool									\GetNamedOptions::get(const char *index,T &value)			\{									\	const char *s;							\	bool rv;							\	if (!get(index,s))						\		rv=false;						\	else								\		rv=extract(index,s,value);				\	return rv;							\}GENERATE_GET_ONE_ARGUMENT(int)GENERATE_GET_ONE_ARGUMENT(unsigned int)GENERATE_GET_ONE_ARGUMENT(unsigned long)GENERATE_GET_ONE_ARGUMENT(long)GENERATE_GET_ONE_ARGUMENT(float)GENERATE_GET_ONE_ARGUMENT(double)boolGetNamedOptions::get(const char *const *indexes,const char * &value,int& which){	int found=findUnusedOption(indexes,which);	if (found == -1) return false;	argv_used[found]=true;	if (found+1 >= argc_start	 || argv_used[found+1]	 || argv_start[found+1] == 0	 || argv_start[found+1][0] == 0	 || argv_start[found+1][0] == '-') {		errorstream << "-" << indexes[which]			    << ": " << EMsgDC(ArgumentMissing) << endl;		good_flag=false;		return false;	}	argv_used[found+1]=true;	value=argv_start[found+1];	return true;}#define GENERATE_GET_ONE_ARGUMENT_FROM_MULTIPLE_OPTIONS(T)		\bool									\GetNamedOptions::get(const char *const *indexes,T &value)		\{									\	const char *s;							\	bool rv;							\	int which;							\	if (!get(indexes,s,which))					\		rv=false;						\	else								\		rv=extract(indexes[which],s,value);			\	return rv;							\}GENERATE_GET_ONE_ARGUMENT_FROM_MULTIPLE_OPTIONS(int)GENERATE_GET_ONE_ARGUMENT_FROM_MULTIPLE_OPTIONS(unsigned int)GENERATE_GET_ONE_ARGUMENT_FROM_MULTIPLE_OPTIONS(unsigned long)GENERATE_GET_ONE_ARGUMENT_FROM_MULTIPLE_OPTIONS(long)GENERATE_GET_ONE_ARGUMENT_FROM_MULTIPLE_OPTIONS(float)GENERATE_GET_ONE_ARGUMENT_FROM_MULTIPLE_OPTIONS(double)GENERATE_GET_ONE_ARGUMENT_FROM_MULTIPLE_OPTIONS(const char *)#define GENERATE_GET_MULTIPLE_ARGUMENTS(T)				\int 									\GetNamedOptions::get(const char *index,T *ptr,int num)			\{									\	int i=findUnusedOption(index);					\	int n=-1;							\	if (i != -1) {							\		argv_used[i]=true;					\		++i;							\		for (n=0;  n < num && i+n < argc_start			\				&& !argv_used[i+n]			\				&& argv_start[i+n]			\				&& argv_start[i+n][0]			\				&& argv_start[i+n][0] != '-'		\			  ; ++n) {					\			argv_used[i+n]=true;				\			(void)extract(					\				index,argv_start[i+n],ptr[n]);		\		}							\	}								\	return n;							\}GENERATE_GET_MULTIPLE_ARGUMENTS(unsigned int)GENERATE_GET_MULTIPLE_ARGUMENTS(int)GENERATE_GET_MULTIPLE_ARGUMENTS(unsigned long)GENERATE_GET_MULTIPLE_ARGUMENTS(long)GENERATE_GET_MULTIPLE_ARGUMENTS(float)GENERATE_GET_MULTIPLE_ARGUMENTS(double)GENERATE_GET_MULTIPLE_ARGUMENTS(const char *)#define GENERATE_GET_MULTIPLE_ARGUMENT_FROM_MULTIPLE_OPTIONS(T)		\int 									\GetNamedOptions::get(const char *const *indexes,T *ptr,int num)		\{									\	int which;							\	int i=findUnusedOption(indexes,which);				\	int n=-1;							\	if (i != -1) {							\		argv_used[i]=true;					\		++i;							\		for (n=0;  n < num && i+n < argc_start			\				&& !argv_used[i+n]			\				&& argv_start[i+n]			\				&& argv_start[i+n][0]			\				&& argv_start[i+n][0] != '-'		\			  ; ++n) {					\			argv_used[i+n]=true;				\			(void)extract(					\				indexes[which],				\				argv_start[i+n],ptr[n]);		\		}							\	}								\	return n;							\}GENERATE_GET_MULTIPLE_ARGUMENT_FROM_MULTIPLE_OPTIONS(unsigned int)GENERATE_GET_MULTIPLE_ARGUMENT_FROM_MULTIPLE_OPTIONS(int)GENERATE_GET_MULTIPLE_ARGUMENT_FROM_MULTIPLE_OPTIONS(unsigned long)GENERATE_GET_MULTIPLE_ARGUMENT_FROM_MULTIPLE_OPTIONS(long)GENERATE_GET_MULTIPLE_ARGUMENT_FROM_MULTIPLE_OPTIONS(float)GENERATE_GET_MULTIPLE_ARGUMENT_FROM_MULTIPLE_OPTIONS(double)GENERATE_GET_MULTIPLE_ARGUMENT_FROM_MULTIPLE_OPTIONS(const char *)intGetNamedOptions::operator!(){	return areMoreValues();}voidGetNamedOptions::operator++(){	bumpValue();}voidGetNamedOptions::operator++(int){	bumpValue();}const char *GetNamedOptions::operator()(){	return value(0);}const char *GetNamedOptions::operator[](int num){	return value(num);}voidGetNamedOptions::done(void){	int i;	while ((i=findUnusedOption()) != -1) {		good_flag=false;		errorstream << argv_start[i] << ": unrecognized option" << endl;		argv_used[i]=true;	}}const char *GetNamedOptions::command(void) const{	return command_string;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人一区二区视频| 久久这里只有精品6| 精品三级av在线| 中文av字幕一区| 偷偷要91色婷婷| 成人精品视频一区| 日韩欧美激情一区| 一区二区三区在线免费| 国精产品一区一区三区mba视频| 色呦呦国产精品| 亚洲精品一区二区三区香蕉| 亚洲精品国产无天堂网2021| 国产美女一区二区| 日韩免费一区二区| 亚洲成人av福利| 99视频国产精品| 久久嫩草精品久久久精品一| 首页综合国产亚洲丝袜| 91免费视频网| 中文字幕制服丝袜一区二区三区| 裸体在线国模精品偷拍| 欧美日韩激情一区二区三区| 中文字幕亚洲一区二区av在线| 激情综合五月天| 69精品人人人人| 亚洲成在人线免费| 91久久精品国产91性色tv| 中文一区在线播放| 成人免费视频一区二区| 久久久www免费人成精品| 久久国产精品第一页| 91精品国产综合久久精品app| 亚洲第一电影网| 欧美伊人久久大香线蕉综合69| 亚洲色图视频网| 91色porny在线视频| 自拍偷拍亚洲综合| 99re亚洲国产精品| 亚洲欧美国产77777| 91在线你懂得| 亚洲丝袜自拍清纯另类| 色综合视频在线观看| 亚洲三级免费观看| 欧美视频一区二区三区| 天堂在线亚洲视频| 日韩一区二区不卡| 国产在线精品视频| 国产喷白浆一区二区三区| 国产mv日韩mv欧美| 国产精品欧美一级免费| 91丨九色丨蝌蚪富婆spa| 亚洲激情五月婷婷| 欧美精品一二三四| 激情久久久久久久久久久久久久久久| www国产成人| 91香蕉国产在线观看软件| 亚洲电影在线免费观看| 日韩欧美电影一二三| 国产麻豆视频精品| 亚洲精品日韩一| 欧美一级一级性生活免费录像| 精品一区二区三区在线播放视频| 久久九九国产精品| 色婷婷狠狠综合| 三级欧美在线一区| 久久精品免费在线观看| 色哟哟日韩精品| 热久久免费视频| 中文一区在线播放| 7777精品伊人久久久大香线蕉 | 日日摸夜夜添夜夜添精品视频| 日韩欧美区一区二| 91在线精品一区二区| 男人的j进女人的j一区| 国产精品国产馆在线真实露脸| 欧美色手机在线观看| 国产乱色国产精品免费视频| 一区二区视频在线| 精品国产乱码久久久久久蜜臀| 99精品国产91久久久久久| 欧美bbbbb| 亚洲日本一区二区| 精品av综合导航| 欧美午夜精品久久久| 国产不卡视频一区| 日本不卡不码高清免费观看| 日韩一区在线看| 久久久美女艺术照精彩视频福利播放| 精品婷婷伊人一区三区三| 国产精品一区二区黑丝| 日韩av电影免费观看高清完整版在线观看 | 精品一区二区三区在线播放 | 久久久www成人免费毛片麻豆| 欧美系列亚洲系列| av一区二区三区在线| 国产一区二区三区最好精华液| 亚洲成人av免费| 一区二区三区精品在线观看| 国产精品色呦呦| 国产欧美精品一区二区色综合| 日韩午夜激情免费电影| 欧美日韩国产精品成人| 色94色欧美sute亚洲线路二| 懂色av一区二区在线播放| 久久精品久久精品| 免费一级欧美片在线观看| 亚洲成人福利片| 一区二区三区91| 依依成人综合视频| 亚洲日本青草视频在线怡红院| 欧美国产精品一区| 国产偷国产偷精品高清尤物| 欧美tickling挠脚心丨vk| 日韩精品一区二区三区视频在线观看| 欧美日韩久久久| 欧美另类变人与禽xxxxx| 欧美日韩第一区日日骚| 欧美日韩免费在线视频| 欧美亚洲丝袜传媒另类| 欧美探花视频资源| 欧美人成免费网站| 91精品国产综合久久精品麻豆 | 91福利视频在线| 91久久国产最好的精华液| 欧美性大战久久久| 欧美日韩成人一区| 欧美一级欧美三级| 精品国产成人在线影院 | 紧缚奴在线一区二区三区| 激情六月婷婷久久| 成人h动漫精品一区二区| 成人动漫一区二区| 日本黄色一区二区| 欧美高清精品3d| 精品国产sm最大网站| 国产日韩欧美精品综合| 中文字幕一区日韩精品欧美| 亚洲精品网站在线观看| 亚洲二区视频在线| 国内精品写真在线观看| 成人av电影在线| 欧美日韩免费一区二区三区| 日韩免费视频一区| 国产精品白丝在线| 亚洲电影第三页| 国产精品一区三区| 91福利在线免费观看| 日韩欧美国产综合| 中文字幕一区av| 免费观看成人av| 成人av在线资源网| 欧美日韩一区在线| 久久精品夜色噜噜亚洲a∨| 中文字幕在线一区| 日韩av网站免费在线| 国产 欧美在线| 欧美视频三区在线播放| 久久久久久久性| 一卡二卡三卡日韩欧美| 精品夜夜嗨av一区二区三区| 成人18精品视频| 欧美va在线播放| 亚洲一区二区欧美| 国产成人av一区| 欧美一区二区三区免费在线看 | 欧美午夜精品理论片a级按摩| 精品久久国产老人久久综合| 亚洲最大的成人av| 国产成人欧美日韩在线电影| 欧美人妖巨大在线| 亚洲日本免费电影| 国产成人精品亚洲777人妖| 欧美另类z0zxhd电影| 亚洲婷婷综合久久一本伊一区| 久久精品国产999大香线蕉| 色婷婷精品大视频在线蜜桃视频| 精品女同一区二区| 亚洲va韩国va欧美va| 色综合天天综合网天天看片 | 欧美夫妻性生活| 自拍偷拍国产精品| 国产风韵犹存在线视精品| 日韩精品一区二区三区四区 | 国产精品短视频| 国产精品中文字幕一区二区三区| 欧美妇女性影城| 五月婷婷激情综合| 91久久精品午夜一区二区| 一区视频在线播放| 国产精品18久久久久久久久| 欧美大片一区二区三区| 日韩精品免费视频人成| 欧美性大战久久久久久久| 樱桃视频在线观看一区| 91免费小视频| 亚洲影视在线播放| 在线精品视频小说1| 一个色妞综合视频在线观看| 91丨九色丨蝌蚪丨老版| 亚洲欧美日韩在线不卡|