conversion.h 935 Bytes
Newer Older
1
2
3
#ifndef CONVERSION_H_62B23520_7C8E_11DE_8A39_0800200C9A66
#define CONVERSION_H_62B23520_7C8E_11DE_8A39_0800200C9A66

4
5
6
7
#if !defined(__GNUC__) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || (__GNUC__ >= 4) // GCC supports "pragma once" correctly since 3.4
#pragma once
#endif

8

9
10
#include "yaml-cpp/null.h"
#include "yaml-cpp/traits.h"
11
12
13
14
15
#include <string>
#include <sstream>

namespace YAML
{
16
	inline bool Convert(const std::string& input, std::string& output) {
17
18
19
		output = input;
		return true;
	}
20
	
21
22
	YAML_CPP_API bool Convert(const std::string& input, bool& output);
	YAML_CPP_API bool Convert(const std::string& input, _Null& output);
23
	
24
	template <typename T> 
25
	inline bool Convert(const std::string& input, T& output, typename enable_if<is_numeric<T> >::type * = 0) {
26
27
		std::stringstream stream(input);
		stream.unsetf(std::ios::dec);
28
29
		stream >> output;
		return !!stream;
30
	}
31
}
32
33

#endif // CONVERSION_H_62B23520_7C8E_11DE_8A39_0800200C9A66