/* * Copyright 2011 Sven Verdoolaege * * Use of this software is governed by the MIT license * * Written by Sven Verdoolaege. */ #define xCAT(A,B) … #define CAT(A,B) … #undef TYPE #define TYPE … /* Read an object of type "TYPE" from "s". * * In particular, first read the parameters and the opening brace. * Then read the body that is specific to the object type. * Finally, read the closing brace. */ __isl_give TYPE *FN(isl_stream_read,TYPE_BASE)(__isl_keep isl_stream *s) { … }