SpringScriptEngine  1.0.0
A script engine
CVariableMan.h
[詳解]
1 
5 #pragma once
6 
8 {
9 public:
10  typedef int neInteger, *nepInteger;
11  typedef std::string neString, *nepString;
12  typedef float neFloat, *nepFloat;
13  typedef int neHandle, *nepHandle;
15 
16  enum VarType {
25  };
26 
27  CVariableMan();
28  CVariableMan(const std::string &name);
29  CVariableMan(const CVariableMan &obj);
30  ~CVariableMan();
31 
32  //変数に代入
33  bool Set(const nepInteger pData);
34  bool Set(const nepString pData);
35  bool Set(const nepFloat pData);
36  bool Set(const neVariable pData);
37  bool SetAsHandle(const nepHandle pData);
38 
39  inline bool Set(neInteger Data) { return Set(&Data); };
40  inline bool Set(neFloat Data) { return Set(&Data); };
41  inline bool SetAsHandle(neHandle Data) { return Set(&Data); };
42 
43  const CVariableMan& operator=(const CVariableMan &o);
44  const CVariableMan& operator=(const nepInteger &o);
45  const CVariableMan& operator=(const nepString &o);
46  const CVariableMan& operator=(const nepFloat &o);
47  const CVariableMan& operator=(const neVariable &o);
48  bool operator==(const CVariableMan &o);
49  bool operator!=(const CVariableMan &o);
50 
51  void* GetData();
52  inline VarType GetType() { return m_type; };
53  inline const std::string* GetName() { return &m_sVarName; };
54 
55 private:
56  void Release();
57 
59  std::string m_sVarName;
60 
66 };
67 
68 #define GetVarPtrFromArg(_arg, _index) ((CVariableMan::neVariable)(_arg).ArgList[_index].GetData())
69 #define GetIntPtrFromArg(_arg, _index) ((CVariableMan::nepInteger)(_arg).ArgList[_index].GetData())
70 #define GetFloatPtrFromArg(_arg, _index) ((CVariableMan::nepFloat)(_arg).ArgList[_index].GetData())
71 #define GetHndPtrFromArg(_arg, _index) ((CVariableMan::nepHandle)(_arg).ArgList[_index].GetData())
72 #define GetStrPtrFromArg(_arg, _index) ((CVariableMan::nepString)(_arg).ArgList[_index].GetData())
VarType
Definition: CVariableMan.h:16
CVariableMan * neVariable
Definition: CVariableMan.h:14
Definition: CVariableMan.h:24
int neInteger
Definition: CVariableMan.h:10
文字列
Definition: CVariableMan.h:18
nepInteger m_pData_int
整数型変数用データー
Definition: CVariableMan.h:62
bool operator!=(const CVariableMan &o)
Definition: CVariableMan.cpp:168
bool SetAsHandle(const nepHandle pData)
Definition: CVariableMan.cpp:79
bool Set(const nepInteger pData)
Definition: CVariableMan.cpp:49
neVariable m_pData_var
変数参照型用データー
Definition: CVariableMan.h:65
Definition: CVariableMan.h:7
nepString m_pData_str
文字列型変数用データー
Definition: CVariableMan.h:61
CVariableMan()
Definition: CVariableMan.cpp:7
CVariableMan ** nepVariable
Definition: CVariableMan.h:14
std::string * nepString
Definition: CVariableMan.h:11
float neFloat
Definition: CVariableMan.h:12
const std::string * GetName()
Definition: CVariableMan.h:53
const CVariableMan & operator=(const CVariableMan &o)
Definition: CVariableMan.cpp:96
int neHandle
Definition: CVariableMan.h:13
Definition: CVariableMan.h:23
変数(参照)
Definition: CVariableMan.h:21
void Release()
Definition: CVariableMan.cpp:193
不明
Definition: CVariableMan.h:22
~CVariableMan()
Definition: CVariableMan.cpp:45
bool Set(neInteger Data)
Definition: CVariableMan.h:39
VarType GetType()
Definition: CVariableMan.h:52
ハンドル
Definition: CVariableMan.h:20
bool operator==(const CVariableMan &o)
Definition: CVariableMan.cpp:142
nepFloat m_pData_float
実数型変数用データー
Definition: CVariableMan.h:63
実数
Definition: CVariableMan.h:19
float * nepFloat
Definition: CVariableMan.h:12
std::string neString
Definition: CVariableMan.h:11
int * nepInteger
Definition: CVariableMan.h:10
bool SetAsHandle(neHandle Data)
Definition: CVariableMan.h:41
void * GetData()
Definition: CVariableMan.cpp:172
整数
Definition: CVariableMan.h:17
VarType m_type
変数の種類
Definition: CVariableMan.h:58
std::string m_sVarName
変数名
Definition: CVariableMan.h:59
int * nepHandle
Definition: CVariableMan.h:13
bool Set(neFloat Data)
Definition: CVariableMan.h:40
nepHandle m_pData_handle
ハンドル型変数用データー
Definition: CVariableMan.h:64