Panda3D

Public Member Functions | Static Public Member Functions | Friends | List of all members
AsyncGatheringFuture Class Referencefinal

Specific future that collects the results of several futures. More...

`#include "asyncFuture.h"`

Inheritance diagram for AsyncGatheringFuture:

## 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
Public Member Functions inherited from AsyncFuture
| 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...
Public Member Functions inherited from TypedReferenceCount
| TypedReferenceCount (const TypedReferenceCount &copy)
void | operator= (const TypedReferenceCount &copy)
Public Member Functions inherited from TypedObject
| TypedObject (const TypedObject &copy)=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 &copy)=default
Public Member Functions inherited from MemoryBase
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)
Public Member Functions inherited from ReferenceCount
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 Public Member Functions inherited from AsyncFuture
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 Public Member Functions inherited from TypedReferenceCount
static TypeHandle | get_class_type ()
static void | init_type ()
Static Public Member Functions inherited from TypedObject
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 Public Member Functions inherited from ReferenceCount
static TypeHandle | get_class_type ()
static void | init_type ()

## Friends
class | AsyncFuture

## Additional Inherited Members
Public Types inherited from AsyncFuture
typedef pvector< PT(AsyncFuture)> | Futures
Public Attributes inherited from AsyncFuture
| 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...
Public Attributes inherited from TypedObject
| get_type
Public Attributes inherited from ReferenceCount
| get_ref_count
| Returns the current reference count. More...

## Detailed Description

Specific future that collects the results of several futures.

Definition at line 166 of file asyncFuture.h.

## Member Function Documentation

## ◆ cancel()

bool AsyncGatheringFuture::cancel | ( |  | ) |
| override virtual

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().

## ◆ get_future()

AsyncFuture * AsyncGatheringFuture::get_future | ( | size_t | i | ) | const
| inline

Returns the nth future that was passed into the constructor.

Definition at line 192 of file asyncFuture.I.

## ◆ get_num_futures()

size_t AsyncGatheringFuture::get_num_futures | ( |  | ) | const
| inline

Returns the number of futures that were passed to the constructor.

Definition at line 184 of file asyncFuture.I.

## ◆ get_result()

TypedObject * AsyncGatheringFuture::get_result | ( | size_t | i | ) | const
| inline

Returns the result of the nth future that was passed into the constructor.

Definition at line 201 of file asyncFuture.I.

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

- panda/src/event/asyncFuture.h
- panda/src/event/asyncFuture.cxx
- panda/src/event/asyncFuture.I