#ifndef cathlibcpp_newcasts_H
#define cathlibcpp_newcasts_H

// File:       newcasts.h
// Author:     (c) Miles Sabin, 1996
// Purpose:    fake new style casts for Acorn CFront


#ifndef cathlibcpp_config_H
#include "config.h"
#endif


#undef _
#define _ ,

#ifdef BUILTIN_NEW_CASTS

#define static_cast(T, e)           static_cast<T>(e)
#define const_cast(T, e)            const_cast<T>(e)
#define reinterpret_cast(T, e)      reinterpret_cast<T>(e)
#define PTR_reinterpret_cast(T, p)  reinterpret_cast<T*>(p)
#define REF_reinterpret_cast(T, r)  reinterpret_cast<T&>(r)

#else

#define static_cast(T, e)           ((T)(e))
#define const_cast(T, e)            ((T)(e))
#define reinterpret_cast(T, e)      ((T)(e))
#define PTR_reinterpret_cast(T, p)  ((T*)(void*)(p))
#define REF_reinterpret_cast(T, r)  (*(T*)(void*)&(r))

#endif

#endif

