81 lines
2.1 KiB
Plaintext
81 lines
2.1 KiB
Plaintext
/* $XConsortium: instmac.m4 /main/3 1996/08/13 10:09:17 mgreess $ */
|
|
|
|
#ifdef SP_NAMESPACE
|
|
namespace SP_NAMESPACE {
|
|
#endif
|
|
|
|
dnl Copyright (c) 1994 James Clark
|
|
dnl See the file COPYING for copying permission.
|
|
dnl M4 macros for template instantiation.
|
|
define(`__undefine', defn(`undefine'))dnl
|
|
define(`__define', defn(`define'))dnl
|
|
define(`__changequote', defn(`changequote'))dnl
|
|
define(`__include', defn(`include'))dnl
|
|
define(`__ifdef', defn(`ifdef'))dnl
|
|
define(`__divert', defn(`divert'))dnl
|
|
define(`__dnl', defn(`dnl'))dnl
|
|
define(`__incr', defn(`incr'))dnl
|
|
define(`__index', 0)dnl
|
|
define(`__concat', $1$2)dnl
|
|
define(`__instantiate',`#if defined(__DECCXX)
|
|
#pragma define_template $1
|
|
#elif defined(AIXV3)
|
|
#pragma define($1)
|
|
#elif defined(SP_ANSI_CLASS_INST)
|
|
template class $1;
|
|
#else
|
|
typedef $1 __concat(Dummy_,__index);
|
|
#endif
|
|
__define(`__index',__incr(__index))__dnl')dnl
|
|
define(`__func_index', 0)dnl
|
|
define(`__instantiate_func3',
|
|
`#ifdef __GNUG__
|
|
template void $1($2, $3, $4);
|
|
#else
|
|
static
|
|
void __concat(func_,__func_index) ($2 arg1, $3 arg2, $4 arg3) {
|
|
(void)$1(arg1, arg2, arg3);
|
|
}
|
|
#endif
|
|
__define(`__func_index',__incr(__func_index))__dnl')dnl
|
|
dnl we want __p to be expanded even inside comments
|
|
changecom()__dnl
|
|
__undefine(`changecom')__dnl
|
|
__undefine(`changequote')__dnl
|
|
__undefine(`decr')__dnl
|
|
__undefine(`define')__dnl
|
|
__undefine(`defn')__dnl
|
|
__undefine(`divert')__dnl
|
|
__undefine(`divnum')__dnl
|
|
__undefine(`dnl')__dnl
|
|
__undefine(`dumpdef')__dnl
|
|
__undefine(`errprint')__dnl
|
|
__undefine(`eval')__dnl
|
|
__undefine(`ifdef')__dnl
|
|
__undefine(`ifelse')__dnl
|
|
__undefine(`include')__dnl
|
|
__undefine(`incr')__dnl
|
|
__undefine(`index')__dnl
|
|
__undefine(`len')__dnl
|
|
__undefine(`m4exit')__dnl
|
|
__undefine(`m4wrap')__dnl
|
|
__undefine(`maketemp')__dnl
|
|
__undefine(`popdef')__dnl
|
|
__undefine(`pushdef')__dnl
|
|
__undefine(`shift')__dnl
|
|
__undefine(`sinclude')__dnl
|
|
__undefine(`substr')__dnl
|
|
__undefine(`syscmd')__dnl
|
|
__undefine(`sysval')__dnl
|
|
__undefine(`traceoff')__dnl
|
|
__undefine(`traceon')__dnl
|
|
__undefine(`translit')__dnl
|
|
__undefine(`undefine')__dnl
|
|
__undefine(`undivert')__dnl
|
|
__undefine(`unix')__dnl
|
|
__dnl __changequote(,)__dnl disable quoting
|
|
|
|
#ifdef SP_NAMESPACE
|
|
}
|
|
#endif
|