mirror of
https://github.com/RPCS3/yaml-cpp.git
synced 2026-01-31 01:25:20 +01:00
It seems that it's not necessary to export those members (as long as you can't access them), and most of them are STL instances, which apparently cause lots of problems for DLLs. (For example, you simply can't export instances of std::map; see http://support.microsoft.com/kb/168958.)
34 lines
935 B
C++
34 lines
935 B
C++
#ifndef CONVERSION_H_62B23520_7C8E_11DE_8A39_0800200C9A66
|
|
#define CONVERSION_H_62B23520_7C8E_11DE_8A39_0800200C9A66
|
|
|
|
#if !defined(__GNUC__) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || (__GNUC__ >= 4) // GCC supports "pragma once" correctly since 3.4
|
|
#pragma once
|
|
#endif
|
|
|
|
|
|
#include "yaml-cpp/null.h"
|
|
#include "yaml-cpp/traits.h"
|
|
#include <string>
|
|
#include <sstream>
|
|
|
|
namespace YAML
|
|
{
|
|
inline bool Convert(const std::string& input, std::string& output) {
|
|
output = input;
|
|
return true;
|
|
}
|
|
|
|
YAML_CPP_API bool Convert(const std::string& input, bool& output);
|
|
YAML_CPP_API bool Convert(const std::string& input, _Null& output);
|
|
|
|
template <typename T>
|
|
inline bool Convert(const std::string& input, T& output, typename enable_if<is_numeric<T> >::type * = 0) {
|
|
std::stringstream stream(input);
|
|
stream.unsetf(std::ios::dec);
|
|
stream >> output;
|
|
return !!stream;
|
|
}
|
|
}
|
|
|
|
#endif // CONVERSION_H_62B23520_7C8E_11DE_8A39_0800200C9A66
|