#line 87 "/home/ubuntu/felix/src/packages/exceptions.fdoc"
#ifndef __FLX_EXCEPTIONS_HPP__
#define __FLX_EXCEPTIONS_HPP__
#include "flx_exceptions_config.hpp"
#include <string>
namespace flx { namespace rtl {
struct FLX_EXCEPTIONS_EXTERN flx_exception_t;
struct FLX_EXCEPTIONS_EXTERN flx_out_of_memory_t;
struct FLX_EXCEPTIONS_EXTERN flx_exec_failure_t;
struct FLX_EXCEPTIONS_EXTERN flx_range_srcref_t;
struct FLX_EXCEPTIONS_EXTERN flx_match_failure_t;
struct FLX_EXCEPTIONS_EXTERN flx_assert_failure_t;
struct FLX_EXCEPTIONS_EXTERN flx_assert2_failure_t;
struct FLX_EXCEPTIONS_EXTERN flx_axiom_check_failure_t;
struct FLX_EXCEPTIONS_EXTERN flx_switch_failure_t;
struct FLX_EXCEPTIONS_EXTERN flx_dead_frame_failure_t;
struct FLX_EXCEPTIONS_EXTERN flx_dropthru_failure_t;
struct FLX_EXCEPTIONS_EXTERN flx_link_failure_t;
struct FLX_EXCEPTIONS_EXTERN flx_exception_t {
virtual ~flx_exception_t()=0;
};
struct FLX_EXCEPTIONS_EXTERN flx_out_of_memory_t : flx_exception_t {
flx_out_of_memory_t();
virtual ~flx_out_of_memory_t();
};
struct FLX_EXCEPTIONS_EXTERN flx_exec_failure_t : flx_exception_t {
::std::string filename; ::std::string operation; ::std::string what; flx_exec_failure_t(::std::string f, ::std::string o, ::std::string w);
virtual ~flx_exec_failure_t();
};
struct FLX_EXCEPTIONS_EXTERN flx_range_srcref_t {
char const *filename; int startline; int startcol; int endline; int endcol; flx_range_srcref_t(char const *f,int sl, int sc, int el, int ec);
flx_range_srcref_t();
};
struct FLX_EXCEPTIONS_EXTERN flx_halt_t : flx_exception_t {
::std::string reason; flx_range_srcref_t flx_loc; char const *cxx_srcfile; int cxx_srcline; flx_halt_t(flx_range_srcref_t ff, char const *cf, int cl, ::std::string reason);
virtual ~flx_halt_t();
};
struct FLX_EXCEPTIONS_EXTERN flx_match_failure_t : flx_exception_t {
flx_range_srcref_t flx_loc; char const *cxx_srcfile; int cxx_srcline; flx_match_failure_t(flx_range_srcref_t ff, char const *cf, int cl);
virtual ~flx_match_failure_t();
};
struct FLX_EXCEPTIONS_EXTERN flx_dropthru_failure_t : flx_exception_t {
flx_range_srcref_t flx_loc; char const *cxx_srcfile; int cxx_srcline; flx_dropthru_failure_t(flx_range_srcref_t ff, char const *cf, int cl);
virtual ~flx_dropthru_failure_t();
};
struct FLX_EXCEPTIONS_EXTERN flx_assert_failure_t : flx_exception_t {
flx_range_srcref_t flx_loc; char const *cxx_srcfile; int cxx_srcline; flx_assert_failure_t(flx_range_srcref_t ff, char const *cf, int cl);
virtual ~flx_assert_failure_t();
};
struct FLX_EXCEPTIONS_EXTERN flx_assert2_failure_t : flx_exception_t {
flx_range_srcref_t flx_loc; flx_range_srcref_t flx_loc2; char const *cxx_srcfile; int cxx_srcline; flx_assert2_failure_t(flx_range_srcref_t ff, flx_range_srcref_t ff2, char const *cf, int cl);
virtual ~flx_assert2_failure_t();
};
struct FLX_EXCEPTIONS_EXTERN flx_axiom_check_failure_t : flx_exception_t {
flx_range_srcref_t flx_loc; flx_range_srcref_t flx_loc2; char const *cxx_srcfile; int cxx_srcline; flx_axiom_check_failure_t (flx_range_srcref_t ff, flx_range_srcref_t ff2, char const *cf, int cl);
virtual ~flx_axiom_check_failure_t ();
};
struct FLX_EXCEPTIONS_EXTERN flx_range_failure_t : flx_exception_t {
long min; long v; long max;
flx_range_srcref_t flx_loc; char const *cxx_srcfile; int cxx_srcline; flx_range_failure_t(long,long,long,flx_range_srcref_t ff, char const *cf, int cl);
virtual ~flx_range_failure_t();
};
FLX_EXCEPTIONS_EXTERN long range_check (long l, long x, long h, flx_range_srcref_t sref, char const *cf, int cl);
FLX_EXCEPTIONS_EXTERN void print_loc(FILE *ef,flx_range_srcref_t x,char const *cf, int cl);
FLX_EXCEPTIONS_EXTERN void print_cxxloc(FILE *ef,char const *cf, int cl);
struct FLX_EXCEPTIONS_EXTERN flx_switch_failure_t : flx_exception_t {
char const *cxx_srcfile; int cxx_srcline; flx_switch_failure_t(char const *cf, int cl);
virtual ~flx_switch_failure_t();
};
struct FLX_EXCEPTIONS_EXTERN flx_dead_frame_failure_t : flx_exception_t {
char const *cxx_srcfile; int cxx_srcline; flx_dead_frame_failure_t(char const *cf, int cl);
virtual ~flx_dead_frame_failure_t();
};
struct FLX_EXCEPTIONS_EXTERN flx_link_failure_t : flx_exception_t {
::std::string filename;
::std::string operation;
::std::string what;
flx_link_failure_t(::std::string f, ::std::string o, ::std::string w);
flx_link_failure_t(); virtual ~flx_link_failure_t();
};
}}
#endif