mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 21:40:52 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.2 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_ENVIRONMENT_ITERATOR_VP_2004_05_14
 | 
						|
#define BOOST_ENVIRONMENT_ITERATOR_VP_2004_05_14
 | 
						|
 | 
						|
#include "eof_iterator.hpp"
 | 
						|
 | 
						|
#include <utility>
 | 
						|
#include <string>
 | 
						|
#include <cassert>
 | 
						|
 | 
						|
namespace boost {
 | 
						|
 | 
						|
    class environment_iterator 
 | 
						|
        : public eof_iterator<environment_iterator, 
 | 
						|
                              std::pair<std::string, std::string> >
 | 
						|
    {
 | 
						|
    public:
 | 
						|
        environment_iterator(char** environment)
 | 
						|
        : m_environment(environment)
 | 
						|
        {
 | 
						|
            get();
 | 
						|
        }
 | 
						|
        
 | 
						|
        environment_iterator()
 | 
						|
        {
 | 
						|
            found_eof();
 | 
						|
        }
 | 
						|
        
 | 
						|
        void get()
 | 
						|
        {
 | 
						|
            if (*m_environment == 0)
 | 
						|
                found_eof();
 | 
						|
            else {
 | 
						|
                std::string s(*m_environment);
 | 
						|
                std::string::size_type n = s.find('=');
 | 
						|
                assert(n != s.npos);
 | 
						|
                value().first = s.substr(0, n);
 | 
						|
                value().second = s.substr(n+1);
 | 
						|
                
 | 
						|
                ++m_environment;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        
 | 
						|
    private:
 | 
						|
        char** m_environment;
 | 
						|
    };
 | 
						|
}
 | 
						|
#endif
 |