Ne.app NeANT
The Ne.app NeANT User module of the NeANT distribution.
_exception.h
Go to the documentation of this file.
1
32#ifndef _RWSTD_RW_EXCEPTION_H_INCLUDED
33#define _RWSTD_RW_EXCEPTION_H_INCLUDED
34
35
36#include <exception>
37
38#ifndef _RWSTD_RW_DEFS_H_INCLUDED
39# include <rw/_defs.h>
40#endif // _RWSTD_RW_DEFS_H_INCLUDED
41
42
44
45
46// forward declarations avoid circular dependencies
47template <class _CharT, class _Traits, class _Allocator>
48class basic_string;
49
50template <class _CharT>
51struct char_traits;
52
53template <class _TypeT>
54class allocator;
55
56
57typedef basic_string<char, char_traits<char>, allocator<char> > string;
58
59} // namespace std
60
62
63// base exception class inherited by all other exceptions
64class _RWSTD_EXPORT __rw_exception: public _STD::exception
65{
66public:
67
68 __rw_exception () _THROWS (());
69
70 __rw_exception (const __rw_exception&);
71
72 explicit __rw_exception (const _STD::string&);
73
74 explicit __rw_exception (const char*);
75
76 virtual ~__rw_exception () _THROWS (());
77
78 // empty exception specification necessary in order to preserve
79 // the no-exception guarantee provided by std::exception to
80 // derived classes (e.g., logic_error)
81 __rw_exception& operator= (const __rw_exception&) _THROWS (());
82
83 virtual const char* what () const _THROWS (());
84
85 __rw_exception&
86 _C_assign (const char*, _RWSTD_SIZE_T = _RWSTD_SIZE_MAX);
87
88private:
89 char *_C_what; // description string
90};
91
92
93} // namespace __rw
94
95
96#endif // _RWSTD_RW_EXCEPTION_H_INCLUDED
#define _THROWS()
#define _RWSTD_EXPORT
Definition _defs.h:485
#define _RWSTD_NAMESPACE(name)
Definition _defs.h:567
Definition json.h:5363