E-MailRelay
Classes | Namespaces | Macros
gexception.h File Reference
#include "gdef.h"
#include "gstringview.h"
#include "ggettext.h"
#include <initializer_list>
#include <string>
#include <iostream>
#include <stdexcept>
+ Include dependency graph for gexception.h:

Go to the source code of this file.

Classes

class  G::Exception
 A general-purpose exception class derived from std::exception and containing an error message. More...
 

Namespaces

namespace  G
 Low-level classes.
 

Macros

#define G_EXCEPTION_CLASS_(class_name, description)
 
#define G_EXCEPTION_FUNCTION_(name, description)
 
#define G_EXCEPTION_CLASS(class_name, tx_description)   G_EXCEPTION_CLASS_( class_name , G::tx_description )
 
#define G_EXCEPTION_FUNCTION(name, tx_description)   G_EXCEPTION_FUNCTION_( name , G::tx_description )
 
#define G_EXCEPTION(class_name, tx_description)   G_EXCEPTION_FUNCTION_( class_name , G::tx_description )
 

Macro Definition Documentation

◆ G_EXCEPTION

#define G_EXCEPTION (   class_name,
  tx_description 
)    G_EXCEPTION_FUNCTION_( class_name , G::tx_description )

Definition at line 104 of file gexception.h.

◆ G_EXCEPTION_CLASS

#define G_EXCEPTION_CLASS (   class_name,
  tx_description 
)    G_EXCEPTION_CLASS_( class_name , G::tx_description )

Definition at line 102 of file gexception.h.

◆ G_EXCEPTION_CLASS_

#define G_EXCEPTION_CLASS_ (   class_name,
  description 
)
Value:
class class_name : public G::Exception { public: /* NOLINT bugprone-macro-parentheses */ \
class_name() : G::Exception(description) {} \
explicit class_name( std::string_view more ) : G::Exception(description,more) {} \
class_name( std::string_view more1 , std::string_view more2 ) : G::Exception(description,more1,more2) {} \
class_name( std::string_view more1 , std::string_view more2 , std::string_view more3 ) : G::Exception(description,more1,more2,more3) {} } ;
A general-purpose exception class derived from std::exception and containing an error message.
Definition: gexception.h:64
Low-level classes.
Definition: garg.h:36

Definition at line 88 of file gexception.h.

◆ G_EXCEPTION_FUNCTION

#define G_EXCEPTION_FUNCTION (   name,
  tx_description 
)    G_EXCEPTION_FUNCTION_( name , G::tx_description )

Definition at line 103 of file gexception.h.

◆ G_EXCEPTION_FUNCTION_

#define G_EXCEPTION_FUNCTION_ (   name,
  description 
)
Value:
inline static G::Exception name() { return G::Exception((description)) ; } \
inline static G::Exception name( std::string_view s ) { return G::Exception(description,s) ; } \
inline static G::Exception name( std::string_view s1 , std::string_view s2 ) { return G::Exception(description,s1,s2) ; } \
inline static G::Exception name( std::string_view s1 , std::string_view s2 , std::string_view s3 ) { return G::Exception(description,s1,s2,s3) ; } \
inline static G::Exception name( std::string_view s1 , std::string_view s2 , std::string_view s3 , std::string_view s4 ) { return G::Exception(description,s1,s2,s3,s4) ; }

Definition at line 95 of file gexception.h.