root/src/tests/misc/exception-test/exceptions.h

#ifndef EXCEPTIONS_H
#define EXCEPTIONS_H

struct ExceptionBase {
        ExceptionBase();
        ~ExceptionBase();
};

struct ExceptionA : ExceptionBase {
        ExceptionA();
        ~ExceptionA();

        int a;
};

struct ExceptionB : ExceptionBase {
        ExceptionB();
        ~ExceptionB();

        int b;
};

struct VirtualExceptionBase : ExceptionBase {
        VirtualExceptionBase();
        virtual ~VirtualExceptionBase();
};

struct VirtualExceptionA : VirtualExceptionBase {
        VirtualExceptionA();
        virtual ~VirtualExceptionA();

        int a;
};

struct VirtualExceptionB : VirtualExceptionBase {
        VirtualExceptionB();
        virtual ~VirtualExceptionB();

        int b;
};

void throwBase();
void throwA();
void throwB();
void throwVirtualBase();
void throwVirtualA();
void throwVirtualB();
void throwInt();


#endif  // EXCEPTIONS_H