|
@@ -54,6 +54,7 @@ public:
|
|
|
|
|
|
_LIBCPP_BEGIN_NAMESPACE_STD
|
|
|
|
|
|
+#ifndef _LIBCPP_ABI_VCRUNTIME
|
|
|
class _LIBCPP_HIDDEN __libcpp_refstring
|
|
|
{
|
|
|
const char* __imp_;
|
|
@@ -67,6 +68,7 @@ public:
|
|
|
|
|
|
const char* c_str() const _NOEXCEPT {return __imp_;}
|
|
|
};
|
|
|
+#endif // !_LIBCPP_ABI_VCRUNTIME
|
|
|
|
|
|
_LIBCPP_END_NAMESPACE_STD
|
|
|
|
|
@@ -76,6 +78,7 @@ namespace std // purposefully not using versioning namespace
|
|
|
class _LIBCPP_EXCEPTION_ABI logic_error
|
|
|
: public exception
|
|
|
{
|
|
|
+#ifndef _LIBCPP_ABI_VCRUNTIME
|
|
|
private:
|
|
|
_VSTD::__libcpp_refstring __imp_;
|
|
|
public:
|
|
@@ -88,11 +91,17 @@ public:
|
|
|
virtual ~logic_error() _NOEXCEPT;
|
|
|
|
|
|
virtual const char* what() const _NOEXCEPT;
|
|
|
+#else
|
|
|
+public:
|
|
|
+ explicit logic_error(const _VSTD::string&); // Symbol uses versioned std::string
|
|
|
+ _LIBCPP_INLINE_VISIBILITY explicit logic_error(const char* __s) : exception(__s) {}
|
|
|
+#endif
|
|
|
};
|
|
|
|
|
|
class _LIBCPP_EXCEPTION_ABI runtime_error
|
|
|
: public exception
|
|
|
{
|
|
|
+#ifndef _LIBCPP_ABI_VCRUNTIME
|
|
|
private:
|
|
|
_VSTD::__libcpp_refstring __imp_;
|
|
|
public:
|
|
@@ -105,6 +114,11 @@ public:
|
|
|
virtual ~runtime_error() _NOEXCEPT;
|
|
|
|
|
|
virtual const char* what() const _NOEXCEPT;
|
|
|
+#else
|
|
|
+public:
|
|
|
+ explicit runtime_error(const _VSTD::string&); // Symbol uses versioned std::string
|
|
|
+ _LIBCPP_INLINE_VISIBILITY explicit runtime_error(const char* __s) : exception(__s) {}
|
|
|
+#endif // _LIBCPP_ABI_VCRUNTIME
|
|
|
};
|
|
|
|
|
|
class _LIBCPP_EXCEPTION_ABI domain_error
|
|
@@ -114,7 +128,9 @@ public:
|
|
|
_LIBCPP_INLINE_VISIBILITY explicit domain_error(const string& __s) : logic_error(__s) {}
|
|
|
_LIBCPP_INLINE_VISIBILITY explicit domain_error(const char* __s) : logic_error(__s) {}
|
|
|
|
|
|
+#ifndef _LIBCPP_ABI_VCRUNTIME
|
|
|
virtual ~domain_error() _NOEXCEPT;
|
|
|
+#endif
|
|
|
};
|
|
|
|
|
|
class _LIBCPP_EXCEPTION_ABI invalid_argument
|
|
@@ -124,7 +140,9 @@ public:
|
|
|
_LIBCPP_INLINE_VISIBILITY explicit invalid_argument(const string& __s) : logic_error(__s) {}
|
|
|
_LIBCPP_INLINE_VISIBILITY explicit invalid_argument(const char* __s) : logic_error(__s) {}
|
|
|
|
|
|
+#ifndef _LIBCPP_ABI_VCRUNTIME
|
|
|
virtual ~invalid_argument() _NOEXCEPT;
|
|
|
+#endif
|
|
|
};
|
|
|
|
|
|
class _LIBCPP_EXCEPTION_ABI length_error
|
|
@@ -133,8 +151,9 @@ class _LIBCPP_EXCEPTION_ABI length_error
|
|
|
public:
|
|
|
_LIBCPP_INLINE_VISIBILITY explicit length_error(const string& __s) : logic_error(__s) {}
|
|
|
_LIBCPP_INLINE_VISIBILITY explicit length_error(const char* __s) : logic_error(__s) {}
|
|
|
-
|
|
|
+#ifndef _LIBCPP_ABI_VCRUNTIME
|
|
|
virtual ~length_error() _NOEXCEPT;
|
|
|
+#endif
|
|
|
};
|
|
|
|
|
|
class _LIBCPP_EXCEPTION_ABI out_of_range
|
|
@@ -144,7 +163,9 @@ public:
|
|
|
_LIBCPP_INLINE_VISIBILITY explicit out_of_range(const string& __s) : logic_error(__s) {}
|
|
|
_LIBCPP_INLINE_VISIBILITY explicit out_of_range(const char* __s) : logic_error(__s) {}
|
|
|
|
|
|
+#ifndef _LIBCPP_ABI_VCRUNTIME
|
|
|
virtual ~out_of_range() _NOEXCEPT;
|
|
|
+#endif
|
|
|
};
|
|
|
|
|
|
class _LIBCPP_EXCEPTION_ABI range_error
|
|
@@ -154,7 +175,9 @@ public:
|
|
|
_LIBCPP_INLINE_VISIBILITY explicit range_error(const string& __s) : runtime_error(__s) {}
|
|
|
_LIBCPP_INLINE_VISIBILITY explicit range_error(const char* __s) : runtime_error(__s) {}
|
|
|
|
|
|
+#ifndef _LIBCPP_ABI_VCRUNTIME
|
|
|
virtual ~range_error() _NOEXCEPT;
|
|
|
+#endif
|
|
|
};
|
|
|
|
|
|
class _LIBCPP_EXCEPTION_ABI overflow_error
|
|
@@ -164,7 +187,9 @@ public:
|
|
|
_LIBCPP_INLINE_VISIBILITY explicit overflow_error(const string& __s) : runtime_error(__s) {}
|
|
|
_LIBCPP_INLINE_VISIBILITY explicit overflow_error(const char* __s) : runtime_error(__s) {}
|
|
|
|
|
|
+#ifndef _LIBCPP_ABI_VCRUNTIME
|
|
|
virtual ~overflow_error() _NOEXCEPT;
|
|
|
+#endif
|
|
|
};
|
|
|
|
|
|
class _LIBCPP_EXCEPTION_ABI underflow_error
|
|
@@ -174,7 +199,9 @@ public:
|
|
|
_LIBCPP_INLINE_VISIBILITY explicit underflow_error(const string& __s) : runtime_error(__s) {}
|
|
|
_LIBCPP_INLINE_VISIBILITY explicit underflow_error(const char* __s) : runtime_error(__s) {}
|
|
|
|
|
|
+#ifndef _LIBCPP_ABI_VCRUNTIME
|
|
|
virtual ~underflow_error() _NOEXCEPT;
|
|
|
+#endif
|
|
|
};
|
|
|
|
|
|
} // std
|