EventParameter

class EventParameter

An optional parameter associated with an event. Each event may have zero or more of these. Each parameter stores a pointer to a TypedWritableReferenceCount object, which of course could be pretty much anything. To store a simple value like a double or a string, the EventParameter constructors transparently use the ParamValue template class from paramValue.h.

Inheritance diagram

Inheritance diagram of EventParameter

EventParameter(void) = default
EventParameter(std::nullptr_t)
EventParameter(TypedWritableReferenceCount const *ptr)
EventParameter(TypedReferenceCount const *ptr)
EventParameter(int value)
EventParameter(double value)
EventParameter(std::string const &value)
EventParameter(std::wstring const &value)
EventParameter(EventParameter const &copy)

Defines an EventParameter that stores a pointer to any kind of TypedWritableReferenceCount object. This is the most general constructor.

This accepts a const pointer, even though it stores (and eventually returns) a non-const pointer. This is just the simplest way to allow both const and non-const pointers to be stored, but it does lose the constness. Be careful.

Defines an EventParameter that stores a pointer to a TypedReferenceCount object. Note that a TypedReferenceCount is not the same kind of pointer as a TypedWritableReferenceCount, hence we require both constructors.

This accepts a const pointer, even though it stores (and eventually returns) a non-const pointer. This is just the simplest way to allow both const and non-const pointers to be stored, but it does lose the constness. Be careful.

Defines an EventParameter that stores an integer value.

Defines an EventParameter that stores a floating-point value.

Defines an EventParameter that stores a string value.

Defines an EventParameter that stores a wstring value.

double get_double_value(void) const

Retrieves the value stored in the EventParameter. It is only valid to call this if is_double() has already returned true.

int get_int_value(void) const

Retrieves the value stored in the EventParameter. It is only valid to call this if is_int() has already returned true.

TypedWritableReferenceCount *get_ptr(void) const

Retrieves a pointer to the actual value stored in the parameter. The TypeHandle of this pointer may be examined to determine the actual type of parameter it contains. This is the only way to retrieve the value when it is not one of the above predefined types.

std::string get_string_value(void) const

Retrieves the value stored in the EventParameter. It is only valid to call this if is_string() has already returned true.

TypedReferenceCount *get_typed_ref_count_value(void) const

Retrieves the value stored in the EventParameter. It is only valid to call this if is_typed_ref_count() has already returned true.

std::wstring get_wstring_value(void) const

Retrieves the value stored in the EventParameter. It is only valid to call this if is_wstring() has already returned true.

bool is_double(void) const

Returns true if the EventParameter stores a double floating-point value, false otherwise.

bool is_empty(void) const

These functions are conveniences to easily determine if the EventParameter is one of the predefined parameter types, and retrieve the corresponding value. Of course, it is possible that the EventParameter is some user-defined type, and is none of these.

Returns true if the EventParameter is the empty parameter, storing nothing, or false otherwise.

bool is_int(void) const

Returns true if the EventParameter stores an integer value, false otherwise.

bool is_string(void) const

Returns true if the EventParameter stores a string value, false otherwise.

bool is_typed_ref_count(void) const

Returns true if the EventParameter stores a TypedReferenceCount pointer, false otherwise. Note that a TypedReferenceCount is not exactly the same kind of pointer as a TypedWritableReferenceCount, hence the need for this separate call.

bool is_wstring(void) const

Returns true if the EventParameter stores a wstring value, false otherwise.

void output(std::ostream &out) const