VTK: vtkThreadedCallbackQueue::vtkSharedFuture< ReturnT > Class Template Reference

| VTK 9.3.1

Public Types | Public Member Functions | Friends | List of all members
vtkThreadedCallbackQueue::vtkSharedFuture< ReturnT > Class Template Reference

A `vtkSharedFuture` is an object returned by the methods `Push` and `PushDependent`. More...

`#include <vtkThreadedCallbackQueue.h>`

Inheritance diagram for vtkThreadedCallbackQueue::vtkSharedFuture< ReturnT >:
[legend]
Collaboration diagram for vtkThreadedCallbackQueue::vtkSharedFuture< ReturnT >:
[legend]

## Public Types
using | ReturnLValueRef = typename ReturnValueWrapper< ReturnT >::ReturnLValueRef
using | ReturnConstLValueRef = typename ReturnValueWrapper< ReturnT >::ReturnConstLValueRef

## Public Member Functions
| vtkAbstractTypeMacro (vtkSharedFuture< ReturnT >, vtkSharedFutureBase)
| vtkSharedFuture ()=default
ReturnLValueRef | Get ()
| This returns the return value of the pushed function. More...
ReturnConstLValueRef | Get () const
| This returns the return value of the pushed function. More...
Public Member Functions inherited from vtkThreadedCallbackQueue::vtkSharedFutureBase
| vtkBaseTypeMacro (vtkSharedFutureBase, vtkObjectBase)
| vtkSharedFutureBase ()
virtual void | Wait () const
| Blocks current thread until the task associated with this future has terminated. More...
Public Member Functions inherited from vtkObjectBase
const char * | GetClassName () const
| Return the class name as a string. More...
virtual std::string | GetObjectDescription () const
| The object description printed in messages and PrintSelf output. More...
virtual vtkTypeBool | IsA (const char *name)
| Return 1 if this class is the same type of (or a subclass of) the named class. More...
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name)
| Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More...
virtual void | Delete ()
| Delete a VTK object. More...
virtual void | FastDelete ()
| Delete a reference to this object. More...
void | InitializeObjectBase ()
void | Print (ostream &os)
| Print an object to an ostream. More...
virtual void | Register (vtkObjectBase *o)
| Increase the reference count (mark as used by another object). More...
virtual void | UnRegister (vtkObjectBase *o)
| Decrease the reference count (release by another object). More...
int | GetReferenceCount ()
| Return the current reference count of this object. More...
void | SetReferenceCount (int)
| Sets the reference count. More...
bool | GetIsInMemkind () const
| A local state flag that remembers whether this object lives in the normal or extended memory space. More...
virtual void | PrintSelf (ostream &os, vtkIndent indent)
| Methods invoked by print to print information about the object including superclasses. More...
virtual void | PrintHeader (ostream &os, vtkIndent indent)
| Methods invoked by print to print information about the object including superclasses. More...
virtual void | PrintTrailer (ostream &os, vtkIndent indent)
| Methods invoked by print to print information about the object including superclasses. More...
virtual bool | UsesGarbageCollector () const
| Indicate whether the class uses `vtkGarbageCollector` or not. More...

## Friends
class | vtkThreadedCallbackQueue

## Additional Inherited Members
Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool | IsTypeOf (const char *name)
| Return 1 if this class type is the same type of (or a subclass of) the named class. More...
static vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name)
| Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More...
static vtkObjectBase * | New ()
| Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
static void | SetMemkindDirectory (const char *directoryname)
| The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. More...
static bool | GetUsingMemkind ()
| A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space. More...
Protected Member Functions inherited from vtkObjectBase
| vtkObjectBase ()
virtual | ~vtkObjectBase ()
virtual void | RegisterInternal (vtkObjectBase *, vtkTypeBool check)
virtual void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check)
virtual void | ReportReferences (vtkGarbageCollector *)
virtual void | ObjectFinalize ()
| vtkObjectBase (const vtkObjectBase &)
void | operator= (const vtkObjectBase &)
Static Protected Member Functions inherited from vtkObjectBase
static vtkMallocingFunction | GetCurrentMallocFunction ()
static vtkReallocingFunction | GetCurrentReallocFunction ()
static vtkFreeingFunction | GetCurrentFreeFunction ()
static vtkFreeingFunction | GetAlternateFreeFunction ()
Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > | ReferenceCount
vtkWeakPointerBase ** | WeakPointers

## Detailed Description

### template<class ReturnT>
class vtkThreadedCallbackQueue::vtkSharedFuture< ReturnT >

A `vtkSharedFuture` is an object returned by the methods `Push` and `PushDependent`.

Definition at line 179 of file vtkThreadedCallbackQueue.h.

## Member Typedef Documentation

## ◆ ReturnLValueRef

template<class ReturnT >

using vtkThreadedCallbackQueue::vtkSharedFuture< ReturnT >::ReturnLValueRef = typename ReturnValueWrapper<ReturnT>::ReturnLValueRef

Definition at line 184 of file vtkThreadedCallbackQueue.h.

## ◆ ReturnConstLValueRef

template<class ReturnT >

using vtkThreadedCallbackQueue::vtkSharedFuture< ReturnT >::ReturnConstLValueRef = typename ReturnValueWrapper<ReturnT>::ReturnConstLValueRef

Definition at line 185 of file vtkThreadedCallbackQueue.h.

## Constructor & Destructor Documentation

## ◆ vtkSharedFuture()

template<class ReturnT >

vtkThreadedCallbackQueue::vtkSharedFuture< ReturnT >::vtkSharedFuture | ( |  | ) |
| default

## Member Function Documentation

## ◆ vtkAbstractTypeMacro()

template<class ReturnT >

vtkThreadedCallbackQueue::vtkSharedFuture< ReturnT >::vtkAbstractTypeMacro | ( | vtkSharedFuture< ReturnT > | ,
|  | vtkSharedFutureBase |
| ) |  |

## ◆ Get() [1/2]

template<class ReturnT >

ReturnLValueRef vtkThreadedCallbackQueue::vtkSharedFuture< ReturnT >::Get | ( |  | ) |

This returns the return value of the pushed function.

It returns a `ReturnT&` if `ReturnT` is not `void`. Returns `void` otherwise.

## ◆ Get() [2/2]

template<class ReturnT >

ReturnConstLValueRef vtkThreadedCallbackQueue::vtkSharedFuture< ReturnT >::Get | ( |  | ) | const

This returns the return value of the pushed function.

It returns a `const ReturnT&` if `ReturnT` is not `void`. Returns `void` otherwise.

## Friends And Related Function Documentation

## ◆ vtkThreadedCallbackQueue

template<class ReturnT >

friend class vtkThreadedCallbackQueue
| friend

Definition at line 201 of file vtkThreadedCallbackQueue.h.

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

- Parallel/Core/vtkThreadedCallbackQueue.h