|
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 |