summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/boost/exception/exception.hpp')
-rw-r--r--3rdParty/Boost/src/boost/exception/exception.hpp96
1 files changed, 61 insertions, 35 deletions
diff --git a/3rdParty/Boost/src/boost/exception/exception.hpp b/3rdParty/Boost/src/boost/exception/exception.hpp
index 6df93ac..79b2739 100644
--- a/3rdParty/Boost/src/boost/exception/exception.hpp
+++ b/3rdParty/Boost/src/boost/exception/exception.hpp
@@ -5,6 +5,12 @@
#ifndef UUID_274DA366004E11DCB1DDFE2E56D89593
#define UUID_274DA366004E11DCB1DDFE2E56D89593
+#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
namespace
boost
@@ -80,13 +86,13 @@ boost
template <class Tag,class T>
class error_info;
- typedef error_info<struct tag_throw_function,char const *> throw_function;
- typedef error_info<struct tag_throw_file,char const *> throw_file;
- typedef error_info<struct tag_throw_line,int> throw_line;
+ typedef error_info<struct throw_function_,char const *> throw_function;
+ typedef error_info<struct throw_file_,char const *> throw_file;
+ typedef error_info<struct throw_line_,int> throw_line;
template <>
class
- error_info<tag_throw_function,char const *>
+ error_info<throw_function_,char const *>
{
public:
typedef char const * value_type;
@@ -100,7 +106,7 @@ boost
template <>
class
- error_info<tag_throw_file,char const *>
+ error_info<throw_file_,char const *>
{
public:
typedef char const * value_type;
@@ -114,7 +120,7 @@ boost
template <>
class
- error_info<tag_throw_line,int>
+ error_info<throw_line_,int>
{
public:
typedef int value_type;
@@ -129,6 +135,15 @@ boost
template <class E,class Tag,class T>
E const & operator<<( E const &, error_info<Tag,T> const & );
+ template <class E>
+ E const & operator<<( E const &, throw_function const & );
+
+ template <class E>
+ E const & operator<<( E const &, throw_file const & );
+
+ template <class E>
+ E const & operator<<( E const &, throw_line const & );
+
class exception;
template <class>
@@ -143,15 +158,14 @@ boost
struct
error_info_container
{
- virtual char const * diagnostic_information() const = 0;
- virtual shared_ptr<error_info_base const> get( type_info_ const & ) const = 0;
- virtual void set( shared_ptr<error_info_base const> const &, type_info_ const & ) = 0;
+ virtual char const * diagnostic_information( char const * ) const = 0;
+ virtual shared_ptr<error_info_base> get( type_info_ const & ) const = 0;
+ virtual void set( shared_ptr<error_info_base> const &, type_info_ const & ) = 0;
virtual void add_ref() const = 0;
virtual void release() const = 0;
protected:
- virtual
~error_info_container() throw()
{
}
@@ -169,7 +183,7 @@ boost
template <>
struct get_info<throw_line>;
- char const * get_diagnostic_information( exception const & );
+ char const * get_diagnostic_information( exception const &, char const * );
}
class
@@ -202,36 +216,21 @@ boost
#endif
;
+#if defined(__MWERKS__) && __MWERKS__<=0x3207
+ public:
+#else
private:
template <class E>
- friend
- E const &
- operator<<( E const & x, throw_function const & y )
- {
- x.throw_function_=y.v_;
- return x;
- }
+ friend E const & operator<<( E const &, throw_function const & );
template <class E>
- friend
- E const &
- operator<<( E const & x, throw_file const & y )
- {
- x.throw_file_=y.v_;
- return x;
- }
+ friend E const & operator<<( E const &, throw_file const & );
template <class E>
- friend
- E const &
- operator<<( E const & x, throw_line const & y )
- {
- x.throw_line_=y.v_;
- return x;
- }
+ friend E const & operator<<( E const &, throw_line const & );
- friend char const * exception_detail::get_diagnostic_information( exception const & );
+ friend char const * exception_detail::get_diagnostic_information( exception const &, char const * );
template <class E,class Tag,class T>
friend E const & operator<<( E const &, error_info<Tag,T> const & );
@@ -241,7 +240,7 @@ boost
friend struct exception_detail::get_info<throw_function>;
friend struct exception_detail::get_info<throw_file>;
friend struct exception_detail::get_info<throw_line>;
-
+#endif
mutable exception_detail::refcount_ptr<exception_detail::error_info_container> data_;
mutable char const * throw_function_;
mutable char const * throw_file_;
@@ -254,6 +253,30 @@ boost
{
}
+ template <class E>
+ E const &
+ operator<<( E const & x, throw_function const & y )
+ {
+ x.throw_function_=y.v_;
+ return x;
+ }
+
+ template <class E>
+ E const &
+ operator<<( E const & x, throw_file const & y )
+ {
+ x.throw_file_=y.v_;
+ return x;
+ }
+
+ template <class E>
+ E const &
+ operator<<( E const & x, throw_line const & y )
+ {
+ x.throw_line_=y.v_;
+ return x;
+ }
+
////////////////////////////////////////////////////////////////////////
namespace
@@ -303,7 +326,7 @@ boost
struct
enable_error_info_return_type
{
- typedef typename enable_error_info_helper<T,sizeof(dispatch((T*)0))>::type type;
+ typedef typename enable_error_info_helper<T,sizeof(exception_detail::dispatch((T*)0))>::type type;
};
}
@@ -393,4 +416,7 @@ boost
}
}
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#pragma warning(pop)
+#endif
#endif