OROCHI
 
Loading...
Searching...
No Matches
GxOperator.h
Go to the documentation of this file.
1//===========================================================================
9//===========================================================================
10#pragma once
11
12GX_CORE_NAMESPACE_BEGIN()
13
14//===========================================================================
16//===========================================================================
17class GxOperator : public GxClassBase
18{
19 //-----------------------------------------------------------
21 //-----------------------------------------------------------
23public:
24 GX_RTTI_ABSTRACT_CLASS(GxOperator, GxClassBase)
25 // ClassBase継承クラス用禁止宣言
27
28
29 //-----------------------------------------------------------
31 //-----------------------------------------------------------
33private:
35 GxOperator(void) {}
36
38 //-----------------------------------------------------------
40 //-----------------------------------------------------------
42public:
44 template<class T> GX_FORCE_INLINE static T getAdd(const T value1, const T value2) { return value1 + value2; }
46 template<class T> GX_FORCE_INLINE static T getSubtract(const T value1, const T value2) { return value1 - value2; }
48 template<class T> GX_FORCE_INLINE static T getMultiply(const T value1, const T value2) { return value1 * value2; }
50 template<class T> GX_FORCE_INLINE static T getDivide(const T value1, const T value2) { return value1 / value2; }
52 template<class T> GX_FORCE_INLINE static T getModulo(const T value1, const T value2) { return value1 % value2; }
54 template<class T> GX_FORCE_INLINE static b32 isEqual(const T value1, const T value2) { return value1 == value2; }
56 template<class T> GX_FORCE_INLINE static b32 isNotEqual(const T value1, const T value2) { return value1 != value2; }
58 template<class T> GX_FORCE_INLINE static b32 isLess(const T value1, const T value2) { return value1 < value2; }
60 template<class T> GX_FORCE_INLINE static b32 isLessEqual(const T value1, const T value2) { return value1 <= value2; }
62 template<class T> GX_FORCE_INLINE static b32 isGreater(const T value1, const T value2) { return value1 > value2; }
64 template<class T> GX_FORCE_INLINE static b32 isGreaterEqual(const T value1, const T value2) { return value1 >= value2; }
66 GX_FORCE_INLINE static b32 isOr(const b32 value1, const b32 value2) { return value1 || value2; }
68 GX_FORCE_INLINE static b32 isAnd(const b32 value1, const b32 value2) { return value1 && value2; }
70 GX_FORCE_INLINE static b32 getNot(const b32 value) { return !value; }
72 template<class T> GX_FORCE_INLINE static T getIncrement(const T value) { return value + 1; }
74 template<class T> GX_FORCE_INLINE static T getDecrement(const T value) { return value - 1; }
75
77};
78
79GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
オブジェクト基底クラス
Definition GxBase.h:88
演算子クラス
Definition GxOperator.h:18
static GX_FORCE_INLINE T getDivide(const T value1, const T value2)
除算(/)
Definition GxOperator.h:50
static GX_FORCE_INLINE b32 isGreaterEqual(const T value1, const T value2)
以上(<=)
Definition GxOperator.h:64
static GX_FORCE_INLINE b32 isNotEqual(const T value1, const T value2)
等しくない(!=)
Definition GxOperator.h:56
static GX_FORCE_INLINE b32 isLessEqual(const T value1, const T value2)
以下(<=)
Definition GxOperator.h:60
static GX_FORCE_INLINE b32 isEqual(const T value1, const T value2)
等しい(==)
Definition GxOperator.h:54
static GX_FORCE_INLINE b32 isOr(const b32 value1, const b32 value2)
論理和(||)
Definition GxOperator.h:66
static GX_FORCE_INLINE T getModulo(const T value1, const T value2)
剰余算(%)
Definition GxOperator.h:52
static GX_FORCE_INLINE b32 isLess(const T value1, const T value2)
より小さい(<)
Definition GxOperator.h:58
static GX_FORCE_INLINE T getAdd(const T value1, const T value2)
加算(+)
Definition GxOperator.h:44
static GX_FORCE_INLINE T getDecrement(const T value)
デクリメント(–)
Definition GxOperator.h:74
static GX_FORCE_INLINE T getMultiply(const T value1, const T value2)
乗算(*)
Definition GxOperator.h:48
static GX_FORCE_INLINE T getSubtract(const T value1, const T value2)
減算(-)
Definition GxOperator.h:46
static GX_FORCE_INLINE b32 getNot(const b32 value)
論理否定(!)
Definition GxOperator.h:70
static GX_FORCE_INLINE b32 isAnd(const b32 value1, const b32 value2)
論理積(&&)
Definition GxOperator.h:68
static GX_FORCE_INLINE T getIncrement(const T value)
インクリメント(++)
Definition GxOperator.h:72
static GX_FORCE_INLINE b32 isGreater(const T value1, const T value2)
より大きい(<)
Definition GxOperator.h:62
32bitブーリアン
Definition GxDefine.h:173