template<typename RESULTVALUETYPE>
class maxon::ThreadResultRef< RESULTVALUETYPE >
Reference to a thread that returns more than void/Result<void>.
|
| | ThreadResultRef (const ThreadRef &src) |
| |
| | ThreadResultRef (ThreadRef &&src) |
| |
| Result< RESULTVALUETYPE > | GetResult (TimeValue timeout=TIMEVALUE_INFINITE, WAITMODE mode=WAITMODE::DEFAULT) const |
| |
| | MAXON_DEFAULT_REFERENCE_CONSTRUCTORS (ThreadRefTemplate, Ptr) |
| |
| MAXON_IMPLICIT | ThreadRefTemplate (const Ptr &src) |
| |
| MAXON_IMPLICIT | ThreadRefTemplate (Ptr &&src) |
| |
| Bool | IsRunning () const |
| |
| Bool | Wait (TimeValue timeout=TIMEVALUE_INFINITE, WAITMODE mode=WAITMODE::DEFAULT) const |
| |
| Result< void > | GetResult (TimeValue timeout=TIMEVALUE_INFINITE, WAITMODE mode=WAITMODE::DEFAULT) const |
| |
| void | Cancel () |
| |
| Bool | IsCancelled () const |
| |
| void | CancelAndWait (WAITMODE mode=WAITMODE::DEFAULT) |
| |
| Result< void > | Start (THREADPRIORITY priority=THREADPRIORITY::NORMAL) |
| |
| ObservableFinishedBase< INTERFACE > | ObservableFinished () |
| |
| String | ToString (const FormatStatement *formatStatement) const |
| |
| Bool | operator== (const ThreadRefTemplate &other) const |
| |
| Bool | operator!= (const ThreadRefTemplate &other) const |
| |
| T * | GetPointer () |
| |
| ConstReferencedType * | GetPointer () const |
| |
| T * | operator-> () |
| |
| ConstReferencedType * | operator-> () const |
| |
| T & | operator* () |
| |
| ConstReferencedType & | operator* () const |
| |
| | operator T* () |
| |
| | operator ConstReferencedType * () const |
| |
| | operator Bool () const |
| |
| | operator Bool () |
| |
| ResultRef< typename std::remove_const< T >::type > | MakeWritable (Bool resetOnError=true) |
| |
| T & | GetOrNull () const |
| |
| | BaseRef () |
| |
| MAXON_IMPLICIT | BaseRef (std::nullptr_t)=delete |
| |
| MAXON_IMPLICIT | BaseRef (T *o) |
| |
| template<typename PTR > |
| | BaseRef (ForwardResultPtr< PTR > o) |
| |
| | BaseRef (ResultPtr< T > o, Int) |
| |
| | BaseRef (const BaseRef &src) |
| |
| template<typename REF , typename = typename std::enable_if<!std::is_base_of<BaseRef, REF>::value && maxon::HasErasedBase<typename REF::ReferencedType, ReferencedType>::value>::type> |
| MAXON_IMPLICIT | BaseRef (const REF &src) |
| |
| template<typename REF , typename = typename std::enable_if<!std::is_base_of<BaseRef, REF>::value && maxon::HasErasedBase<typename REF::ReferencedType, ReferencedType>::value>::type> |
| MAXON_IMPLICIT | BaseRef (REF &src) |
| |
| BaseRef & | operator= (T *src) |
| |
| BaseRef & | operator= (std::nullptr_t src) |
| |
| BaseRef & | operator= (const BaseRef &src) |
| |
| template<typename REF , typename = typename std::enable_if<!std::is_base_of<BaseRef, REF>::value && maxon::HasErasedBase<typename REF::ReferencedType, ReferencedType>::value>::type> |
| BaseRef & | operator= (const REF &src) |
| |
| template<typename REF , typename = typename std::enable_if<!std::is_base_of<BaseRef, REF>::value && maxon::HasErasedBase<typename REF::ReferencedType, ReferencedType>::value>::type> |
| BaseRef & | operator= (REF &src) |
| |
| | BaseRef (BaseRef &&src) |
| |
| template<typename REF , typename = typename std::enable_if<!std::is_const<REF>::value && !std::is_base_of<BaseRef, REF>::value && maxon::HasErasedBase<typename REF::ReferencedType, ReferencedType>::value>::type> |
| MAXON_IMPLICIT | BaseRef (REF &&src) |
| |
| BaseRef & | operator= (BaseRef &&src) |
| |
| template<typename REF , typename = typename std::enable_if<!std::is_const<REF>::value && !std::is_base_of<BaseRef, REF>::value && maxon::HasErasedBase<typename REF::ReferencedType, ReferencedType>::value>::type> |
| BaseRef & | operator= (REF &&src) |
| |
| | ~BaseRef () |
| |
| Bool | operator== (const BaseRef &b) const |
| |
| Bool | operator!= (const BaseRef &b) const |
| |
| Bool | operator== (const T *b) const |
| |
| Bool | operator!= (const T *b) const |
| |
| Bool | operator== (typename std::remove_const< T >::type *b) const |
| |
| Bool | operator!= (typename std::remove_const< T >::type *b) const |
| |
| Bool | operator== (std::nullptr_t) const |
| |
| Bool | operator!= (std::nullptr_t) const |
| |
| UInt | GetHashCode () const |
| |
| T * | Disconnect () |
| |
| void | PrivateSetTarget (ResultPtr< T > src) |
| |
|
| using | ReferencedType = T |
| |
| using | ConstReferencedType = typename ConstIf< T, Bool(HANDLER::KIND &VALUEKIND::DEEP_CONSTNESS)>::type |
| |
| using | DirectlyReferencedType = T |
| |
| using | SelfType = BaseRef< T, HANDLER > |
| |
| template<typename D > |
| using | IsGenericBaseOf = std::true_type |
| |
| using | Handler = HANDLER |
| |
| using | RefCompareType = RefCompare< MAXON_IS_COW_KIND(HANDLER::KIND), IsInterfaceType< T >::value > |
| |
| template<THREADCANCELLATION B = THREADCANCELLATION::AUTOMATIC, typename FN , typename... ARGS> |
| static auto | Create (FN &&src, ARGS &&... args) -> ResultMemT< ThreadResultRef< decltype(src(std::forward< ARGS >(args)...))>> |
| |
| static StrongRef< const INTERFACE > | GetCurrentThread () |
| |
| static Int | GetCurrentThreadCount () |
| |
| static Bool | IsMainThread () |
| |
| static THREADTYPE | GetCurrentThreadType () |
| |
| static Result< void > | AssimilateAlienThread () |
| |
| static Bool | IsCurrentThreadCancelled (const ThreadInterface *optionalThread=nullptr) |
| |
| static Bool | IsCurrentThreadCancelled (const ThreadRefTemplate< INTERFACE > &optionalThread) |
| |
| template<THREADCANCELLATION B = THREADCANCELLATION::AUTOMATIC, typename FN > |
| static MAXON_WARN_UNUSED auto | Run (FN &&src, THREADPRIORITY priority=THREADPRIORITY::NORMAL) -> ResultMemT< ThreadResultRef< decltype(src())>> |
| |
| template<THREADCANCELLATION B = THREADCANCELLATION::AUTOMATIC, typename FN , typename... ARGS> |
| static auto | Run (FN &&src, THREADPRIORITY priority, ARGS &&... args) -> ResultMemT< ThreadResultRef< decltype(src(std::forward< ARGS >(args)...))>> |
| |
| static const ThreadRefTemplate & | NullValue () |
| |
| static std::false_type | GenericVarianceCheck (const void *) |
| |
| template<typename... ARGS> |
| static MAXON_ATTRIBUTE_FORCE_INLINE ResultMemT< BaseRef > | Create (ARGS &&... args) |
| |
| static const BaseRef & | NullValue () |
| |
| static const Bool | DIRECT_REF |
| |
| T * | _object |
| |