Represents a user-defined thread.  
|  | 
|  | AThread (std::function< void()> functor) | 
|  | 
| void | detach () | 
|  | 
| void | start () | 
|  | Start thread execution. 
 | 
|  | 
| bool | isInterrupted () override | 
|  | 
| void | resetInterruptFlag () override | 
|  | Reset interruption flag. 
 | 
|  | 
| void | interrupt () override | 
|  | Interrupt thread's execution. 
 | 
|  | 
| void | join () | 
|  | Waits for thread to be finished. 
 | 
|  | 
| id | getId () const | 
|  | 
| void | enqueue (AMessageQueue<>::Message f) | 
|  | Delivers task for execution (message) to this thread's event queue. Messages are processed by framework itself using AEventLoop. This behaviour may be overwritten using the AThread::processMessages() function.
 | 
|  | 
| const AMessageQueue & | messageQueue () const | 
|  | 
| IEventLoop * | getCurrentEventLoop () const | 
|  | Get current event loop for this thread. 
 | 
|  | 
| template<class Callable> | 
| void | operator<< (Callable fun) | 
|  | Enqueue message to make. 
 | 
|  | 
| template<class Callable> | 
| void | operator* (Callable fun) | 
|  | Enqueue message to make. Helper function for async, asyncX, ui, uiX. 
 | 
|  | 
| const AString & | threadName () const noexcept | 
|  | 
| AStacktrace | threadStacktrace () const | 
|  | Retrieve stacktrace of the thread. 
 | 
|  | 
| bool | messageQueueEmpty () noexcept | 
|  | 
| _< AObject > | sharedPtr () | 
|  | 
| _weak< AObject > | weakPtr () | 
|  | 
| template<typename Connectable, ACompatibleSlotFor< Connectable > Function> | 
| decltype(auto) | connect (const Connectable &connectable, Function &&function) | 
|  | Connects signal or property to slot of "this"object.
 | 
|  | 
| void | setSignalsEnabled (bool enabled) | 
|  | 
| bool | isSignalsEnabled () const noexcept | 
|  | 
| template<ASignalInvokable T> | 
| void | operator^ (T &&t) noexcept | 
|  | 
| _< AAbstractThread > | getThread () const | 
|  | 
| bool | isSlotsCallsOnlyOnMyThread () const noexcept | 
|  | 
| void | setSlotsCallsOnlyOnMyThread (bool slotsCallsOnlyOnMyThread) | 
|  | 
|  | AObjectBase (AObjectBase &&rhs) noexcept | 
|  | 
|  | AObjectBase (const AObjectBase &rhs) noexcept | 
|  | 
| AObjectBase & | operator= (const AObjectBase &rhs) noexcept | 
|  | 
| AObjectBase & | operator= (AObjectBase &&rhs) noexcept | 
|  | 
|  | noncopyable (const noncopyable &)=delete | 
|  | 
| noncopyable & | operator= (const noncopyable &)=delete | 
|  | 
|  | 
| static const _< AAbstractThread > & | main () noexcept | 
|  | Returns main thread of the application. 
 | 
|  | 
| static void | sleep (std::chrono::milliseconds duration) | 
|  | Sleep for specified duration. Most operation systems guarantee that elasped time will be greater than specified. AThread::interrupt()is supported.
 | 
|  | 
| static _< AAbstractThread > | current () | 
|  | 
| static void | interruptionPoint () | 
|  | Interruption point. 
 | 
|  | 
| static void | setName (AString name) noexcept | 
|  | 
| static void | processMessages () | 
|  | Processes messages from other threads of current thread. Called by framework itself using IEventLoop. 
 | 
|  | 
| static void | disconnect () | 
|  | 
| template<AAnySignal Signal, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Signal > Function> | 
| static decltype(auto) | connect (const Signal &signal, Object *object, Function &&function) | 
|  | Connects signal to the slot of the specified object. 
 | 
|  | 
| template<AAnyProperty Property, aui::derived_from< AObjectBase > Object, typename Function> | 
| static decltype(auto) | connect (const Property &property, Object *object, Function &&function) | 
|  | Connects property to the slot of the specified object. 
 | 
|  | 
| template<APropertyReadable PropertySource, APropertyWritable PropertyDestination> requires requires { { *propertySource } -> aui::convertible_to<std::decay_t<decltype(*propertyDestination)>>; }
 | 
| static void | connect (PropertySource &&propertySource, PropertyDestination &&propertyDestination) | 
|  | Connects source property to the destination property. 
 | 
|  | 
| template<APropertyWritable PropertySource, APropertyWritable PropertyDestination> requires requires { { *propertySource } -> aui::convertible_to<std::decay_t<decltype(*propertyDestination)>>; { *propertyDestination } -> aui::convertible_to<std::decay_t<decltype(*propertySource)>>; }
 | 
| static void | biConnect (PropertySource &&propertySource, PropertyDestination &&propertyDestination) | 
|  | Connects source property to the destination property and opposite (bidirectionally). 
 | 
|  | 
| template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Connectable > Function> | 
| static decltype(auto) | connect (const Connectable &connectable, Object &object, Function &&function) | 
|  | Connects signal or property to the slot of the specified object. 
 | 
|  | 
| template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Connectable > Function> | 
| static decltype(auto) | connect (const Connectable &connectable, _< Object > object, Function &&function) | 
|  | Connects signal or property to the slot of the specified object. 
 | 
|  | 
| template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, typename Function> | 
| static decltype(auto) | connect (const Connectable &connectable, ASlotDef< Object *, Function > slotDef) | 
|  | Connects signal to the slot of the specified object. Slot is packed to single argument. 
 | 
|  | 
| template<AAnyProperty Property, typename Object, ACompatibleSlotFor< Property > Function> requires (!aui::derived_from<Object, AObject>)
 | 
| static void | connect (const Property &property, _< Object > object, Function &&function) | 
|  | Connects signal or property to the slot of the specified non-AObject type. 
 | 
|  | 
| static void | moveToThread (aui::no_escape< AObject > object, _< AAbstractThread > thread) | 
|  | 
|  | 
| typedef std::thread::id | id | 
|  | Thread ID type. 
 | 
|  | 
| static constexpr AObjectBase * | GENERIC_OBSERVER = nullptr | 
|  | Indicates that a connection should not be explicitly linked to receiver's lifetime. 
 | 
|  | 
| static ASpinlockMutex | SIGNAL_SLOT_GLOBAL_SYNC | 
|  | 
|  | AAbstractThread (const id &id) noexcept | 
|  | 
| void | updateThreadName () noexcept | 
|  | 
| virtual void | processMessagesImpl () | 
|  | 
| void | setThread (_< AAbstractThread > thread) | 
|  | Set thread of the object. 
 | 
|  | 
| void | clearAllIngoingConnections () noexcept | 
|  | 
| virtual void | handleSlotException (std::exception_ptr exception) | 
|  | Called then an exception has thrown during slot processing of the signal emitted by this object. 
 | 
|  | 
| id | mId | 
|  | Thread ID. 
 | 
|  | 
| AString | mThreadName | 
|  | 
| AMessageQueue | mMessageQueue | 
|  |