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

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

?? getpot.h

?? linux下實現視頻播放的播放器
?? H
?? 第 1 頁 / 共 5 頁
字號:
//  -*- c++ -*-//  GetPot Version $$Version$$                                    $$Date$$////  WEBSITE: http://getpot.sourceforge.net////  NOTE: The LPGL License for this library is only valid in case that //        it is not used for the production or development of applications//        dedicated to military industry. This is what the author calls//        the 'unofficial peace version of the LPGL'.////  This library is  free software; you can redistribute  it and/or modify//  it  under  the terms  of  the GNU  Lesser  General  Public License  as//  published by the  Free Software Foundation; either version  2.1 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//  Lesser General Public License for more details.////  You  should have  received a  copy of  the GNU  Lesser  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////  (C) 2001-2005 Frank R. Schaefer <fschaef@users.sf.net>//==========================================================================#ifndef __include_guard_GETPOT_H__#define __include_guard_GETPOT_H__#if defined(WIN32) || defined(SOLARIS_RAW) || (__GNUC__ == 2) || defined(__HP_aCC)#define strtok_r(a, b, c) strtok(a, b)#endif // WINDOWS or SOLARIS or gcc 2.* or HP aCCextern "C" {//   leave the 'extern C' to make it 100% sure to work -//   expecially with older distributions of header files.#ifndef WIN32// this is necessary (depending on OS)#include <ctype.h>#endif#include <stdio.h>#include <stdarg.h>#include <assert.h>}#include <cmath>#include <string>#include <vector>#include <algorithm>#include <fstream>#include <iostream> // not every compiler distribution includes <iostream> //                  // with <fstream>typedef  std::vector<std::string>  STRING_VECTOR;#define victorate(TYPE, VARIABLE, ITERATOR)                        \  std::vector<TYPE>::const_iterator ITERATOR = (VARIABLE).begin(); \  for(; (ITERATOR) != (VARIABLE).end(); (ITERATOR)++)class GetPot {    //--------    inline void __basic_initialization();public:    // (*) constructors, destructor, assignment operator -----------------------    inline GetPot();    inline GetPot(const GetPot&);    inline GetPot(const int argc_, char** argv_, 		  const char* FieldSeparator=0x0);    inline GetPot(const char* FileName, 		  const char* CommentStart=0x0, const char* CommentEnd=0x0,		  const char* FieldSeparator=0x0);    inline ~GetPot();    inline GetPot& operator=(const GetPot&);    // (*) absorbing contents of another GetPot object    inline void            absorb(const GetPot& That);    //     -- for ufo detection: recording requested arguments, options etc.    inline void            clear_requests();    inline void            disable_request_recording() { __request_recording_f = false; }    inline void            enable_request_recording()  { __request_recording_f = true; }    // (*) direct access to command line arguments -----------------------------    inline const std::string    operator[](unsigned Idx) const;    inline int                  get(unsigned Idx, int           Default) const;    inline double               get(unsigned Idx, const double& Default) const;    inline const std::string    get(unsigned Idx, const char*   Default) const;    inline unsigned             size() const;    // (*) flags ---------------------------------------------------------------    inline bool            options_contain(const char* FlagList) const;    inline bool            argument_contains(unsigned Idx, const char* FlagList) const;    // (*) variables -----------------------------------------------------------    //     -- scalar values    inline int                operator()(const char* VarName, int           Default) const;    inline double             operator()(const char* VarName, const double& Default) const;    inline const std::string  operator()(const char* VarName, const char*   Default) const;    //     -- vectors    inline int                operator()(const char* VarName, int Default, unsigned Idx) const;    inline double             operator()(const char* VarName, const double& Default, unsigned Idx) const;    inline const std::string  operator()(const char* VarName, const char* Default, unsigned Idx) const;    //     -- setting variables    //                  i) from outside of GetPot (considering prefix etc.)    //                  ii) from inside, use '__set_variable()' below    inline void            set(const char* VarName, const char* Value, const bool Requested = true);    inline void            set(const char* VarName, const double& Value, const bool Requested = true);    inline void            set(const char* VarName, const int Value, const bool Requested = true);        inline unsigned        vector_variable_size(const char* VarName) const;    inline STRING_VECTOR   get_variable_names() const;    inline STRING_VECTOR   get_section_names() const;        // (*) cursor oriented functions -------------------------------------------    inline void            set_prefix(const char* Prefix) { prefix = std::string(Prefix); }    inline bool            search_failed() const { return search_failed_f; }    //     -- enable/disable search for an option in loop    inline void            disable_loop() { search_loop_f = false; }    inline void            enable_loop()  { search_loop_f = true; }    //     -- reset cursor to position '1'    inline void            reset_cursor();    inline void            init_multiple_occurrence();    //     -- search for a certain option and set cursor to position    inline bool            search(const char* option);    inline bool            search(unsigned No, const char* P, ...);    //     -- get argument at cursor++    inline int                next(int           Default);    inline double             next(const double& Default);    inline const std::string  next(const char*   Default);    //     -- search for option and get argument at cursor++    inline int                follow(int           Default, const char* Option);    inline double             follow(const double& Default, const char* Option);    inline const std::string  follow(const char*   Default, const char* Option);    //     -- search for one of the given options and get argument that follows it    inline int                follow(int           Default, unsigned No, const char* Option, ...);    inline double             follow(const double& Default, unsigned No, const char* Option, ...);    inline const std::string  follow(const char*   Default, unsigned No, const char* Option, ...);    //     -- lists of nominuses following an option    inline std::vector<std::string> nominus_followers(const char* Option);    inline std::vector<std::string> nominus_followers(unsigned No, ...);    //     -- directly followed arguments    inline int                direct_follow(int           Default, const char* Option);    inline double             direct_follow(const double& Default, const char* Option);    inline const std::string  direct_follow(const char*   Default, const char* Option);    inline std::vector<std::string>  string_tails(const char* StartString);    inline std::vector<int>          int_tails(const char* StartString, const int Default = 1);    inline std::vector<double>       double_tails(const char* StartString, const double Default = 1.0);    // (*) nominus arguments ---------------------------------------------------    inline STRING_VECTOR   nominus_vector() const;    inline unsigned        nominus_size() const  { return static_cast<unsigned int>(idx_nominus.size()); }    inline std::string     next_nominus();    // (*) unidentified flying objects -----------------------------------------    inline STRING_VECTOR   unidentified_arguments(unsigned Number, const char* Known, ...) const;    inline STRING_VECTOR   unidentified_arguments(const STRING_VECTOR& Knowns) const;    inline STRING_VECTOR   unidentified_arguments() const;    inline STRING_VECTOR   unidentified_options(unsigned Number, const char* Known, ...) const;    inline STRING_VECTOR   unidentified_options(const STRING_VECTOR& Knowns) const;    inline STRING_VECTOR   unidentified_options() const;    inline std::string     unidentified_flags(const char* Known,					     int ArgumentNumber /* =-1 */) const;    inline STRING_VECTOR   unidentified_variables(unsigned Number, const char* Known, ...) const;    inline STRING_VECTOR   unidentified_variables(const STRING_VECTOR& Knowns) const;    inline STRING_VECTOR   unidentified_variables() const;    inline STRING_VECTOR   unidentified_sections(unsigned Number, const char* Known, ...) const;    inline STRING_VECTOR   unidentified_sections(const STRING_VECTOR& Knowns) const;    inline STRING_VECTOR   unidentified_sections() const;    inline STRING_VECTOR   unidentified_nominuses(unsigned Number, const char* Known, ...) const;    inline STRING_VECTOR   unidentified_nominuses(const STRING_VECTOR& Knowns) const;    inline STRING_VECTOR   unidentified_nominuses() const;    // (*) output --------------------------------------------------------------    inline int print() const;private:    // (*) Type Declaration ----------------------------------------------------    struct variable {	//-----------	// Variable to be specified on the command line or in input files.	// (i.e. of the form var='12 312 341')	// -- constructors, destructors, assignment operator	variable();	variable(const variable&);	variable(const char* Name, const char* Value, const char* FieldSeparator);	~variable();	variable& operator=(const variable& That);	void      take(const char* Value, const char* FieldSeparator);	// -- get a specific element in the string vector	//    (return 0 if not present)	const std::string*  get_element(unsigned Idx) const;	// -- data memebers	std::string       name;      // identifier of variable	STRING_VECTOR     value;     // value of variable stored in vector	std::string       original;  // value of variable as given on command line    };    // (*) member variables --------------------------------------------------------------    std::string           prefix;          // prefix automatically added in queries    std::string           section;         // (for dollar bracket parsing)    STRING_VECTOR         section_list;    // list of all parsed sections    //     -- argument vector    STRING_VECTOR         argv;            // vector of command line arguments stored as strings    unsigned              cursor;          // cursor for argv    bool                  search_loop_f;   // shall search start at beginning after    //                                     // reaching end of arg array ?    bool                  search_failed_f; // flag indicating a failed search() operation    //                                     // (e.g. next() functions react with 'missed')    //     --  nominus vector    int                   nominus_cursor;  // cursor for nominus_pointers    std::vector<unsigned> idx_nominus;     // indecies of 'no minus' arguments    //     -- variables    //       (arguments of the form "variable=value")    std::vector<variable> variables;        //     -- comment delimiters    std::string           _comment_start;    std::string           _comment_end;    //     -- field separator (separating elements of a vector)    std::string           _field_separator;    //     -- some functions return a char pointer to a temporarily existing string    //        this container makes them 'available' until the getpot object is destroyed.    std::vector<char*>    __internal_string_container;    //     -- keeping track about arguments that are requested, so that the UFO detection    //        can be simplified    STRING_VECTOR   _requested_arguments;    STRING_VECTOR   _requested_variables;    STRING_VECTOR   _requested_sections;    bool            __request_recording_f;   // speed: request recording can be turned off    //     -- if an argument is requested record it and the 'tag' the section branch to which     //        it belongs. Caution: both functions mark the sections as 'tagged'.    void                      __record_argument_request(const std::string& Arg);    void                      __record_variable_request(const std::string& Arg);    // (*) helper functions ----------------------------------------------------    //                  set variable from inside GetPot (no prefix considered)    inline void               __set_variable(const char* VarName, const char* Value);    //     -- produce three basic data vectors:    //          - argument vector    //          - nominus vector    //          - variable dictionary    inline void               __parse_argument_vector(const STRING_VECTOR& ARGV);    //     -- helpers for argument list processing    //        * search for a variable in 'variables' array    inline const variable*    __find_variable(const char*) const;    //        * support finding directly followed arguments    inline const char*        __match_starting_string(const char* StartString);    //        * support search for flags in a specific argument    inline bool               __check_flags(const std::string& Str, const char* FlagList) const;    //        * type conversion if possible    inline int                __convert_to_type(const std::string& String, int Default) const;    inline double             __convert_to_type(const std::string& String, double Default) const;    //        * prefix extraction    const std::string         __get_remaining_string(const std::string& String, 						     const std::string& Start) const;    //        * search for a specific string    inline bool               __search_string_vector(const STRING_VECTOR& Vec,						     const std::string& Str) const;    //     -- helpers to parse input file    //        create an argument vector based on data found in an input file, i.e.:    //           1) delete comments (in between '_comment_start' '_comment_end')    //           2) contract assignment expressions, such as    //                   my-variable   =    '007 J. B.'    //             into    //                   my-variable='007 J. B.'    //           3) interprete sections like '[../my-section]' etc.    inline void               __skip_whitespace(std::istream& istr);    inline const std::string  __get_next_token(std::istream& istr);    inline const std::string  __get_string(std::istream& istr);    inline const std::string  __get_until_closing_bracket(std::istream& istr);    inline STRING_VECTOR      __read_in_stream(std::istream& istr);    inline STRING_VECTOR      __read_in_file(const char* FileName);    inline std::string        __process_section_label(const std::string& Section,						      STRING_VECTOR& section_stack);    //      -- dollar bracket expressions    std::string               __DBE_expand_string(const std::string str);    std::string               __DBE_expand(const std::string str);    const GetPot::variable*   __DBE_get_variable(const std::string str);    STRING_VECTOR             __DBE_get_expr_list(const std::string str, const unsigned ExpectedNumber);    std::string  __double2string(const double& Value) const {	// -- converts a double integer into a string	char* tmp = new char[128];#ifndef WIN32	snprintf(tmp, (int)sizeof(char)*128, "%e", Value);#else	_snprintf(tmp, sizeof(char)*128, "%e", Value);#endif	std::string result(tmp);	delete [] tmp;	return result;    }    std::string  __int2string(const int& Value) const {	// -- converts an integer into a string	char* tmp = new char[128];#ifndef WIN32	snprintf(tmp, (int)sizeof(char)*128, "%i", Value);#else	_snprintf(tmp, sizeof(char)*128, "%i", Value);#endif	std::string result(tmp);	delete [] tmp;	return result;    }    STRING_VECTOR __get_section_tree(const std::string& FullPath) {	// -- cuts a variable name into a tree of sub-sections. this is requested for recording	//    requested sections when dealing with 'ufo' detection.	STRING_VECTOR   result;	const char* Start = FullPath.c_str();	for(char *p = (char*)Start; *p ; p++) {	    if( *p == '/' ) { 		*p = '\0';  // set terminating zero for convinience		const std::string Section = Start;		*p = '/';   // reset slash at place		result.push_back(Section);	    }	}	return result;    }};///////////////////////////////////////////////////////////////////////////////// (*) constructors, destructor, assignment operator//.............................................................................//inline voidGetPot::__basic_initialization(){    cursor = 0;              nominus_cursor = -1;    search_failed_f = true;  search_loop_f = true;    prefix = "";             section = "";        // automatic request recording for later ufo detection    __request_recording_f = true;    // comment start and end strings    _comment_start = std::string("#");    _comment_end   = std::string("\n");    // default: separate vector elements by whitespaces    _field_separator = " \t\n";}inlineGetPot::GetPot() {     __basic_initialization();     STRING_VECTOR _apriori_argv;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费视频中文字幕| 国产精品久久久久久久久动漫 | 亚洲精品欧美激情| 久久青草欧美一区二区三区| 91成人网在线| 波多野结衣亚洲一区| 欧美国产在线观看| 成人美女在线视频| 久久99在线观看| 亚洲精品乱码久久久久久黑人| 欧美在线短视频| 日韩av成人高清| 最近中文字幕一区二区三区| 日韩欧美国产系列| 欧美日韩国产一二三| 日韩久久精品一区| 色综合久久久网| 国产原创一区二区三区| 男女男精品网站| 午夜日韩在线观看| 亚洲视频免费观看| 国产精品视频一二三| 久久久精品影视| 精品国产乱码久久| 91美女蜜桃在线| 国产九色精品成人porny| 午夜激情综合网| 亚洲自拍另类综合| 亚洲二区在线视频| 一区二区三区 在线观看视频| 亚洲视频图片小说| 亚洲免费av网站| 国产精品久久久久久亚洲伦 | 成人av午夜电影| jlzzjlzz亚洲日本少妇| 国产精品一区二区男女羞羞无遮挡| 免费看欧美美女黄的网站| 男人的j进女人的j一区| 一区二区三区中文字幕电影| 国产精品成人免费| 日本一区二区三区dvd视频在线 | 91影院在线免费观看| 国产精品77777| 国产传媒一区在线| 不卡一区二区在线| 91在线观看污| 94-欧美-setu| 欧美性大战久久| 欧美日韩在线不卡| 精品国产91久久久久久久妲己| www久久久久| 欧美激情艳妇裸体舞| 亚洲狠狠丁香婷婷综合久久久| 五月激情综合婷婷| 久久国产尿小便嘘嘘尿| 国产91精品一区二区| 欧美性感一区二区三区| 日韩一区二区三区电影在线观看| 欧美一级片免费看| 国产精品视频一二三| 亚洲国产成人va在线观看天堂| 蜜桃视频免费观看一区| 成人伦理片在线| 欧美精品一区视频| 婷婷丁香激情综合| 成人黄色小视频在线观看| 4438亚洲最大| 亚洲国产中文字幕| 成人免费av在线| 久久亚洲精华国产精华液| 婷婷综合五月天| 日本精品一区二区三区四区的功能| 欧美经典一区二区| 国产在线精品国自产拍免费| 欧美日韩成人一区| 亚洲精选在线视频| 不卡的av网站| 国产日韩v精品一区二区| 免费精品99久久国产综合精品| 欧美日韩国产一级片| 一区二区三区免费在线观看| 欧美精品一区二区久久婷婷| 久久99国产精品久久| 欧美电影免费提供在线观看| 蜜桃91丨九色丨蝌蚪91桃色| 日韩免费性生活视频播放| 国产精品996| 一区二区三区自拍| 国产欧美一区二区在线观看| 欧美亚洲一区二区在线| 秋霞电影网一区二区| 久久精品水蜜桃av综合天堂| 成人一区二区视频| 亚洲二区视频在线| 日韩免费视频线观看| eeuss鲁片一区二区三区 | 亚洲欧美日韩国产手机在线 | 亚洲电影视频在线| 精品欧美久久久| 狠狠色丁香婷婷综合| 亚洲一区二区三区国产| 日韩精品一卡二卡三卡四卡无卡| 日韩欧美成人一区二区| 成人一道本在线| 日韩国产高清影视| 亚洲美女少妇撒尿| 久久久精品蜜桃| 欧美日韩一区中文字幕| 国产乱子伦一区二区三区国色天香| 中文字幕精品一区二区精品绿巨人| 91久久一区二区| 久久精品国产在热久久| 亚洲人成影院在线观看| 亚洲精品一区二区三区精华液 | 日韩美女精品在线| 欧美一区二区三区视频在线| 成人精品视频一区| 久久精品国产精品亚洲精品| 亚洲电影视频在线| 综合自拍亚洲综合图不卡区| 欧美电视剧在线观看完整版| 欧洲一区二区av| 成人一区二区三区中文字幕| 久久国产精品99久久久久久老狼| 亚洲成va人在线观看| 樱花影视一区二区| 亚洲图片另类小说| 久久久久国产精品麻豆| 日韩免费一区二区三区在线播放| 欧美日本在线视频| 91香蕉视频黄| 成人av网站在线观看免费| 成人av在线播放网站| 国产一区二区精品久久99| 精品影院一区二区久久久| 精品中文av资源站在线观看| 国产中文字幕一区| 日韩激情一二三区| 亚洲国产婷婷综合在线精品| 亚洲激情男女视频| 亚洲国产视频直播| 亚洲成人av电影| 亚洲图片一区二区| 午夜精品久久久久久久蜜桃app| 一区二区三区视频在线看| 亚洲欧美成aⅴ人在线观看| 亚洲日韩欧美一区二区在线| 亚洲美腿欧美偷拍| 亚洲一区二区不卡免费| 日韩激情视频在线观看| 免费成人av在线| 国产电影精品久久禁18| 成人在线视频一区二区| 99久久伊人精品| 欧美色成人综合| 精品久久五月天| 国产精品理伦片| 亚洲一二三四在线| 免费在线观看成人| 国产成人午夜视频| 91免费国产在线观看| 欧美放荡的少妇| 国产午夜三级一区二区三| 国产精品一区专区| 成人免费va视频| 欧美亚洲综合另类| 久久久久免费观看| 亚洲国产成人精品视频| 国精品**一区二区三区在线蜜桃| 99久久免费视频.com| 欧美色精品在线视频| 欧美国产视频在线| 日韩精品国产欧美| 97久久精品人人做人人爽| 欧美美女一区二区三区| 日韩欧美一区二区免费| 亚洲与欧洲av电影| 国产在线精品一区二区不卡了 | 欧美高清你懂得| 国产精品免费免费| 日本亚洲电影天堂| 色综合天天天天做夜夜夜夜做| 精品少妇一区二区三区在线视频| 亚洲三级在线免费观看| 九九久久精品视频| 91精品啪在线观看国产60岁| 日韩理论片网站| 国产乱码精品一区二区三区av| 欧美精品丝袜久久久中文字幕| 亚洲色图20p| 不卡的av网站| 日韩免费视频一区二区| 日韩av不卡在线观看| 欧美日韩一区二区电影| 亚洲日本欧美天堂| 欧亚洲嫩模精品一区三区| 亚洲精品乱码久久久久久久久 | 亚洲精品乱码久久久久久黑人 | 国产高清精品在线| 91同城在线观看|