|
| Obj * | get () |
| | Get (non-const) access to the underlying object.
|
| Obj * | operator-> () |
| const Obj * | get () const |
| | Get const access to the underlying object.
|
| const Obj * | operator-> () const |
| const Obj & | operator* () const |
| | Dereference operator.
|
| Obj & | operator* () |
template<typename DerivType>
requires (std::is_base_of_v<Obj, DerivType>) |
| | TransientConstSharedPtr (std::unique_ptr< DerivType > ptr) |
| | Constructor from a unique_ptr.
|
template<typename DerivType>
requires (std::is_base_of_v<Obj, DerivType>) |
| | TransientConstSharedPtr (std::shared_ptr< DerivType > ptr) |
| | Constructor from shared_ptr.
|
| | TransientConstSharedPtr (Obj *ptr) |
| | Constructor from raw ptr.
|
| | TransientConstSharedPtr ()=default |
| | Standard constructor.
|
template<typename DerivType>
requires (std::is_base_of_v<Obj, DerivType>) |
| | TransientConstSharedPtr (const TransientConstSharedPtr< DerivType > &other) |
| | Delete the copy constructor if the object is const.
|
template<typename DerivType>
requires (std::is_base_of_v<Obj, DerivType>) |
| | TransientConstSharedPtr (TransientConstSharedPtr< DerivType > &&other) |
| | Standard move constructor.
|
template<typename DerivType>
requires (std::is_base_of_v<Obj, DerivType>) |
| TransientConstSharedPtr & | operator= (const TransientConstSharedPtr< DerivType > &other) |
| | Assignment operator.
|
template<typename DerivType>
requires (std::is_base_of_v<Obj, DerivType>) |
| TransientConstSharedPtr & | operator= (const std::shared_ptr< DerivType > &other) |
template<typename DerivType>
requires (std::is_base_of_v<Obj, DerivType>) |
| TransientConstSharedPtr & | operator= (TransientConstSharedPtr< DerivType > &&other) |
| | Move assignment operator.
|
template<typename DerivType>
requires (std::is_base_of_v<Obj, DerivType>) |
| TransientConstSharedPtr & | operator= (std::unique_ptr< DerivType > &&other) |
template<typename DerivType>
requires (std::is_base_of_v<Obj, DerivType>) |
| TransientConstSharedPtr & | operator= (std::shared_ptr< DerivType > &&other) |
template<typename DerivType>
requires (std::is_base_of_v<Obj, DerivType>) |
| void | reset (std::unique_ptr< DerivType > newObj) |
| | Overload the pointer.
|
template<typename DerivType>
requires (std::is_base_of_v<Obj, DerivType>) |
| void | reset (std::shared_ptr< DerivType > &&newObj) |
template<typename DerivType>
requires (std::is_base_of_v<Obj, DerivType>) |
| void | reset (const std::shared_ptr< DerivType > &newObj) |
| void | reset () |
| std::shared_ptr< const Obj > | release () |
| | Release the memory.
|
| | operator bool () const |
| | Is the pointer defined.
|
| bool | operator! () const |
| size_t | use_count () const |
| | How many clients does the pointer have.
|
| bool | operator< (const TransientConstSharedPtr &other) const |
| | Smaller operator to insert the pointer into sets.
|
| bool | operator== (const TransientConstSharedPtr &other) const |
| | Equal operator.
|
| bool | operator!= (const TransientConstSharedPtr &other) const |
template<typename Obj>
class GeoModel::TransientConstSharedPtr< Obj >
The TransientConstSharedPtr allows non-const access if the pointer itself is non-const but in the const case only a const pointer is returned The class takes the ownership of the object using a shared_ptr.
Definition at line 13 of file TransientConstSharedPtr.h.