[Avida-SVN] r2845 - development/source/script
brysonda at myxo.css.msu.edu
brysonda at myxo.css.msu.edu
Mon Oct 13 21:12:29 PDT 2008
Author: brysonda
Date: 2008-10-14 00:12:29 -0400 (Tue, 14 Oct 2008)
New Revision: 2845
Modified:
development/source/script/ASAvidaLib.cc
Log:
AS: Simplify native object declaration.
Modified: development/source/script/ASAvidaLib.cc
===================================================================
--- development/source/script/ASAvidaLib.cc 2008-10-14 04:03:05 UTC (rev 2844)
+++ development/source/script/ASAvidaLib.cc 2008-10-14 04:12:29 UTC (rev 2845)
@@ -33,16 +33,15 @@
#include <cstring>
+#define AS_DECLARE_NATIVE_OBJECT(CLASS, NAME) \
+ namespace AvidaScript { template<> inline sASTypeInfo TypeOf<CLASS*>() { return sASTypeInfo(AS_TYPE_OBJECT_REF, #NAME); } }
-namespace AvidaScript {
- template<> inline sASTypeInfo TypeOf<cAvidaConfig*>() { return sASTypeInfo(AS_TYPE_OBJECT_REF, "Config"); }
- template<> inline sASTypeInfo TypeOf<cDefaultRunDriver*>() { return sASTypeInfo(AS_TYPE_OBJECT_REF, "Driver"); }
- template<> inline sASTypeInfo TypeOf<cWorld*>() { return sASTypeInfo(AS_TYPE_OBJECT_REF, "World"); }
-};
+AS_DECLARE_NATIVE_OBJECT(cAvidaConfig, Config);
+AS_DECLARE_NATIVE_OBJECT(cDefaultRunDriver, Driver);
+AS_DECLARE_NATIVE_OBJECT(cWorld, World);
-
static void setupNativeObjects()
{
tASNativeObject<cAvidaConfig>::InitializeMethodRegistrar();
@@ -58,9 +57,8 @@
tASNativeObject<cWorld>::InitializeMethodRegistrar();
};
+#undef AS_DECLARE_NATIVE_OBJECT
-
-
template<class FunctionType> class tASNativeObjectInstantiate;
template<class NativeClass>
More information about the Avida-cvs
mailing list