mirror of
https://github.com/boostorg/throw_exception.git
synced 2026-01-19 04:42:13 +00:00
Hook to implement serialization
This commit is contained in:
@@ -175,6 +175,7 @@ boost
|
||||
{
|
||||
class error_info_base;
|
||||
struct type_info_;
|
||||
class writer;
|
||||
|
||||
struct
|
||||
error_info_container
|
||||
@@ -185,6 +186,7 @@ boost
|
||||
virtual void add_ref() const = 0;
|
||||
virtual bool release() const = 0;
|
||||
virtual refcount_ptr<exception_detail::error_info_container> clone() const = 0;
|
||||
virtual void write_to( writer & ) const { }
|
||||
|
||||
protected:
|
||||
|
||||
@@ -227,6 +229,9 @@ boost
|
||||
|
||||
void copy_boost_exception( exception *, exception const * );
|
||||
|
||||
template <class Writer>
|
||||
void write_diagnostic_information_to_impl_( exception const *, std::exception const *, Writer & );
|
||||
|
||||
template <class E,class Tag,class T>
|
||||
E const & set_info( E const &, error_info<Tag,T> const & );
|
||||
|
||||
@@ -321,6 +326,7 @@ boost
|
||||
friend struct exception_detail::set_info_rv<throw_line>;
|
||||
friend struct exception_detail::set_info_rv<throw_column>;
|
||||
friend void exception_detail::copy_boost_exception( exception *, exception const * );
|
||||
template <class Writer> friend void exception_detail::write_diagnostic_information_to_impl_( exception const *, std::exception const *, Writer & );
|
||||
#endif
|
||||
mutable exception_detail::refcount_ptr<exception_detail::error_info_container> data_;
|
||||
mutable char const * throw_function_;
|
||||
|
||||
Reference in New Issue
Block a user