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:
AsyncFuture TypedReferenceCount TypedObject ReferenceCount MemoryBase MemoryBase

Public Member Functions

virtual bool cancel () override
 Cancels all the futures. More...
 
virtual TypeHandle force_init_type () override
 
AsyncFutureget_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...
 
TypedObjectget_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
 
TypedObjectget_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 (std::nullptr_t)
 Sets this future's result. More...
 
void set_result (TypedObject *result)
 
void set_result (TypedReferenceCount *result)
 
void set_result (TypedWritableReferenceCount *result)
 
void set_result (const EventParameter &result)
 
void set_result (TypedObject *ptr, ReferenceCount *ref_ptr)
 Sets this future's result. More...
 
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
 
TypedObjectas_typed_object ()
 Returns the object, upcast (if necessary) to a TypedObject pointer. More...
 
const TypedObjectas_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...
 
TypedObjectoperator= (const TypedObject &copy)=default
 
- Public Member Functions inherited from ReferenceCount
int get_ref_count () const
 
WeakReferenceListget_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...
 
WeakReferenceListweak_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 AsyncFuturegather (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 165 of file asyncFuture.h.

Member Function Documentation

◆ cancel()

bool AsyncGatheringFuture::cancel ( )
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 347 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 193 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 185 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 202 of file asyncFuture.I.


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