summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-04-11 18:19:17 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-04-11 19:20:07 (GMT)
commit857e44c156a1dbefcb49bb5792c4384cebd8762a (patch)
tree11947fb81ad9c502627f1b2bb8f090fb8d53c107 /3rdParty/Boost/src/boost/exception/to_string.hpp
parent77d4eb7588e113beaa03f3347523b26adefdeb06 (diff)
downloadswift-857e44c156a1dbefcb49bb5792c4384cebd8762a.zip
swift-857e44c156a1dbefcb49bb5792c4384cebd8762a.tar.bz2
Updated Boost to 1.42.
Diffstat (limited to '3rdParty/Boost/src/boost/exception/to_string.hpp')
-rw-r--r--3rdParty/Boost/src/boost/exception/to_string.hpp83
1 files changed, 83 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/exception/to_string.hpp b/3rdParty/Boost/src/boost/exception/to_string.hpp
new file mode 100644
index 0000000..59bf83d
--- /dev/null
+++ b/3rdParty/Boost/src/boost/exception/to_string.hpp
@@ -0,0 +1,83 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
+
+//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 UUID_7E48761AD92811DC9011477D56D89593
+#define UUID_7E48761AD92811DC9011477D56D89593
+#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#pragma GCC system_header
+#endif
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#pragma warning(push,1)
+#endif
+
+#include <boost/utility/enable_if.hpp>
+#include <boost/exception/detail/is_output_streamable.hpp>
+#include <sstream>
+
+namespace
+boost
+ {
+ namespace
+ to_string_detail
+ {
+ template <class T>
+ typename disable_if<is_output_streamable<T>,char>::type to_string( T const & );
+
+ template <class,bool IsOutputStreamable>
+ struct has_to_string_impl;
+
+ template <class T>
+ struct
+ has_to_string_impl<T,true>
+ {
+ enum e { value=1 };
+ };
+
+ template <class T>
+ struct
+ has_to_string_impl<T,false>
+ {
+ static T const & f();
+ enum e { value=1!=sizeof(to_string(f())) };
+ };
+ }
+
+ template <class T>
+ inline
+ typename enable_if<is_output_streamable<T>,std::string>::type
+ to_string( T const & x )
+ {
+ std::ostringstream out;
+ out << x;
+ return out.str();
+ }
+
+ template <class T>
+ struct
+ has_to_string
+ {
+ enum e { value=to_string_detail::has_to_string_impl<T,is_output_streamable<T>::value>::value };
+ };
+
+ template <class T,class U>
+ inline
+ std::string
+ to_string( std::pair<T,U> const & x )
+ {
+ return std::string("(") + to_string(x.first) + ',' + to_string(x.second) + ')';
+ }
+
+ inline
+ std::string
+ to_string( std::exception const & x )
+ {
+ return x.what();
+ }
+ }
+
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#pragma warning(pop)
+#endif
+#endif