GATE
gatetypes.hpp File Reference

Basic gate namespace typedefs and utility interfaces. More...

Classes

class  gate::IRunnable
 
class  gate::IQuitable
 
class  gate::ICancelable
 
class  gate::UnusableType
 
class  gate::SafeBoolBase< T >
 
struct  gate::NonCopyable
 

Macros

#define noexcept   throw()
 
#define override
 
#define final
 
#define constexpr   const
 
#define GATEXX_ATTR_NORETURN
 
#define GATE_PANIC(resultCode)   panic(resultCode, GATE_CURRENT_FUNCTION_NAME)
 
#define GATE_MOVEREF(type)   UnusableType &
 
#define GATE_ENUM_FLAGS_DECLARE(enum_type)
 

Typedefs

typedef ::gate_char8_t gate::char_8_t
 
typedef ::gate_char32_t gate::char_32_t
 
typedef ::gate_bool_t gate::bool_t
 
typedef ::gate_int8_t gate::int8_t
 
typedef ::gate_int16_t gate::int16_t
 
typedef ::gate_int32_t gate::int32_t
 
typedef ::gate_int64_t gate::int64_t
 
typedef ::gate_uint8_t gate::uint8_t
 
typedef ::gate_uint16_t gate::uint16_t
 
typedef ::gate_uint32_t gate::uint32_t
 
typedef ::gate_uint64_t gate::uint64_t
 
typedef ::gate_real32_t gate::real32_t
 
typedef ::gate_real64_t gate::real64_t
 
typedef ::gate_intptr_t gate::intptr_t
 
typedef ::gate_uintptr_t gate::uintptr_t
 
typedef ::gate_size_t gate::size_t
 
typedef ::gate_index_t gate::index_t
 
typedef ::gate_result_t gate::result_t
 
typedef ::gate_enumint_t gate::enumint_t
 
typedef ::gate_handle_t gate::handle_t
 
typedef ::gate_byte_t gate::byte_t
 
typedef ::gate_word_t gate::word_t
 
typedef ::gate_word_t gate::ushortint_t
 
typedef ::gate_dword_t gate::dword_t
 
typedef ::gate_dword_t gate::uint_t
 
typedef ::gate_qword_t gate::qword_t
 
typedef ::gate_qword_t gate::ulongint_t
 
typedef ::gate_sbyte_t gate::sbyte_t
 
typedef ::gate_shortint_t gate::short_t
 
typedef ::gate_integer_t gate::integer_t
 
typedef ::gate_longint_t gate::longint_t
 
typedef ::gate_hash_code_t gate::hash_code_t
 

Functions

void gate::panic (result_t resultCode, char const *message)
 
template<class T , class U >
gate::union_cast (U src)
 

Variables

typedef::gate_char16_t gate::char_16_t
 

Detailed Description

Basic gate namespace typedefs and utility interfaces.

Macro Definition Documentation

◆ GATE_ENUM_FLAGS_DECLARE

#define GATE_ENUM_FLAGS_DECLARE ( enum_type)
Value:
template<class T> T operator|(T const& a, enum_type const& b) \
{ \
return static_cast< T >(static_cast<int>(a) | static_cast<int>(b)); \
} \
template<class T> T operator&(T const& a, enum_type const& b) \
{ \
return static_cast< T >(static_cast<int>(a) & static_cast<int>(b)); \
} \
template<class T> T operator==(T const& a, enum_type const& b) \
{ \
return static_cast<int>(a) == static_cast<int>(b); \
}