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

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

?? arguments.cpp

?? ViennaRNA-1.6.1
?? CPP
字號:
/* * Arguments 2.0 Beta - A Command Line Processing Library * Copyright (C) 2000, 2001 Jared Davis  * * This program is free software; you can redistribute it and/or modify it  * under the terms of the GNU General Public License as published by the  * Free Software Foundation; either version 2 of the License, or (at your  * option) any later version.  * * This program 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 General Public License  * for more details.  * * You should have received a copy of the GNU General Public License along  * with this program; if not, write to the Free Software Foundation, Inc.,  * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */#include "Arguments.h"#include <algorithm>std::vector<std::string> Arguments::s_spaceArgs;// // ExplodeString function// ----------------------//   Explodes a string into tokens, which it adds to a vector.//   (This function is taken from the AFA library, also by Jared Davis)//void Arguments::ExplodeString(const std::string& str, std::vector<std::string>& tokens, char delimiter) throw(std::bad_alloc){	string::size_type next, prev = 0;	do	{		next = str.find(delimiter, prev);				tokens.push_back( str.substr(prev, next - prev) );		prev = next + 1;	} while(next != string::npos);}// // findArgument// ------------//   Performs a binary search on the argument vector and returns the integer //   corresponding to the argument, if it exists.  Otherwise returns -1.//   arg is a pipe-delimited list of acceptable arguments.//int Arguments::findArgument(const string& arg) const throw(){	if (d_arguments.size() == 0)	{		return -1;	}	vector<std::string> tokens;	ExplodeString(arg, tokens, '|');	for(unsigned int i = 0;i < tokens.size();++i)	{		int low = 0;		int high = d_arguments.size() - 1;		while(low <= high)		{			unsigned int mid = (low + high) / 2;			if (tokens[i] < d_arguments[mid].first)				{				high = mid - 1;			}			else if (tokens[i] > d_arguments[mid].first) 			{				low = mid + 1;			}						else 			{				return mid;			}		}	}	return -1;}// // Arguments::setArgumentsWithSpaces// ---------------------------------//   Adds all tokens of the pipe-delimited string, args, to the//   spaces vector.  keeps the vector sorted.//void Arguments::setArgumentsWithSpaces(const string& args) throw(std::bad_alloc){	ExplodeString(args, s_spaceArgs, '|');	std::sort(s_spaceArgs.begin(), s_spaceArgs.end());}Arguments::Arguments(int argc, const char** argv) throw(std::bad_alloc){	// start at 1 to skip program's name.	for(int i = 1;i < argc;++i)   	{		// Extract this token.		string this_arg = argv[i];		// Try to find a colon or an equals sign.		string::size_type colon = this_arg.find(':');		if (colon == string::npos)		{			colon = this_arg.find('=');		}		// Add arg/val pair if we have a colon or equals sign.		if (colon != string::npos)		{			d_arguments.push_back(make_pair( 				this_arg.substr(0, colon), 				make_pair(this_arg.substr(colon + 1), true)			));			continue;		}		// If we get here, we didn't find a colon or an equals, we need to		// consult the spaces list.		if (i < (argc - 1))		{			if (std::binary_search(s_spaceArgs.begin(), s_spaceArgs.end(), this_arg))			{			  // if parameter value starts with "-" consider it as an option			  if(argv[i+1][0]=='-')			    {			      d_arguments.push_back(make_pair(							      this_arg, 							      make_pair(string(""), false)));			      continue;   // i is not incrented !!			    }			    			  else			    {			      d_arguments.push_back(make_pair(							      this_arg, 							      make_pair(argv[++i], true)							      ));			    			      continue;			    }			}		}		// If we get here, we either don't have a space, or we are at the last		// argument that we were passed, so we can't possibly have a value for 		// this argument. Throw it into the map with an empty value.		d_arguments.push_back(make_pair(			this_arg, 			make_pair(string(""), false)		));	}	// Now let's sort the argument list so it's fast to find them.	std::sort(d_arguments.begin(), d_arguments.end());}// // Arguments::size// ---------------//   Returns the number of command-line arguments that your program was passed. //   This is not the same as argc: it does not include your program's name, nor //   does it include the values passed to your command-line arguments. //unsigned int Arguments::size() const throw(){	return d_arguments.size();}// // Arguments::has// --------------//   Cycle through the tokens of argument and return true if any of them//   are found.//bool Arguments::has(const std::string& argument) const throw(std::bad_alloc){	return findArgument(argument) != -1;}/*#ifndef NDEBUG	#include <iostream>	void Arguments::debug() const	{		cout << "Arguments Debug Information-----\n" << endl;		cout << "Number of space-taking arguments: " << s_spaceArgs.size() << "\n\t";		copy(s_spaceArgs.begin(), s_spaceArgs.end(), ostream_iterator<string>(cout, "\n\t"));		cout << "Arguments Map: " << size() << " Elements. " << endl;		for(unsigned int i = 0;i < size();++i)		{			cout << "\t" << d_arguments[i].first << " = " << d_arguments[i].second.first << "   (" 				<< d_arguments[i].second.second << ")\n";		}		cout << "\n-----End of Arguments Debug Information" << endl;	}#endif*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕欧美三区| 精品三级在线看| 日本网站在线观看一区二区三区| 久久亚洲捆绑美女| 欧美性xxxxx极品少妇| 激情五月婷婷综合网| 亚洲电影在线免费观看| 久久久久久电影| 欧美一区二区免费| 色婷婷精品大在线视频| 国产高清不卡一区二区| 国产成a人亚洲精| 成人免费毛片a| www.性欧美| 91久久精品国产91性色tv| 91高清视频在线| 免费人成精品欧美精品| 麻豆精品久久精品色综合| 久久婷婷综合激情| 欧美在线视频不卡| 成人免费高清在线观看| 国产一区视频导航| 波波电影院一区二区三区| 奇米综合一区二区三区精品视频| √…a在线天堂一区| 国产日产欧产精品推荐色| 欧美精品一区在线观看| 91黄色免费观看| 国产a视频精品免费观看| 久久久精品免费免费| 色噜噜夜夜夜综合网| 91豆麻精品91久久久久久| 国产欧美精品一区二区三区四区| 韩国女主播成人在线| 91久久人澡人人添人人爽欧美| 国产色综合一区| 国产剧情av麻豆香蕉精品| 7777精品伊人久久久大香线蕉的 | 婷婷激情综合网| 亚洲人成人一区二区在线观看| 色综合久久中文字幕综合网| 国产精品一区二区你懂的| 成人av免费在线| 久久久久久久久久看片| 国产又黄又大久久| 久久在线观看免费| 精品一区免费av| 久久九九国产精品| 99精品1区2区| 五月天亚洲婷婷| 日韩欧美一级片| 国产综合久久久久影院| 国产精品久久久久久久久免费丝袜| 成人午夜av电影| 亚洲黄色免费电影| 欧美一卡二卡三卡四卡| 国产美女在线精品| 亚洲欧洲制服丝袜| 欧美另类z0zxhd电影| 精品亚洲成a人在线观看 | 欧美国产亚洲另类动漫| 福利电影一区二区| 综合婷婷亚洲小说| 欧美日韩大陆一区二区| 蜜臀av性久久久久蜜臀av麻豆| 久久久99免费| 欧美性受xxxx黑人xyx| 久久9热精品视频| 精品国产乱码久久久久久老虎| 国产欧美一区二区三区在线看蜜臀 | 激情另类小说区图片区视频区| 精品视频123区在线观看| 欧美日韩午夜在线视频| 国产剧情一区二区| 欧美精品一二三| 国产尤物一区二区在线| 自拍偷拍欧美精品| 日韩欧美在线不卡| 99视频在线精品| 久久精品国产99久久6| 亚洲免费高清视频在线| 欧美mv日韩mv| 欧美在线视频不卡| jiyouzz国产精品久久| 免费观看91视频大全| 亚洲欧美电影院| xnxx国产精品| 国产精品福利av| 国产精华液一区二区三区| 日本一区二区三区免费乱视频| 欧美日韩亚洲综合一区二区三区| 国产精品一级黄| 美女在线一区二区| 一区二区三区四区五区视频在线观看 | eeuss鲁片一区二区三区在线看| 亚洲成人激情av| 亚洲精选免费视频| 中文字幕中文字幕中文字幕亚洲无线| 日韩欧美成人激情| 欧美美女一区二区在线观看| 91黄视频在线观看| 99在线精品免费| 成人丝袜18视频在线观看| 国产一区二区不卡| 久久国产精品露脸对白| 日韩综合在线视频| 亚洲国产精品一区二区www| 亚洲精品免费在线| 一区二区三区国产精华| 椎名由奈av一区二区三区| 国产欧美久久久精品影院| 久久久美女毛片| 久久久精品2019中文字幕之3| 精品99一区二区三区| 日韩精品一区二区三区在线| 日韩午夜激情视频| 精品成a人在线观看| 久久久久青草大香线综合精品| 欧美α欧美αv大片| 精品国产91亚洲一区二区三区婷婷| 日韩欧美亚洲国产精品字幕久久久| 91精品欧美一区二区三区综合在| 555夜色666亚洲国产免| 91精品国产全国免费观看| 日韩一区二区精品| 日韩精品在线看片z| 国产亚洲精品福利| 综合久久综合久久| 亚洲精品乱码久久久久久| 亚洲影视在线观看| 毛片av一区二区三区| 国产乱人伦偷精品视频不卡| 成人永久免费视频| 色噜噜狠狠一区二区三区果冻| 欧美日韩一区三区| 日韩一区二区精品在线观看| 久久久不卡网国产精品一区| 日韩久久一区二区| 视频一区二区中文字幕| 极品少妇一区二区| 成人app软件下载大全免费| 蜜桃精品视频在线| 蜜臀99久久精品久久久久久软件| 免费成人美女在线观看| 国产毛片精品一区| 91片黄在线观看| 欧美一区国产二区| 国产情人综合久久777777| 一区二区三区四区亚洲| 激情文学综合网| 色视频成人在线观看免| 日韩欧美第一区| 亚洲美女区一区| 日韩av一区二区在线影视| 欧美日韩国产一区二区三区地区| 欧美日韩激情一区二区三区| 欧美mv日韩mv国产| 91麻豆福利精品推荐| 日本欧洲一区二区| 成人a级免费电影| 欧美日韩大陆在线| 国产精品色噜噜| 精品制服美女久久| 欧美中文字幕亚洲一区二区va在线 | 欧美精品色综合| 久久久久久久久久久久久久久99 | 日韩一区欧美一区| 美女一区二区三区在线观看| 91偷拍与自偷拍精品| 日韩情涩欧美日韩视频| 亚洲欧美视频在线观看视频| 国内一区二区视频| 91精品国产高清一区二区三区| 国产精品国产三级国产普通话三级| 日韩av二区在线播放| 在线影院国内精品| 亚洲国产激情av| 激情深爱一区二区| 日韩一区二区精品葵司在线| 亚洲精品国产成人久久av盗摄| 国产jizzjizz一区二区| 精品久久久久久久久久久院品网 | 9i在线看片成人免费| 欧美成人video| 亚洲r级在线视频| 一本一道波多野结衣一区二区| 国产精品你懂的| 国产成人高清在线| 亚洲精品在线观看视频| 蜜芽一区二区三区| 欧美另类久久久品| 天天做天天摸天天爽国产一区| 99国产精品久久久久久久久久| 国产精品一区二区男女羞羞无遮挡 | 亚洲成在人线在线播放| 国产精品二三区| 欧美日韩国产大片| 国产999精品久久久久久| 亚洲伊人伊色伊影伊综合网| 中文字幕一区视频|