API reference - Class Value

Notation used in Ruby API documentation

Description: Encapsulates a value (preferably a plain data type) in an object

This class is provided to 'box' a value (encapsulate the value in an object). This class is required to interface to pointer or reference types in a method call. By using that class, the method can alter the value and thus implement 'out parameter' semantics. The value may be 'nil' which acts as a null pointer in pointer type arguments. This class has been introduced in version 0.22.

Public constructors

new ValuenewConstructs a nil object.
new Valuenew(variant value)Constructs a non-nil object with the given value.

Public methods

[const]voidassign(const Value other)Assign the contents of another object to self
voidcreateEnsures the C++ object is created
voiddestroyExplicitly destroy the object
[const]booldestroyed?Returns a value indicating whether the object was already destroyed
[const]ValuedupCreates a copy of self
[const]boolis_const_object?Returns a value indicating whether the reference is a const reference
[const]stringto_sConvert this object to a string
[const]variantvalueGets the actual value.
voidvalue=(variant value)Set the actual value.

Detailed description

[const] void assign(const Value other)

Description: Assign the contents of another object to self

This method assigns the contents of another object to self. This is a deep copy that does not only copy the reference but the actual content.

void create

Description: Ensures the C++ object is created

Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created.

void destroy

Description: Explicitly destroy the object

Explicitly destroy the object on C++ side if it was owned by the Ruby interpreter. Subsequent access to this object will throw an exception. If the object is not owned by Ruby, this method will do nothing.

[const] bool destroyed?

Description: Returns a value indicating whether the object was already destroyed

This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself.

[const] Value dup

Description: Creates a copy of self

[const] bool is_const_object?

Description: Returns a value indicating whether the reference is a const reference

This method returns true, if self is a const reference. In that case, only const methods may be called on self.

[static] new Value new

Description: Constructs a nil object.

[static] new Value new(variant value)

Description: Constructs a non-nil object with the given value.

This constructor has been introduced in version 0.22.

[const] string to_s

Description: Convert this object to a string

[const] variant value

Description: Gets the actual value.

void value=(variant value)

Description: Set the actual value.