You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
640 B
20 lines
640 B
#include "object.h" |
|
|
|
ObjectBase* Arifm_Add(ObjectList* input); |
|
ObjectBase* Arifm_Sub(ObjectList* input); |
|
ObjectBase* Arifm_Mul(ObjectList* input); |
|
ObjectBase* Arifm_Div(ObjectList* input); |
|
ObjectBase* Arifm_Pow(ObjectList* input); |
|
ObjectBase* Arifm_Neg(ObjectList* input); |
|
ObjectBase* Arifm_Pos(ObjectList* input); |
|
|
|
template<class T> |
|
ObjectBase* Get(ObjectList* input) |
|
{ |
|
if(input->Size()!=2) return 0; |
|
const ObjectBase* ob=input->At(0); |
|
const ObjectBase* name=input->At(1); |
|
if( (!IS_OTYPE(ob,T)) || (!IS_OTYPE(name,ObjectString)) ) return 0; |
|
|
|
return dynamic_cast<const T*>(ob)->Get(dynamic_cast<const ObjectString*>(name)->Value()); |
|
}
|
|
|