summaryrefslogtreecommitdiff
path: root/src/include/MainOverloadables.h
diff options
context:
space:
mode:
authorgoodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac>1999-02-04 09:27:42 +0000
committergoodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac>1999-02-04 09:27:42 +0000
commitaaa78240ef7409f27bfadf3916d095eb0007bfa9 (patch)
tree7141af89a69c40a9beee5bc4ee60f320f9862b74 /src/include/MainOverloadables.h
parent4ec2152e21ddce9f873f6d1d4beb0b5b9bec3c41 (diff)
Rationalised the overloading of functions. Goodbye RegisterKeyedFunction,
hello Overloadable ! Now each subdirectory has one header file (in the include dir) which defines the overloadable functions. Macros are then applied to the header file to produce functions of the form CCTK_OverloadFoo(... (*func)(...)) to overload the function, and to create prototypes, dummy functions, and if statements which can be used to assign dummy (or other default) functions to any overloadable function which hasn't been assigned. The resulting functions have names of the form CCTK_Foo() As a byproduct of this the communication layer should work, 'though it's all dummy functions there at the moment, but at least you can call the functions. I've put OutputGH and OutputGroup in the IO layer, but can't remember precisely what we had decided as the canonical set of overloadable functions for IO. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@206 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'src/include/MainOverloadables.h')
-rw-r--r--src/include/MainOverloadables.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/include/MainOverloadables.h b/src/include/MainOverloadables.h
new file mode 100644
index 00000000..1848947c
--- /dev/null
+++ b/src/include/MainOverloadables.h
@@ -0,0 +1,28 @@
+ /*@@
+ @header MainOverloadables.h
+ @date Thu Feb 4 08:58:52 1999
+ @author Tom Goodale
+ @desc
+ The overloadable functions for the main layer.
+ See OverloadMacros.h to see how to use these.
+ @enddesc
+ @version $Header$
+ @@*/
+
+#ifdef ARGUMENTS
+#undef ARGUMENTS
+#endif
+
+#ifdef RETURN_TYPE
+#undef RETURN_TYPE
+#endif
+
+#define RETURN_TYPE int
+#define ARGUMENTS tFleshConfig *
+
+OVERLOADABLE(Initialise)
+OVERLOADABLE(Evolve)
+OVERLOADABLE(Shutdown)
+
+#undef ARGUMENTS
+#undef RETURN_TYPE