Panda3D
Public Member Functions | List of all members
EventParameter Class Reference

An optional parameter associated with an event. More...

#include "eventParameter.h"

Public Member Functions

 EventParameter (std::nullptr_t)
 
 EventParameter (const TypedWritableReferenceCount *ptr)
 Defines an EventParameter that stores a pointer to any kind of TypedWritableReferenceCount object. More...
 
 EventParameter (const TypedReferenceCount *ptr)
 Defines an EventParameter that stores a pointer to a TypedReferenceCount object. More...
 
 EventParameter (int value)
 Defines an EventParameter that stores an integer value. More...
 
 EventParameter (double value)
 Defines an EventParameter that stores a floating-point value. More...
 
 EventParameter (const std::string &value)
 Defines an EventParameter that stores a string value. More...
 
 EventParameter (const std::wstring &value)
 Defines an EventParameter that stores a wstring value. More...
 
 EventParameter (const EventParameter &copy)
 
double get_double_value () const
 Retrieves the value stored in the EventParameter. More...
 
int get_int_value () const
 Retrieves the value stored in the EventParameter. More...
 
TypedWritableReferenceCountget_ptr () const
 Retrieves a pointer to the actual value stored in the parameter. More...
 
std::string get_string_value () const
 Retrieves the value stored in the EventParameter. More...
 
TypedReferenceCountget_typed_ref_count_value () const
 Retrieves the value stored in the EventParameter. More...
 
std::wstring get_wstring_value () const
 Retrieves the value stored in the EventParameter. More...
 
bool is_double () const
 Returns true if the EventParameter stores a double floating-point value, false otherwise. More...
 
bool is_empty () const
 Returns true if the EventParameter is the empty parameter, storing nothing, or false otherwise. More...
 
bool is_int () const
 Returns true if the EventParameter stores an integer value, false otherwise. More...
 
bool is_string () const
 Returns true if the EventParameter stores a string value, false otherwise. More...
 
bool is_typed_ref_count () const
 Returns true if the EventParameter stores a TypedReferenceCount pointer, false otherwise. More...
 
bool is_wstring () const
 Returns true if the EventParameter stores a wstring value, false otherwise. More...
 
EventParameteroperator= (const EventParameter &copy)
 
void output (std::ostream &out) const
 

Detailed Description

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.

Definition at line 35 of file eventParameter.h.

Constructor & Destructor Documentation

◆ EventParameter() [1/6]

EventParameter::EventParameter ( const TypedWritableReferenceCount ptr)
inline

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.

Definition at line 24 of file eventParameter.I.

◆ EventParameter() [2/6]

EventParameter::EventParameter ( const TypedReferenceCount ptr)
inline

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.

Definition at line 37 of file eventParameter.I.

◆ EventParameter() [3/6]

EventParameter::EventParameter ( int  value)
inline

Defines an EventParameter that stores an integer value.

Definition at line 44 of file eventParameter.I.

◆ EventParameter() [4/6]

EventParameter::EventParameter ( double  value)
inline

Defines an EventParameter that stores a floating-point value.

Definition at line 51 of file eventParameter.I.

◆ EventParameter() [5/6]

EventParameter::EventParameter ( const std::string &  value)
inline

Defines an EventParameter that stores a string value.

Definition at line 58 of file eventParameter.I.

◆ EventParameter() [6/6]

EventParameter::EventParameter ( const std::wstring &  value)
inline

Defines an EventParameter that stores a wstring value.

Definition at line 64 of file eventParameter.I.

Member Function Documentation

◆ get_double_value()

double EventParameter::get_double_value ( ) const
inline

Retrieves the value stored in the EventParameter.

It is only valid to call this if is_double() has already returned true.

Definition at line 141 of file eventParameter.I.

◆ get_int_value()

int EventParameter::get_int_value ( ) const
inline

Retrieves the value stored in the EventParameter.

It is only valid to call this if is_int() has already returned true.

Definition at line 116 of file eventParameter.I.

◆ get_ptr()

TypedWritableReferenceCount * EventParameter::get_ptr ( ) const
inline

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.

Definition at line 219 of file eventParameter.I.

Referenced by DataNodeTransmit::write_datagram().

◆ get_string_value()

std::string EventParameter::get_string_value ( ) const
inline

Retrieves the value stored in the EventParameter.

It is only valid to call this if is_string() has already returned true.

Definition at line 162 of file eventParameter.I.

◆ get_typed_ref_count_value()

TypedReferenceCount * EventParameter::get_typed_ref_count_value ( ) const
inline

Retrieves the value stored in the EventParameter.

It is only valid to call this if is_typed_ref_count() has already returned true.

Definition at line 207 of file eventParameter.I.

◆ get_wstring_value()

std::wstring EventParameter::get_wstring_value ( ) const
inline

Retrieves the value stored in the EventParameter.

It is only valid to call this if is_wstring() has already returned true.

Definition at line 183 of file eventParameter.I.

◆ is_double()

bool EventParameter::is_double ( ) const
inline

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

Definition at line 129 of file eventParameter.I.

References is_empty().

◆ is_empty()

bool EventParameter::is_empty ( ) const
inline

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

Definition at line 95 of file eventParameter.I.

Referenced by is_double(), is_int(), is_string(), is_typed_ref_count(), and is_wstring().

◆ is_int()

bool EventParameter::is_int ( ) const
inline

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

Definition at line 104 of file eventParameter.I.

References is_empty().

◆ is_string()

bool EventParameter::is_string ( ) const
inline

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

Definition at line 150 of file eventParameter.I.

References is_empty().

◆ is_typed_ref_count()

bool EventParameter::is_typed_ref_count ( ) const
inline

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.

Definition at line 195 of file eventParameter.I.

References is_empty().

◆ is_wstring()

bool EventParameter::is_wstring ( ) const
inline

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

Definition at line 171 of file eventParameter.I.

References is_empty().


The documentation for this class was generated from the following files: