|
| GroupCollectionPtr () |
| Null pointer constructor. More...
|
|
| GroupCollectionPtr (const SharedPtr< GroupCollection > &obj) |
|
GroupPtr | operator[] (size_t idx) const |
|
| SmartPtr (SmartPtrMode mode) |
| Creates SmartPtr object of required mode. More...
|
|
| SmartPtr (std::nullptr_t=nullptr, SmartPtrMode mode=SmartPtrMode::Shared) |
| Creates null-pointer SmartPtr object of required mode. More...
|
|
| SmartPtr (Pointee_ *object, SmartPtrMode mode=SmartPtrMode::Shared) |
| Creates SmartPtr pointing to specified object, or converts raw pointer to SmartPtr. More...
|
|
| SmartPtr (const SmartPtr_ &ptr, SmartPtrMode mode=SmartPtrMode::Shared) |
| Copy constructs SmartPtr object. Both pointers point to the same object afterwards. More...
|
|
template<class Q , typename = typename std::enable_if<System::detail::is_pointer_convertible<Q, Pointee_>::type::value>::type> |
| SmartPtr (const SmartPtr< Q > &x, SmartPtrMode mode=SmartPtrMode::Shared) |
| Copy constructs SmartPtr object. Both pointers point to the same object afterwards. Performs type conversion if allowed. More...
|
|
| SmartPtr (SmartPtr_ &&x, SmartPtrMode mode=SmartPtrMode::Shared) noexcept |
| Move constructs SmartPtr object. Effectively, swaps two pointers, if they are both of same mode. x may be unusable after call. More...
|
|
template<typename Y > |
| SmartPtr (const SmartPtr< Array< Y >> &src, SmartPtrMode mode=SmartPtrMode::Shared) |
| Converts type of referenced array by creating a new array of different type. Useful if in C# there is an array type cast which is unsupported in C++. More...
|
|
template<typename Y , typename = typename std::enable_if<std::is_same<Y, EmptyArrayInitializer>::value, void>::type> |
| SmartPtr (const Y &) |
| Initializes empty array. Used to translate some C# code constructs. More...
|
|
template<typename P > |
| SmartPtr (const SmartPtr< P > &ptr, Pointee_ *p, SmartPtrMode mode=SmartPtrMode::Shared) |
| Constructs a SmartPtr which shares ownership information with the initial value of ptr, but holds an unrelated and unmanaged pointer p. More...
|
|
| ~SmartPtr () |
| Destroys SmartPtr object. If required, decreases pointed object's reference counter and deletes object. More...
|
|
SmartPtr_ & | operator= (SmartPtr_ &&x) noexcept |
| Move-assigns SmartPtr object. x becomes unusable. More...
|
|
SmartPtr_ & | operator= (const SmartPtr_ &x) |
| Copy-assigns SmartPtr object. More...
|
|
template<typename Q > |
SmartPtr_ & | operator= (const SmartPtr< Q > &x) |
| Copy-assigns SmartPtr object. Does required type conversions. More...
|
|
SmartPtr_ & | operator= (Pointee_ *p) |
| Assigns raw pointer to SmartPtr object. More...
|
|
SmartPtr_ & | operator= (std::nullptr_t) |
| Sets pointer value to nullptr. More...
|
|
Pointee_ * | operator-> () const |
| Allows to access members of referenced object. More...
|
|
bool | operator== (std::nullptr_t) const |
| Checks if pointer points to nullptr. More...
|
|
Pointee_ * | get () const |
| Gets pointed object. More...
|
|
Pointee_ * | get_shared () const |
| Gets pointed object, but asserts that pointer is in shared mode. More...
|
|
void | reset (Pointee_ *ptr) |
| Sets pointed object. More...
|
|
void | reset () |
| Makes pointer pointing to nullptr. More...
|
|
SmartPtrMode | get_Mode () const |
| Gets pointer mode. More...
|
|
bool | IsShared () const |
| Checks if pointer is in shared mode. More...
|
|
bool | IsWeak () const |
| Checks if pointer is in weak mode. More...
|
|
bool | IsAliasingPtr () const |
| Checks if pointer is pointed to another object than owned (created by an aliasing constructor). More...
|
|
Object * | GetObjectOwner () const |
| Gets referenced object. More...
|
|
SmartPtr_ | RemoveAliasing () const |
| Removes aliasing (created by an aliasing constructor) from pointer, makes sure it manages (if shared) or tracks (if weak) the same object it points to. More...
|
|
void | set_Mode (SmartPtrMode mode) |
| Sets pointer mode. May alter referenced object's reference counts. More...
|
|
Pointee_ & | operator* () const |
| Gets reference to pointed object. Asserts that pointer is not null. More...
|
|
| operator bool () const noexcept |
| Checks if pointer is not null. More...
|
|
bool | operator! () const noexcept |
| Checks if pointer is null. More...
|
|
template<class Y > |
bool | operator< (Y *p) const |
| Provides less-compare semantics for SmartPtr class. More...
|
|
template<class Y > |
bool | operator< (SmartPtr< Y > const &x) const |
| Provides less-compare semantics for SmartPtr class. More...
|
|
template<class Y > |
SmartPtr< Y > | static_pointer_cast () const |
| Casts pointer to different type using static_cast on pointed object. More...
|
|
template<class Y > |
SmartPtr< Y > | dynamic_pointer_cast () const |
| Casts pointer to different type using dynamic_cast on pointed object. More...
|
|
template<class Y > |
SmartPtr< Y > | const_pointer_cast () const |
| Casts pointer to different type using const_cast on pointed object. More...
|
|
template<class Y , typename Check = std::false_type> |
std::enable_if_t< std::is_same< Y, T >::value, SmartPtr< Y > > | Cast () const |
| Casts pointer to its type itself. More...
|
|
template<class Y , typename Check = std::false_type> |
std::enable_if_t<!std::is_same< Y, T >::value &&std::is_base_of< Y, T >::value, SmartPtr< Y > > | Cast () const |
| Casts pointer to base type using static_cast. More...
|
|
template<class Y , typename Check = std::false_type> |
std::enable_if_t< Check::value &&!std::is_same< Y, T >::value &&!std::is_base_of< Y, T >::value, SmartPtr< Y > > | Cast () const |
| Casts pointer to derived type dynamic_cast. More...
|
|
template<class Y , typename Check = std::false_type> |
std::enable_if_t<!Check::value &&!std::is_same< Y, T >::value &&!std::is_base_of< Y, T >::value, SmartPtr< Y > > | Cast () const |
| Casts pointer to derived type dynamic_cast. More...
|
|
bool | Is (const System::TypeInfo &target) const |
| Checks if pointed object is of specific type or its child type. Follows C# 'is' semantics. More...
|
|
Object * | GetObjectOrNull () const |
| Gets pointed object (if any) or nullptr. Same as get(). More...
|
|
SmartPtr< Object > | ToObjectPtr () const |
| Converts any pointer type to pointer to Object. Doesn't require Pointee_ type to be complete. More...
|
|
Pointee_ * | GetPointer () const |
| Gets pointed object (if any) or nullptr. Same as get(). More...
|
|
int | get_shared_count () const |
| Gets number of shared pointers existing to referenced object, including current one. Asserts current pointer being in shared mode. More...
|
|
void | SetContainedTemplateWeakPtr (uint32_t argument) const |
| Calls SetTemplateWeakPtr() method on pointed object (if any). More...
|
|
template<typename Q = T> |
auto | begin () -> decltype(std::declval< Q >().begin()) |
| Accessor for begin() method of an underling collection. Only compiles if SmartPtr_ is specialization type with begin() method. More...
|
|
template<typename Q = T> |
auto | end () -> decltype(std::declval< Q >().end()) |
| Accessor for end() method of an underling collection. Only compiles if SmartPtr_ is specialization type with end() method. More...
|
|
template<typename Q = T> |
auto | begin () const -> decltype(std::declval< const Q >().begin()) |
| Accessor for begin() method of an underling collection. Only compiles if SmartPtr_ is specialization type with begin() method. More...
|
|
template<typename Q = T> |
auto | end () const -> decltype(std::declval< const Q >().end()) |
| Accessor for end() method of an underling collection. Only compiles if SmartPtr_ is specialization type with end() method. More...
|
|
template<typename Q = T> |
auto | cbegin () const -> decltype(std::declval< const Q >().cbegin()) |
| Accessor for cbegin() method of an underling collection. Only compiles if SmartPtr_ is specialization type with cbegin() method. More...
|
|
template<typename Q = T> |
auto | cend () const -> decltype(std::declval< const Q >().cend()) |
| Accessor for cend() method of an underling collection. Only compiles if SmartPtr_ is specialization type with cend() method. More...
|
|
int | GetHashCode () const |
| Calls GetHashCode() on pointed object. More...
|
|
T * | GetObjectNotNull () const |
| Gets currently referenced object (if any) or throws. More...
|
|
Group collection pointer. This type is a pointer to manage other object's deletion. It should be allocated on stack and passed to functions either by value or by const reference.