14#include "SharedPtrTypes.h"
16#include <AUI/Common/AObject.h>
17#include <AUI/Thread/AThread.h>
18#include <AUI/Reflect/AClass.h>
20template<
typename T,
typename... Args>
21inline _<T> _new(Args&& ... args)
23 return static_cast<_<T>>(std::make_shared<T>(std::forward<Args>(args)...));
26template<
typename T,
typename E>
27inline _<T> _new(std::initializer_list<E> il) {
28 return static_cast<_<T>>(std::make_shared<T>(il.begin(), il.end()));
33std::ostream& operator<<(std::ostream& os,
const _<T>& rhs)
noexcept {
39inline void PrintTo(
const _<T>& ptr, std::ostream* stream) {
44template<
typename SignalField,
typename Object,
typename Function>
45inline _<T>& _<T>::connect(SignalField signalField, Object
object, Function&& function) {
46 AObject::connect(super::get()->*signalField,
object, std::forward<Function>(function));
51template<
typename SignalField,
typename Function>
52inline _<T>& _<T>::connect(SignalField signalField, Function&& function) {
53 AObject::connect(super::get()->*signalField, super::get(), std::forward<Function>(function));
58#ifdef AUI_SHARED_PTR_FIND_INSTANCES
static AString name()
[ARROW_ERROR_MESSAGE_EXAMPLE]
Definition AClass.h:28
Stacktrace consisting of a collection of stack function frames.
Definition AStacktrace.h:28
static AStacktrace capture(unsigned skipFrames=0, unsigned maxFrames=128) noexcept
Creates stacktrace of the current thread.
An std::weak_ptr with AUI extensions.
Definition SharedPtrTypes.h:179
static decltype(auto) connect(const Signal &signal, Object *object, Function &&function)
Connects signal to the slot of the specified object.
Definition AObject.h:86