libjmmcg  release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
dynamic_cast.hpp File Reference
#include "exception.hpp"
Include dependency graph for dynamic_cast.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  jmmcg::LIBJMMCG_VER_NAMESPACE::checked_dynamic_cast< To, Excpt >
 
struct  jmmcg::LIBJMMCG_VER_NAMESPACE::checked_dynamic_cast< To, Excpt >::exception_type
 

Namespaces

namespace  jmmcg
 Link with -lrt to include these functions.
 
namespace  jmmcg::LIBJMMCG_VER_NAMESPACE
 

Macros

#define CHK_DYNAMIC_CAST(To, obj)    jmmcg::LIBJMMCG_VER_NAMESPACE::checked_dynamic_cast<To>()((obj), __LINE__, __PRETTY_FUNCTION__, __FILE__)
 Use the macro "JMMCG_CHK_DYNAMIC_CAST(To, obj)" as your drop-in replacement for where you'd place statements like: "To &a=dynamic_cast<To>(obj);". Note that this macro cannot replace expression forms. More...
 

Macro Definition Documentation

◆ CHK_DYNAMIC_CAST

#define CHK_DYNAMIC_CAST (   To,
  obj 
)     jmmcg::LIBJMMCG_VER_NAMESPACE::checked_dynamic_cast<To>()((obj), __LINE__, __PRETTY_FUNCTION__, __FILE__)

Use the macro "JMMCG_CHK_DYNAMIC_CAST(To, obj)" as your drop-in replacement for where you'd place statements like: "To &a=dynamic_cast<To>(obj);". Note that this macro cannot replace expression forms.

Definition at line 72 of file dynamic_cast.hpp.