00001 #ifndef Exc_Ruby__rb_cpp_define_method__hpp_
00002 #define Exc_Ruby__rb_cpp_define_method__hpp_
00003
00004
00005
00006 #include <ruby.h>
00007
00008
00009 #undef TYPE
00010
00011 namespace Exc_Ruby
00012 {
00013
00014 #ifdef DOXYGEN
00015
00019
00020
00021
00022 VALUE rb_cpp_define_method(
00023 VALUE klass,
00024 char const * name,
00025 VALUE (*f)(VALUE arg1, VALUE arg2, ...));
00029 VALUE rb_cpp_define_module_function(
00030 VALUE klass,
00031 char const * name,
00032 VALUE (*f)(VALUE arg1, VALUE arg2, ...));
00036 VALUE rb_cpp_define_protected_method(
00037 VALUE klass,
00038 char const * name,
00039 VALUE (*f)(VALUE arg1, VALUE arg2, ...));
00043 VALUE rb_cpp_define_private_method(
00044 VALUE klass,
00045 char const * name,
00046 VALUE (*f)(VALUE arg1, VALUE arg2, ...));
00050 VALUE rb_cpp_define_singleton_method(
00051 VALUE klass,
00052 char const * name,
00053 VALUE (*f)(VALUE arg1, VALUE arg2, ...));
00054
00058 void rb_cpp_define_global_function(
00059 char const * name,
00060 VALUE (*f)(VALUE arg1, VALUE arg2, ...));
00061 #else
00062
00063 void rb_cpp_define_method(
00064 VALUE klass,
00065 char const * name,
00066 VALUE(*f)(VALUE));
00067 void rb_cpp_define_module_function(
00068 VALUE klass,
00069 char const * name,
00070 VALUE(*f)(VALUE));
00071 void rb_cpp_define_protected_method(
00072 VALUE klass,
00073 char const * name,
00074 VALUE(*f)(VALUE));
00075 void rb_cpp_define_private_method(
00076 VALUE klass,
00077 char const * name,
00078 VALUE(*f)(VALUE));
00079 void rb_cpp_define_singleton_method(
00080 VALUE klass,
00081 char const * name,
00082 VALUE(*f)(VALUE));
00083 void rb_cpp_define_global_function(
00084 char const * name,
00085 VALUE(*f)(VALUE));
00086
00087
00088
00089 void rb_cpp_define_method(
00090 VALUE klass,
00091 char const * name,
00092 VALUE(*f)(VALUE, VALUE));
00093 void rb_cpp_define_module_function(
00094 VALUE klass,
00095 char const * name,
00096 VALUE(*f)(VALUE, VALUE));
00097 void rb_cpp_define_protected_method(
00098 VALUE klass,
00099 char const * name,
00100 VALUE(*f)(VALUE, VALUE));
00101 void rb_cpp_define_private_method(
00102 VALUE klass,
00103 char const * name,
00104 VALUE(*f)(VALUE, VALUE));
00105 void rb_cpp_define_singleton_method(
00106 VALUE klass,
00107 char const * name,
00108 VALUE(*f)(VALUE, VALUE));
00109 void rb_cpp_define_global_function(
00110 char const * name,
00111 VALUE(*f)(VALUE, VALUE));
00112
00113
00114
00115 void rb_cpp_define_method(
00116 VALUE klass,
00117 char const * name,
00118 VALUE(*f)(VALUE, VALUE, VALUE));
00119 void rb_cpp_define_module_function(
00120 VALUE klass,
00121 char const * name,
00122 VALUE(*f)(VALUE, VALUE, VALUE));
00123 void rb_cpp_define_protected_method(
00124 VALUE klass,
00125 char const * name,
00126 VALUE(*f)(VALUE, VALUE, VALUE));
00127 void rb_cpp_define_private_method(
00128 VALUE klass,
00129 char const * name,
00130 VALUE(*f)(VALUE, VALUE, VALUE));
00131 void rb_cpp_define_singleton_method(
00132 VALUE klass,
00133 char const * name,
00134 VALUE(*f)(VALUE, VALUE, VALUE));
00135 void rb_cpp_define_global_function(
00136 char const * name,
00137 VALUE(*f)(VALUE, VALUE, VALUE));
00138
00139
00140
00141 void rb_cpp_define_method(
00142 VALUE klass,
00143 char const * name,
00144 VALUE(*f)(VALUE, VALUE, VALUE, VALUE));
00145 void rb_cpp_define_module_function(
00146 VALUE klass,
00147 char const * name,
00148 VALUE(*f)(VALUE, VALUE, VALUE, VALUE));
00149 void rb_cpp_define_protected_method(
00150 VALUE klass,
00151 char const * name,
00152 VALUE(*f)(VALUE, VALUE, VALUE, VALUE));
00153 void rb_cpp_define_private_method(
00154 VALUE klass,
00155 char const * name,
00156 VALUE(*f)(VALUE, VALUE, VALUE, VALUE));
00157 void rb_cpp_define_singleton_method(
00158 VALUE klass,
00159 char const * name,
00160 VALUE(*f)(VALUE, VALUE, VALUE, VALUE));
00161 void rb_cpp_define_global_function(
00162 char const * name,
00163 VALUE(*f)(VALUE, VALUE, VALUE, VALUE));
00164
00165
00166
00167 void rb_cpp_define_method(
00168 VALUE klass,
00169 char const * name,
00170 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE));
00171 void rb_cpp_define_module_function(
00172 VALUE klass,
00173 char const * name,
00174 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE));
00175 void rb_cpp_define_protected_method(
00176 VALUE klass,
00177 char const * name,
00178 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE));
00179 void rb_cpp_define_private_method(
00180 VALUE klass,
00181 char const * name,
00182 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE));
00183 void rb_cpp_define_singleton_method(
00184 VALUE klass,
00185 char const * name,
00186 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE));
00187 void rb_cpp_define_global_function(
00188 char const * name,
00189 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE));
00190
00191
00192
00193 void rb_cpp_define_method(
00194 VALUE klass,
00195 char const * name,
00196 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00197 void rb_cpp_define_module_function(
00198 VALUE klass,
00199 char const * name,
00200 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00201 void rb_cpp_define_protected_method(
00202 VALUE klass,
00203 char const * name,
00204 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00205 void rb_cpp_define_private_method(
00206 VALUE klass,
00207 char const * name,
00208 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00209 void rb_cpp_define_singleton_method(
00210 VALUE klass,
00211 char const * name,
00212 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00213 void rb_cpp_define_global_function(
00214 char const * name,
00215 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00216
00217
00218
00219 void rb_cpp_define_method(
00220 VALUE klass,
00221 char const * name,
00222 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00223 void rb_cpp_define_module_function(
00224 VALUE klass,
00225 char const * name,
00226 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00227 void rb_cpp_define_protected_method(
00228 VALUE klass,
00229 char const * name,
00230 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00231 void rb_cpp_define_private_method(
00232 VALUE klass,
00233 char const * name,
00234 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00235 void rb_cpp_define_singleton_method(
00236 VALUE klass,
00237 char const * name,
00238 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00239 void rb_cpp_define_global_function(
00240 char const * name,
00241 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00242
00243
00244
00245 void rb_cpp_define_method(
00246 VALUE klass,
00247 char const * name,
00248 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00249 void rb_cpp_define_module_function(
00250 VALUE klass,
00251 char const * name,
00252 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00253 void rb_cpp_define_protected_method(
00254 VALUE klass,
00255 char const * name,
00256 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00257 void rb_cpp_define_private_method(
00258 VALUE klass,
00259 char const * name,
00260 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00261 void rb_cpp_define_singleton_method(
00262 VALUE klass,
00263 char const * name,
00264 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00265 void rb_cpp_define_global_function(
00266 char const * name,
00267 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00268
00269
00270
00271 void rb_cpp_define_method(
00272 VALUE klass,
00273 char const * name,
00274 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00275 void rb_cpp_define_module_function(
00276 VALUE klass,
00277 char const * name,
00278 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00279 void rb_cpp_define_protected_method(
00280 VALUE klass,
00281 char const * name,
00282 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00283 void rb_cpp_define_private_method(
00284 VALUE klass,
00285 char const * name,
00286 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00287 void rb_cpp_define_singleton_method(
00288 VALUE klass,
00289 char const * name,
00290 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00291 void rb_cpp_define_global_function(
00292 char const * name,
00293 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00294
00295
00296
00297 void rb_cpp_define_method(
00298 VALUE klass,
00299 char const * name,
00300 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00301 void rb_cpp_define_module_function(
00302 VALUE klass,
00303 char const * name,
00304 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00305 void rb_cpp_define_protected_method(
00306 VALUE klass,
00307 char const * name,
00308 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00309 void rb_cpp_define_private_method(
00310 VALUE klass,
00311 char const * name,
00312 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00313 void rb_cpp_define_singleton_method(
00314 VALUE klass,
00315 char const * name,
00316 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00317 void rb_cpp_define_global_function(
00318 char const * name,
00319 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00320
00321
00322
00323 void rb_cpp_define_method(
00324 VALUE klass,
00325 char const * name,
00326 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00327 void rb_cpp_define_module_function(
00328 VALUE klass,
00329 char const * name,
00330 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00331 void rb_cpp_define_protected_method(
00332 VALUE klass,
00333 char const * name,
00334 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00335 void rb_cpp_define_private_method(
00336 VALUE klass,
00337 char const * name,
00338 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00339 void rb_cpp_define_singleton_method(
00340 VALUE klass,
00341 char const * name,
00342 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00343 void rb_cpp_define_global_function(
00344 char const * name,
00345 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00346
00347
00348
00349 void rb_cpp_define_method(
00350 VALUE klass,
00351 char const * name,
00352 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00353 void rb_cpp_define_module_function(
00354 VALUE klass,
00355 char const * name,
00356 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00357 void rb_cpp_define_protected_method(
00358 VALUE klass,
00359 char const * name,
00360 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00361 void rb_cpp_define_private_method(
00362 VALUE klass,
00363 char const * name,
00364 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00365 void rb_cpp_define_singleton_method(
00366 VALUE klass,
00367 char const * name,
00368 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00369 void rb_cpp_define_global_function(
00370 char const * name,
00371 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00372
00373
00374
00375 void rb_cpp_define_method(
00376 VALUE klass,
00377 char const * name,
00378 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00379 void rb_cpp_define_module_function(
00380 VALUE klass,
00381 char const * name,
00382 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00383 void rb_cpp_define_protected_method(
00384 VALUE klass,
00385 char const * name,
00386 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00387 void rb_cpp_define_private_method(
00388 VALUE klass,
00389 char const * name,
00390 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00391 void rb_cpp_define_singleton_method(
00392 VALUE klass,
00393 char const * name,
00394 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00395 void rb_cpp_define_global_function(
00396 char const * name,
00397 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00398
00399
00400
00401 void rb_cpp_define_method(
00402 VALUE klass,
00403 char const * name,
00404 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00405 void rb_cpp_define_module_function(
00406 VALUE klass,
00407 char const * name,
00408 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00409 void rb_cpp_define_protected_method(
00410 VALUE klass,
00411 char const * name,
00412 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00413 void rb_cpp_define_private_method(
00414 VALUE klass,
00415 char const * name,
00416 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00417 void rb_cpp_define_singleton_method(
00418 VALUE klass,
00419 char const * name,
00420 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00421 void rb_cpp_define_global_function(
00422 char const * name,
00423 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00424
00425
00426
00427 void rb_cpp_define_method(
00428 VALUE klass,
00429 char const * name,
00430 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00431 void rb_cpp_define_module_function(
00432 VALUE klass,
00433 char const * name,
00434 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00435 void rb_cpp_define_protected_method(
00436 VALUE klass,
00437 char const * name,
00438 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00439 void rb_cpp_define_private_method(
00440 VALUE klass,
00441 char const * name,
00442 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00443 void rb_cpp_define_singleton_method(
00444 VALUE klass,
00445 char const * name,
00446 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00447 void rb_cpp_define_global_function(
00448 char const * name,
00449 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00450
00451
00452
00453 void rb_cpp_define_method(
00454 VALUE klass,
00455 char const * name,
00456 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00457 void rb_cpp_define_module_function(
00458 VALUE klass,
00459 char const * name,
00460 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00461 void rb_cpp_define_protected_method(
00462 VALUE klass,
00463 char const * name,
00464 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00465 void rb_cpp_define_private_method(
00466 VALUE klass,
00467 char const * name,
00468 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00469 void rb_cpp_define_singleton_method(
00470 VALUE klass,
00471 char const * name,
00472 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00473 void rb_cpp_define_global_function(
00474 char const * name,
00475 VALUE(*f)(VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE));
00476
00477
00478
00479 void rb_cpp_define_method(
00480 VALUE klass,
00481 char const * name,
00482 VALUE(*f)(int, VALUE*, VALUE));
00483 void rb_cpp_define_module_function(
00484 VALUE klass,
00485 char const * name,
00486 VALUE(*f)(int, VALUE*, VALUE));
00487 void rb_cpp_define_protected_method(
00488 VALUE klass,
00489 char const * name,
00490 VALUE(*f)(int, VALUE*, VALUE));
00491 void rb_cpp_define_private_method(
00492 VALUE klass,
00493 char const * name,
00494 VALUE(*f)(int, VALUE*, VALUE));
00495 void rb_cpp_define_singleton_method(
00496 VALUE klass,
00497 char const * name,
00498 VALUE(*f)(int, VALUE*, VALUE));
00499 void rb_cpp_define_global_function(
00500 char const * name,
00501 VALUE(*f)(int, VALUE*, VALUE));
00502
00503
00504 #endif // DOXYGEN
00505
00506 }
00507
00508 #include "rb_cpp_define_method.ipp"
00509
00510 #endif // Exc_Ruby__rb_cpp_define_method__hpp_
00511