mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-04 05:50:31 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			71 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// Copyright Vladimir Prus 2004.
 | 
						|
// Distributed under the Boost Software License, Version 1.0.
 | 
						|
// (See accompanying file LICENSE_1_0.txt
 | 
						|
// or copy at http://www.boost.org/LICENSE_1_0.txt)
 | 
						|
 | 
						|
#ifndef BOOST_OPTION_HPP_VP_2004_02_25
 | 
						|
#define BOOST_OPTION_HPP_VP_2004_02_25
 | 
						|
 | 
						|
#include <boost/program_options/config.hpp>
 | 
						|
 | 
						|
#include <string>
 | 
						|
#include <vector>
 | 
						|
 | 
						|
namespace boost { namespace program_options {
 | 
						|
 | 
						|
    /** Option found in input source.
 | 
						|
        Contains a key and a value. The key, in turn, can be a string (name of
 | 
						|
        an option), or an integer (position in input source) \-- in case no name
 | 
						|
        is specified. The latter is only possible for command line.
 | 
						|
        The template parameter specifies the type of char used for storing the
 | 
						|
        option's value.
 | 
						|
    */
 | 
						|
    template<class charT>
 | 
						|
    class basic_option {
 | 
						|
    public:
 | 
						|
        basic_option() 
 | 
						|
        : position_key(-1)
 | 
						|
        , unregistered(false) 
 | 
						|
        , case_insensitive(false)
 | 
						|
        {}
 | 
						|
        basic_option(const std::string& xstring_key, 
 | 
						|
               const std::vector< std::string> &xvalue)
 | 
						|
        : string_key(xstring_key)
 | 
						|
        , value(xvalue)
 | 
						|
        , unregistered(false)
 | 
						|
        , case_insensitive(false)
 | 
						|
        {}
 | 
						|
 | 
						|
        /** String key of this option. Intentionally independent of the template
 | 
						|
            parameter. */
 | 
						|
        std::string string_key;
 | 
						|
        /** Position key of this option. All options without an explicit name are
 | 
						|
            sequentially numbered starting from 0. If an option has explicit name,
 | 
						|
            'position_key' is equal to -1. It is possible that both
 | 
						|
            position_key and string_key is specified, in case name is implicitly
 | 
						|
            added.
 | 
						|
         */
 | 
						|
        int position_key;
 | 
						|
        /** Option's value */
 | 
						|
        std::vector< std::basic_string<charT> > value;
 | 
						|
        /** The original unchanged tokens this option was
 | 
						|
            created from. */
 | 
						|
        std::vector< std::basic_string<charT> > original_tokens;
 | 
						|
        /** True if option was not recognized. In that case,
 | 
						|
            'string_key' and 'value' are results of purely
 | 
						|
            syntactic parsing of source. The original tokens can be
 | 
						|
            recovered from the "original_tokens" member.
 | 
						|
        */
 | 
						|
        bool unregistered;
 | 
						|
        /** True if string_key has to be handled
 | 
						|
            case insensitive.
 | 
						|
        */
 | 
						|
        bool case_insensitive;
 | 
						|
    };
 | 
						|
    typedef basic_option<char> option;
 | 
						|
    typedef basic_option<wchar_t> woption;
 | 
						|
 | 
						|
}}
 | 
						|
 | 
						|
#endif
 |