00001 #ifndef Exc_Ruby___cpp__st__hpp_
00002 #define Exc_Ruby___cpp__st__hpp_
00003
00009 extern "C"
00010 {
00011 #include "st.h"
00012 }
00013
00014 namespace Exc_Ruby
00015 {
00016
00017 namespace detail
00018 {
00019
00020 extern "C" typedef int (*St_Insert_Signature)(
00021 register st_table *table,
00022 register char *key,
00023 char *value);
00024 extern "C" typedef int (*St_Lookup_Signature)(
00025 st_table *table,
00026 register char *key,
00027 char **value);
00028 extern "C" typedef st_table* (*St_Init_Table_Signature)(
00029 struct st_hash_type *type);
00030
00031 #define st_insert(table, key, value) \
00032 ((::Exc_Ruby::detail::St_Insert_Signature)(st_insert))(table, key, value)
00033 #define st_lookup(table, key, value) \
00034 ((::Exc_Ruby::detail::St_Lookup_Signature)(st_lookup))(table, key, value)
00035 #define st_init_table(type) \
00036 ((::Exc_Ruby::detail::St_Init_Table_Signature)(st_init_table))(type)
00037
00038 }
00039
00040 }
00041
00042 #endif // Exc_Ruby___cpp__st__hpp_
00043