Rice
3.0.0
|
A helper for defining a Class and its methods. More...
#include <Class_defn.hpp>
Public Member Functions | |
Class () | |
Class (VALUE v) | |
Construct a new class wrapper from a ruby object of type T_CLASS. | |
Class & | undef_creation_funcs () |
Disallow creation of an instance from Ruby code. More... | |
![]() | |
Module_impl (T const &arg) | |
Class & | add_handler (Functor_T functor) |
Define an exception handler. More... | |
Class & | define_method (Identifier name, Func_T func, Arguments *arguments=0) |
Define an instance method. More... | |
Class & | define_method (Identifier name, Func_T func, Arg const &arg) |
Class & | define_singleton_method (Identifier name, Func_T func, Arguments *arguments=0) |
Define a singleton method. More... | |
Class & | define_singleton_method (Identifier name, Func_T func, Arg const &arg) |
Class & | define_module_function (Identifier name, Func_T func, Arguments *arguments=0) |
Define a module function. More... | |
Class & | define_module_function (Identifier name, Func_T func, Arg const &arg) |
Class & | define_iterator (Iterator_T(T::*begin)(), Iterator_T(T::*end)(), Identifier name="each") |
Define an iterator. More... | |
Class & | include_module (Module const &inc) |
Include a module. More... | |
Class & | const_set (Identifier name, Object value) |
Set a constant. More... | |
Object | const_get (Identifier name) const |
Get a constant. More... | |
bool | const_defined (Identifier name) const |
Determine whether a constant is defined. More... | |
void | remove_const (Identifier name) |
Remove a constant. More... | |
Module | define_module (char const *name) |
Define a module under this module. More... | |
Class | define_class (char const *name, Object superclass=rb_cObject) |
Define a class under this module. More... | |
Data_Type< T > | define_class (char const *name) |
Define a new data class under this module. More... | |
Data_Type< T > | define_class (char const *name) |
Define a new data class under this module. More... | |
![]() | |
Module () | |
Default construct a Module and initialize it to rb_cObject. | |
Module (VALUE v) | |
Construct a Module from an existing Module object. | |
String | name () const |
Return the name of the module. | |
void | swap (Module &other) |
Swap with another Module. | |
Array | ancestors () const |
Return an array containing the Module's ancestors. More... | |
Class | singleton_class () const |
Return the module's singleton class. More... | |
![]() | |
Module_impl (T const &arg) | |
Module & | add_handler (Functor_T functor) |
Define an exception handler. More... | |
Module & | define_method (Identifier name, Func_T func, Arguments *arguments=0) |
Define an instance method. More... | |
Module & | define_method (Identifier name, Func_T func, Arg const &arg) |
Module & | define_singleton_method (Identifier name, Func_T func, Arguments *arguments=0) |
Define a singleton method. More... | |
Module & | define_singleton_method (Identifier name, Func_T func, Arg const &arg) |
Module & | define_module_function (Identifier name, Func_T func, Arguments *arguments=0) |
Define a module function. More... | |
Module & | define_module_function (Identifier name, Func_T func, Arg const &arg) |
Module & | define_iterator (Iterator_T(T::*begin)(), Iterator_T(T::*end)(), Identifier name="each") |
Define an iterator. More... | |
Module & | include_module (Module const &inc) |
Include a module. More... | |
Module & | const_set (Identifier name, Object value) |
Set a constant. More... | |
Object | const_get (Identifier name) const |
Get a constant. More... | |
bool | const_defined (Identifier name) const |
Determine whether a constant is defined. More... | |
void | remove_const (Identifier name) |
Remove a constant. More... | |
Module | define_module (char const *name) |
Define a module under this module. More... | |
Class | define_class (char const *name, Object superclass=rb_cObject) |
Define a class under this module. More... | |
Data_Type< T > | define_class (char const *name) |
Define a new data class under this module. More... | |
Data_Type< T > | define_class (char const *name) |
Define a new data class under this module. More... | |
![]() | |
Module_base (VALUE v=rb_cObject) | |
Module_base (Module_base const &other) | |
Module_base & | operator= (Module_base const &other) |
void | swap (Module_base &other) |
![]() | |
Object (VALUE value=Qnil) | |
Encapsulate an existing ruby object. | |
Object (Object const &other) | |
Copy constructor. | |
virtual | ~Object () |
Destructor. | |
bool | test () const |
operator bool () const | |
bool | is_nil () const |
Returns true if the object is nil, false otherwise. | |
operator VALUE () const | |
Implicit conversion to VALUE. | |
VALUE const volatile & | value () const |
Explicitly get the encapsulated VALUE. | |
Class | class_of () const |
Get the class of an object. More... | |
int | compare (Object const &other) const |
Compare this object to another object. More... | |
String | to_s () const |
Return a string representation of an object. More... | |
String | inspect () const |
Inspect the object. More... | |
void | freeze () |
Freeze the object. | |
bool | is_frozen () const |
Determine if the object is frozen. More... | |
void | swap (Object &other) |
Swap with another Object. | |
Object | instance_eval (String const &s) |
Evaluate the given string in the context of the object. More... | |
int | rb_type () const |
Return the type of the underlying C object. More... | |
bool | is_a (Object klass) const |
Determine whether the object is an instance of a class/module. More... | |
bool | respond_to (Identifier id) const |
Determine if the objects responds to a method. More... | |
bool | is_instance_of (Object klass) const |
Determine whether class is the object's class. More... | |
template<typename T > | |
void | iv_set (Identifier name, T const &value) |
Set an instance variable. More... | |
Object | iv_get (Identifier name) const |
Get the value of an instance variable. More... | |
Object | attr_get (Identifier name) const |
Get the value of an instance variable, but don't warn if it is. More... | |
template<typename ... ArgT> | |
Object | call (Identifier id, ArgT... args) const |
Call the Ruby method specified by 'id' on object 'obj'. More... | |
Object | vcall (Identifier id, Array args) |
Vectorized call. More... | |
void | mark () const |
Mark the object with the garbage collector. | |
Additional Inherited Members | |
![]() | |
template<typename Exception_T , typename Functor_T > | |
void | add_handler (Functor_T functor) |
Object | handler () const |
![]() | |
void | set_value (VALUE v) |
Set the encapsulated value. | |
template<typename ... ArgT> | |
std::vector< VALUE > | convert_args (ArgT &... args) const |
Unpack the provided arguments and convert them all to Ruby types. | |
A helper for defining a Class and its methods.
This class provides a C++-style interface to ruby's Class class and for defining methods on that class.
Rice::Class::Class | ( | ) |
Default construct a new class wrapper and initialize it to rb_cObject.
Class& Rice::Class::undef_creation_funcs | ( | ) |
Disallow creation of an instance from Ruby code.
Undefines the singleton method allocate (or new, if using a version of ruby prior to 1.7) and the instance method initialize.