Ruby 2.7.7p221 (2022-11-24 revision 168ec2b1e5ad0e4688e963d9de019557c78feed9)
Namespaces | Typedefs
cxxanyargs.hpp File Reference

Provides old prototypes for C++ programs. More...

Go to the source code of this file.

Namespaces

namespace  ruby
 The main namespace.
 
namespace  ruby::backward
 Backwards compatibility layer.
 
namespace  ruby::backward::cxxanyargs
 Provides ANYARGS deprecation warnings.
 

Typedefs

typedef VALUE ruby::backward::cxxanyargs::type(ANYARGS)
 ANYARGS-ed function type. More...
 
typedef void ruby::backward::cxxanyargs::void_type(ANYARGS)
 ANYARGS-ed function type, void variant. More...
 
typedef int ruby::backward::cxxanyargs::int_type(ANYARGS)
 ANYARGS-ed function type, int variant. More...
 

Functions

Hooking global variables
void ruby::backward::cxxanyargs::rb_define_virtual_variable (const char *q, type *w, void_type *e)
 Define a function-backended global variable. More...
 
void ruby::backward::cxxanyargs::rb_define_hooked_variable (const char *q, VALUE *w, type *e, void_type *r)
 Define a function-backended global variable. More...
 
Exceptions and tag jumps
VALUE ruby::backward::cxxanyargs::rb_iterate (VALUE(*q)(VALUE), VALUE w, type *e, VALUE r)
 Old way to implement iterators. More...
 
VALUE ruby::backward::cxxanyargs::rb_block_call (VALUE q, ID w, int e, const VALUE *r, type *t, VALUE y)
 Call a method with a block. More...
 
VALUE ruby::backward::cxxanyargs::rb_rescue (type *q, VALUE w, type *e, VALUE r)
 An equivalent of rescue clause. More...
 
VALUE ruby::backward::cxxanyargs::rb_rescue2 (type *q, VALUE w, type *e, VALUE r,...)
 An equivalent of rescue clause. More...
 
VALUE ruby::backward::cxxanyargs::rb_ensure (type *q, VALUE w, type *e, VALUE r)
 An equivalent of ensure clause. More...
 
VALUE ruby::backward::cxxanyargs::rb_catch (const char *q, type *w, VALUE e)
 An equivalent of Kernel#catch. More...
 
VALUE ruby::backward::cxxanyargs::rb_catch_obj (VALUE q, type *w, VALUE e)
 An equivalent of Kernel#catch. More...
 
Procs, Fibers and Threads
VALUE ruby::backward::cxxanyargs::rb_fiber_new (type *q, VALUE w)
 Creates a rb_cFiber instance. More...
 
VALUE ruby::backward::cxxanyargs::rb_proc_new (type *q, VALUE w)
 Creates a rb_cProc instance. More...
 
VALUE ruby::backward::cxxanyargs::rb_thread_create (type *q, void *w)
 Creates a rb_cThread instance. More...
 
Hash and st_table
int ruby::backward::cxxanyargs::st_foreach (st_table *q, int_type *w, st_data_t e)
 Iteration over the given table. More...
 
int ruby::backward::cxxanyargs::st_foreach_check (st_table *q, int_type *w, st_data_t e, st_data_t)
 Iteration over the given table. More...
 
void ruby::backward::cxxanyargs::st_foreach_safe (st_table *q, int_type *w, st_data_t e)
 Iteration over the given table. More...
 
void ruby::backward::cxxanyargs::rb_hash_foreach (VALUE q, int_type *w, VALUE e)
 Iteration over the given hash. More...
 
void ruby::backward::cxxanyargs::rb_ivar_foreach (VALUE q, int_type *w, VALUE e)
 Iteration over each instance variable of the object. More...
 

Detailed Description

Provides old prototypes for C++ programs.

Author
@shyouhei
Note
DO NOT MODERNIZE THIS FILE! As the file name implies it is meant to be a backwards compatibility shim. Please stick to C++ 98 and never use newer features, like constexpr.

Definition in file cxxanyargs.hpp.