Holder of TObject instance.
Should not be used very often, while ownership is undefined for it
Definition at line 25 of file TObjectHolder.hxx.
Public Member Functions | |
| TObjectHolder (TObject *obj, bool owner=false) | |
| virtual | ~TObjectHolder () |
| template<class T> | |
| bool | CanCastTo () const |
| auto | Copy () const |
| Clone container. | |
| void | Forget () final |
| Clear all pointers without performing cleanup. | |
| template<class T> | |
| const T * | Get () const |
| Returns direct object pointer cast to provided class. | |
| template<class T> | |
| T * | get_object () |
| Returns plains pointer on object without ownership, only can be used for TObjects. | |
| template<class T> | |
| std::shared_ptr< T > | get_shared () |
| Returns shared_ptr of contained object. | |
| template<class T> | |
| std::unique_ptr< T > | get_unique () |
| Returns unique_ptr of contained object. | |
| const TClass * | GetClass () const final |
| Returns class of contained object. | |
| const void * | GetObject () const final |
| Returns direct (temporary) object pointer. | |
| template<class T> | |
| bool | InheritsFrom () const |
Protected Member Functions | |
| void * | AccessObject () final |
| Returns plain object pointer without care about ownership, should not be used often. | |
| void | ClearROOTOwnership (TObject *obj) |
| Check if object is not registered in some global lists Prevent double deletion. | |
| RHolder * | DoCopy () const final |
| Create copy of container, works only when pointer can be shared. | |
| virtual void * | GetShared () const |
| Returns pointer on existing shared_ptr<T>. | |
| void * | TakeObject () final |
| Return TObject instance with ownership If object is not owned by the holder, it will be cloned (except TDirectory or TTree classes). | |
Private Attributes | |
| void * | fAdjusted {nullptr} |
| ! pointer on real class returned by fObj->IsA() | |
| TObject * | fObj {nullptr} |
| ! plain holder without IO | |
| bool | fOwner {false} |
| ! is TObject owner | |
#include <ROOT/Browsable/TObjectHolder.hxx>
Definition at line 35 of file TObjectHolder.hxx.
|
inlinevirtual |
Definition at line 48 of file TObjectHolder.hxx.
|
inlinefinalprotectedvirtual |
Returns plain object pointer without care about ownership, should not be used often.
Reimplemented from ROOT::Browsable::RHolder.
Definition at line 30 of file TObjectHolder.hxx.
|
inlineinherited |
Definition at line 67 of file RHolder.hxx.
|
protected |
Check if object is not registered in some global lists Prevent double deletion.
Definition at line 20 of file TObjectHolder.cxx.
|
inlineinherited |
Clone container.
Trivial for shared_ptr and TObject holder, does not work for unique_ptr
Definition at line 85 of file RHolder.hxx.
|
inlinefinalprotectedvirtual |
Create copy of container, works only when pointer can be shared.
Reimplemented from ROOT::Browsable::RHolder.
Definition at line 32 of file TObjectHolder.hxx.
|
inlinefinalvirtual |
Clear all pointers without performing cleanup.
Reimplemented from ROOT::Browsable::RHolder.
Definition at line 53 of file TObjectHolder.hxx.
|
inlineinherited |
Returns direct object pointer cast to provided class.
Definition at line 75 of file RHolder.hxx.
|
inlineinherited |
Returns plains pointer on object without ownership, only can be used for TObjects.
Definition at line 121 of file RHolder.hxx.
|
inlineinherited |
Returns shared_ptr of contained object.
Definition at line 106 of file RHolder.hxx.
|
inlineinherited |
Returns unique_ptr of contained object.
Definition at line 89 of file RHolder.hxx.
|
inlinefinalvirtual |
Returns class of contained object.
Implements ROOT::Browsable::RHolder.
Definition at line 59 of file TObjectHolder.hxx.
|
inlinefinalvirtual |
Returns direct (temporary) object pointer.
Implements ROOT::Browsable::RHolder.
Definition at line 60 of file TObjectHolder.hxx.
|
inlineprotectedvirtualinherited |
Returns pointer on existing shared_ptr<T>.
Reimplemented in ROOT::Browsable::RShared< T >.
Definition at line 37 of file RHolder.hxx.
|
inlineinherited |
Definition at line 61 of file RHolder.hxx.
|
finalprotectedvirtual |
Return TObject instance with ownership If object is not owned by the holder, it will be cloned (except TDirectory or TTree classes).
Reimplemented from ROOT::Browsable::RHolder.
Definition at line 37 of file TObjectHolder.cxx.
|
private |
! pointer on real class returned by fObj->IsA()
Definition at line 27 of file TObjectHolder.hxx.
|
private |
! plain holder without IO
Definition at line 26 of file TObjectHolder.hxx.
|
private |
! is TObject owner
Definition at line 28 of file TObjectHolder.hxx.