Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::Browsable::TObjectHolder Class Reference

Holder of TObject instance.

Should not be used very often, while ownership is undefined for it

Author
Sergey Linev S.Lin.nosp@m.ev@g.nosp@m.si.de
Date
2019-10-19
Warning
This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback is welcome!

Definition at line 26 of file TObjectHolder.hxx.

Public Member Functions

 TObjectHolder (TObject *obj, bool owner=false)
 
virtual ~TObjectHolder ()
 
const TClassGetClass () const final
 Returns class of contained object.
 
const voidGetObject () const final
 Returns direct (temporary) object pointer.
 
- Public Member Functions inherited from ROOT::Experimental::Browsable::RHolder
virtual ~RHolder ()=default
 
template<class T >
bool CanCastTo () const
 
auto Copy () const
 Clone container.
 
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.
 
template<class T >
bool InheritsFrom () const
 

Protected Member Functions

voidAccessObject () 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.
 
RHolderDoCopy () const final
 Create copy of container, works only when pointer can be shared.
 
voidTakeObject () final
 Return TObject instance with ownership If object is not owned by the holder, it will be cloned (except TDirectory or TTree classes)
 
- Protected Member Functions inherited from ROOT::Experimental::Browsable::RHolder
virtual voidGetShared () const
 Returns pointer on existing shared_ptr<T>
 

Private Attributes

TObjectfObj {nullptr}
 ! plain holder without IO
 
bool fOwner
 ! is TObject owner
 

#include <ROOT/Browsable/TObjectHolder.hxx>

Inheritance diagram for ROOT::Experimental::Browsable::TObjectHolder:
[legend]

Constructor & Destructor Documentation

◆ TObjectHolder()

ROOT::Experimental::Browsable::TObjectHolder::TObjectHolder ( TObject obj,
bool  owner = false 
)
inline

Definition at line 35 of file TObjectHolder.hxx.

◆ ~TObjectHolder()

virtual ROOT::Experimental::Browsable::TObjectHolder::~TObjectHolder ( )
inlinevirtual

Definition at line 42 of file TObjectHolder.hxx.

Member Function Documentation

◆ AccessObject()

void * ROOT::Experimental::Browsable::TObjectHolder::AccessObject ( )
inlinefinalprotectedvirtual

Returns plain object pointer without care about ownership, should not be used often.

Reimplemented from ROOT::Experimental::Browsable::RHolder.

Definition at line 30 of file TObjectHolder.hxx.

◆ ClearROOTOwnership()

void TObjectHolder::ClearROOTOwnership ( TObject obj)
protected

Check if object is not registered in some global lists Prevent double deletion.

Definition at line 20 of file TObjectHolder.cxx.

◆ DoCopy()

RHolder * ROOT::Experimental::Browsable::TObjectHolder::DoCopy ( ) const
inlinefinalprotectedvirtual

Create copy of container, works only when pointer can be shared.

Reimplemented from ROOT::Experimental::Browsable::RHolder.

Definition at line 32 of file TObjectHolder.hxx.

◆ GetClass()

const TClass * ROOT::Experimental::Browsable::TObjectHolder::GetClass ( ) const
inlinefinalvirtual

Returns class of contained object.

Implements ROOT::Experimental::Browsable::RHolder.

Definition at line 47 of file TObjectHolder.hxx.

◆ GetObject()

const void * ROOT::Experimental::Browsable::TObjectHolder::GetObject ( ) const
inlinefinalvirtual

Returns direct (temporary) object pointer.

Implements ROOT::Experimental::Browsable::RHolder.

Definition at line 48 of file TObjectHolder.hxx.

◆ TakeObject()

void * TObjectHolder::TakeObject ( )
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::Experimental::Browsable::RHolder.

Definition at line 37 of file TObjectHolder.cxx.

Member Data Documentation

◆ fObj

TObject* ROOT::Experimental::Browsable::TObjectHolder::fObj {nullptr}
private

! plain holder without IO

Definition at line 27 of file TObjectHolder.hxx.

◆ fOwner

bool ROOT::Experimental::Browsable::TObjectHolder::fOwner
private

! is TObject owner

Definition at line 28 of file TObjectHolder.hxx.

Libraries for ROOT::Experimental::Browsable::TObjectHolder:

The documentation for this class was generated from the following files: