Rice
3.0.0
|
A smartpointer-like wrapper for Ruby builtin objects. More...
#include <Builtin_Object_defn.hpp>
Public Member Functions | |
Builtin_Object (Object value) | |
Wrap an already allocated Ruby object. More... | |
Builtin_Object (Builtin_Object const &other) | |
Make a copy of a Builtin_Object. More... | |
RObject & | operator* () const |
Return a reference to obj_. | |
RObject * | operator-> () const |
Return a pointer to obj_. | |
RObject * | get () const |
Return a pointer to obj_. | |
void | swap (Builtin_Object< Builtin_Type > &ref) |
Swap with another builtin object of the same type. More... | |
![]() | |
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 | |
![]() | |
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 smartpointer-like wrapper for Ruby builtin objects.
A builtin object is one of Ruby's internal types, e.g. RArray or RString. Every builtin type structure has a corresponding integer type number (e.g T_ARRAY for RArray or T_STRING for RString). This class is a wrapper for those types of objects, primarily useful as a base class for other wrapper classes like Array and Hash.
Rice::Builtin_Object< Builtin_Type >::Builtin_Object | ( | Object | value | ) |
Wrap an already allocated Ruby object.
Checks to see if the object is an object of type Builtin_Type; a C++ exception is thrown if this is not the case.
value | the object to be wrapped. |
Rice::Builtin_Object< Builtin_Type >::Builtin_Object | ( | Builtin_Object< Builtin_Type > const & | other | ) |
Make a copy of a Builtin_Object.
other | the Builtin_Object to be copied. |
void Rice::Builtin_Object< Builtin_Type >::swap | ( | Builtin_Object< Builtin_Type > & | ref | ) |
Swap with another builtin object of the same type.
ref | the object with which to swap. |