// file : xsde/cxx/serializer/exceptions.hxx // author : Boris Kolpackov // copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #ifndef XSDE_CXX_SERIALIZER_EXCEPTIONS_HXX #define XSDE_CXX_SERIALIZER_EXCEPTIONS_HXX #include #ifdef XSDE_IOSTREAM # include #endif #include // xsde::cxx::exception #ifdef XSDE_SERIALIZER_VALIDATION # include #endif #include namespace xsde { namespace cxx { namespace serializer { // exception // struct exception: xsde::cxx::exception { virtual const char* text () const = 0; }; #ifdef XSDE_IOSTREAM std::ostream& operator<< (std::ostream&, const exception&); #endif // xml // using genx::xml_error; struct xml: exception { xml (xml_error); xml_error code () const; virtual const char* text () const; virtual const char* what () const throw (); private: xml_error code_; }; // schema // #ifdef XSDE_SERIALIZER_VALIDATION struct schema: exception { schema (schema_error); schema_error code () const; virtual const char* text () const; virtual const char* what () const throw (); private: schema_error code_; }; #endif } } } #include #endif // XSDE_CXX_SERIALIZER_EXCEPTIONS_HXX