Rice
3.0.0
|
The base class for all Objects. More...
#include <Object_defn.hpp>
Public Member Functions | |
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. | |
Protected Member Functions | |
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. | |
The base class for all Objects.
Perhaps the name "Object" is a misnomer, because this class really holds an object reference, not an object.
Object Rice::Object::attr_get | ( | Identifier | name | ) | const |
Get the value of an instance variable, but don't warn if it is.
name | the name of the instance variable to get |
Object Rice::Object::call | ( | Identifier | id, |
ArgT... | args | ||
) | const |
Call the Ruby method specified by 'id' on object 'obj'.
Pass in arguments (arg1, arg2, ...). The arguments will be converted to Ruby objects with to_ruby<>.
E.g.:
If a return type is specified, the return value will automatically be converted to that type as long as 'from_ruby' exists for that type.
E.g.:
int Rice::Object::compare | ( | Object const & | other | ) | const |
Compare this object to another object.
Gets the result of self <=> other and returns the result. The result will be less than zero if self < other, greater than zero if self > other, and equal to zero if self == other.
String Rice::Object::inspect | ( | ) | const |
Inspect the object.
Evaluate the given string in the context of the object.
This is equivalant to calling obj.instance_eval(s) from inside the interpreter.
bool Rice::Object::is_a | ( | Object | klass | ) | const |
Determine whether the object is an instance of a class/module.
klass | a class or module. |
bool Rice::Object::is_frozen | ( | ) | const |
Determine if the object is frozen.
bool Rice::Object::is_instance_of | ( | Object | klass | ) | const |
Determine whether class is the object's class.
klass | a class. |
Object Rice::Object::iv_get | ( | Identifier | name | ) | const |
Get the value of an instance variable.
name | the name of the instance variable to get |
void Rice::Object::iv_set | ( | Identifier | name, |
T const & | value | ||
) |
Set an instance variable.
name | the name of the instance variable to set (including the leading @ sign) |
value | the value of the variable, which will be converted to a Ruby type if necessary. |
|
inline |
Returns false if the object is nil or false; returns true otherwise.
References test().
int Rice::Object::rb_type | ( | ) | const |
Return the type of the underlying C object.
This is equivalent to calling rb_type(obj).
bool Rice::Object::respond_to | ( | Identifier | id | ) | const |
Determine if the objects responds to a method.
id | the name of the method |
|
inline |
Returns false if the object is nil or false; returns true otherwise.
Referenced by operator bool().
String Rice::Object::to_s | ( | ) | const |
Return a string representation of an object.
Object Rice::Object::vcall | ( | Identifier | id, |
Array | args | ||
) |
Vectorized call.
Calls the method identified by id with the list of arguments identified by args.
id | the name of the method to call |
args | the arguments to the method |