Panda3D
|
Specific future that collects the results of several futures. More...
#include "asyncFuture.h"
Public Member Functions | |
virtual bool | cancel () override |
Cancels all the futures. More... | |
virtual TypeHandle | force_init_type () override |
AsyncFuture * | get_future (size_t i) const |
Returns the nth future that was passed into the constructor. More... | |
size_t | get_num_futures () const |
Returns the number of futures that were passed to the constructor. More... | |
TypedObject * | get_result (size_t i) const |
Returns the result of the nth future that was passed into the constructor. More... | |
virtual TypeHandle | get_type () const override |
![]() | |
AsyncFuture () | |
Initializes the future in the pending state. More... | |
virtual | ~AsyncFuture () |
Destroys the future. More... | |
bool | add_waiting_task (AsyncTask *task) |
Indicates that the given task is waiting for this future to complete. More... | |
bool | cancelled () const |
Returns true if the future was cancelled. More... | |
bool | done () const |
Returns true if the future is done or has been cancelled. More... | |
const std::string & | get_done_event () const |
TypedObject * | get_result () const |
Returns this future's result. More... | |
void | get_result (TypedObject *&ptr, ReferenceCount *&ref_ptr) const |
Returns this future's result as a pair of TypedObject, ReferenceCount pointers. More... | |
virtual bool | is_task () const |
void | notify_done (bool clean_exit) |
Schedules the done callbacks. More... | |
virtual void | output (std::ostream &out) const |
void | set_done_event (const std::string &done_event) |
void | set_result (const EventParameter &result) |
void | set_result (std::nullptr_t) |
Sets this future's result. More... | |
void | set_result (TypedObject *ptr, ReferenceCount *ref_ptr) |
Sets this future's result. More... | |
void | set_result (TypedObject *result) |
void | set_result (TypedReferenceCount *result) |
void | set_result (TypedWritableReferenceCount *result) |
void | wait () |
Waits until the future is done. More... | |
void | wait (double timeout) |
Waits until the future is done, or until the timeout is reached. More... | |
![]() | |
TypedReferenceCount (const TypedReferenceCount ©) | |
void | operator= (const TypedReferenceCount ©) |
![]() | |
TypedObject (const TypedObject ©)=default | |
TypedObject * | as_typed_object () |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
const TypedObject * | as_typed_object () const |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
int | get_best_parent_from_Set (const std::set< int > &) const |
int | get_type_index () const |
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More... | |
bool | is_exact_type (TypeHandle handle) const |
Returns true if the current object is the indicated type exactly. More... | |
bool | is_of_type (TypeHandle handle) const |
Returns true if the current object is or derives from the indicated type. More... | |
TypedObject & | operator= (const TypedObject ©)=default |
![]() | |
void | operator delete (void *, void *) |
void | operator delete (void *ptr) |
void | operator delete[] (void *, void *) |
void | operator delete[] (void *ptr) |
void * | operator new (size_t size) |
void * | operator new (size_t size, void *ptr) |
void * | operator new[] (size_t size) |
void * | operator new[] (size_t size, void *ptr) |
![]() | |
int | get_ref_count () const |
WeakReferenceList * | get_weak_list () const |
Returns the WeakReferenceList associated with this ReferenceCount object. More... | |
bool | has_weak_list () const |
Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. More... | |
void | local_object () |
This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. More... | |
void | ref () const |
Explicitly increments the reference count. More... | |
bool | ref_if_nonzero () const |
Atomically increases the reference count of this object if it is not zero. More... | |
bool | test_ref_count_integrity () const |
Does some easy checks to make sure that the reference count isn't completely bogus. More... | |
bool | test_ref_count_nonzero () const |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More... | |
virtual bool | unref () const |
Explicitly decrements the reference count. More... | |
bool | unref_if_one () const |
Atomically decreases the reference count of this object if it is one. More... | |
WeakReferenceList * | weak_ref () |
Adds the indicated PointerToVoid as a weak reference to this object. More... | |
void | weak_unref () |
Removes the indicated PointerToVoid as a weak reference to this object. More... | |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
![]() | |
static AsyncFuture * | gather (Futures futures) |
Creates a new future that returns `done()` when all of the contained futures are done. More... | |
static TypeHandle | get_class_type () |
static void | init_type () |
![]() | |
static TypeHandle | get_class_type () |
static void | init_type () |
![]() | |
static TypeHandle | get_class_type () |
static void | init_type () |
This function is declared non-inline to work around a compiler bug in g++ 2.96. More... | |
![]() | |
static TypeHandle | get_class_type () |
static void | init_type () |
Friends | |
class | AsyncFuture |
Additional Inherited Members | |
![]() | |
typedef pvector< PT(AsyncFuture)> | Futures |
![]() | |
get_done_event | |
Returns the event name that will be triggered when the future finishes. More... | |
set_done_event | |
Sets the event name that will be triggered when the future finishes. More... | |
![]() | |
get_type | |
![]() | |
get_ref_count | |
Returns the current reference count. More... | |
Specific future that collects the results of several futures.
Definition at line 166 of file asyncFuture.h.
|
overridevirtual |
Cancels all the futures.
Returns true if any futures were cancelled. Makes sure that all the futures finish before this one is marked done, in order to maintain the guarantee that calling result() is safe when done() returns true.
Reimplemented from AsyncFuture.
Definition at line 360 of file asyncFuture.cxx.
References AsyncFuture::cancel(), AsyncFuture::done(), AtomicAdjustDummyImpl::inc(), and AsyncFuture::notify_done().
|
inline |
Returns the nth future that was passed into the constructor.
Definition at line 192 of file asyncFuture.I.
|
inline |
Returns the number of futures that were passed to the constructor.
Definition at line 184 of file asyncFuture.I.
|
inline |
Returns the result of the nth future that was passed into the constructor.
Definition at line 201 of file asyncFuture.I.