Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
RFieldHolder Class Reference

Definition at line 27 of file RFieldHolder.hxx.

Public Member Functions

 RFieldHolder (std::shared_ptr< ROOT::RNTupleReader > ntplReader, const std::string &parent_name, ROOT::DescriptorId_t id, const std::string &displayName)
template<class T>
bool CanCastTo () const
auto Copy () const
 Clone container.
virtual void Forget ()
 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 TClassGetClass () const override
 Returns class of contained object.
auto GetDisplayName () const
auto GetId () const
auto GetNtplReader () const
const void * GetObject () const override
 Returns direct (temporary) object pointer.
auto GetParentName () const
template<class T>
bool InheritsFrom () const

Protected Member Functions

virtual void * AccessObject ()
 Returns plain object pointer without care about ownership, should not be used often.
virtual RHolder * DoCopy () const
 Create copy of container, works only when pointer can be shared.
virtual void * GetShared () const
 Returns pointer on existing shared_ptr<T>.
virtual void * TakeObject ()
 Returns pointer with ownership, normally via unique_ptr<T>::release() or tobj->Clone().

Private Attributes

std::string fDisplayName
ROOT::DescriptorId_t fFieldId
std::shared_ptr< ROOT::RNTupleReaderfNtplReader
std::string fParentName

#include </home/stephan/code/root-2/gui/browsable/src/RFieldHolder.hxx>

Inheritance diagram for RFieldHolder:
ROOT::Browsable::RHolder

Constructor & Destructor Documentation

◆ RFieldHolder()

RFieldHolder::RFieldHolder ( std::shared_ptr< ROOT::RNTupleReader > ntplReader,
const std::string & parent_name,
ROOT::DescriptorId_t id,
const std::string & displayName )
inline

Definition at line 35 of file RFieldHolder.hxx.

Member Function Documentation

◆ AccessObject()

virtual void * ROOT::Browsable::RHolder::AccessObject ( )
inlineprotectedvirtualinherited

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

Reimplemented in ROOT::Browsable::RAnyObjectHolder, and ROOT::Browsable::TObjectHolder.

Definition at line 43 of file RHolder.hxx.

◆ CanCastTo()

template<class T>
bool ROOT::Browsable::RHolder::CanCastTo ( ) const
inlineinherited

Definition at line 67 of file RHolder.hxx.

◆ Copy()

auto ROOT::Browsable::RHolder::Copy ( ) const
inlineinherited

Clone container.

Trivial for shared_ptr and TObject holder, does not work for unique_ptr

Definition at line 85 of file RHolder.hxx.

◆ DoCopy()

virtual RHolder * ROOT::Browsable::RHolder::DoCopy ( ) const
inlineprotectedvirtualinherited

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

Reimplemented in ROOT::Browsable::RAnyObjectHolder, ROOT::Browsable::RShared< T >, and ROOT::Browsable::TObjectHolder.

Definition at line 46 of file RHolder.hxx.

◆ Forget()

virtual void ROOT::Browsable::RHolder::Forget ( )
inlinevirtualinherited

Clear all pointers without performing cleanup.

Reimplemented in ROOT::Browsable::RAnyObjectHolder, and ROOT::Browsable::TObjectHolder.

Definition at line 58 of file RHolder.hxx.

◆ Get()

template<class T>
const T * ROOT::Browsable::RHolder::Get ( ) const
inlineinherited

Returns direct object pointer cast to provided class.

Definition at line 75 of file RHolder.hxx.

◆ get_object()

template<class T>
T * ROOT::Browsable::RHolder::get_object ( )
inlineinherited

Returns plains pointer on object without ownership, only can be used for TObjects.

Definition at line 121 of file RHolder.hxx.

◆ get_shared()

template<class T>
std::shared_ptr< T > ROOT::Browsable::RHolder::get_shared ( )
inlineinherited

Returns shared_ptr of contained object.

Definition at line 106 of file RHolder.hxx.

◆ get_unique()

template<class T>
std::unique_ptr< T > ROOT::Browsable::RHolder::get_unique ( )
inlineinherited

Returns unique_ptr of contained object.

Definition at line 89 of file RHolder.hxx.

◆ GetClass()

const TClass * RFieldHolder::GetClass ( ) const
inlineoverridevirtual

Returns class of contained object.

Implements ROOT::Browsable::RHolder.

Definition at line 41 of file RFieldHolder.hxx.

◆ GetDisplayName()

auto RFieldHolder::GetDisplayName ( ) const
inline

Definition at line 49 of file RFieldHolder.hxx.

◆ GetId()

auto RFieldHolder::GetId ( ) const
inline

Definition at line 48 of file RFieldHolder.hxx.

◆ GetNtplReader()

auto RFieldHolder::GetNtplReader ( ) const
inline

Definition at line 46 of file RFieldHolder.hxx.

◆ GetObject()

const void * RFieldHolder::GetObject ( ) const
inlineoverridevirtual

Returns direct (temporary) object pointer.

Implements ROOT::Browsable::RHolder.

Definition at line 44 of file RFieldHolder.hxx.

◆ GetParentName()

auto RFieldHolder::GetParentName ( ) const
inline

Definition at line 47 of file RFieldHolder.hxx.

◆ GetShared()

virtual void * ROOT::Browsable::RHolder::GetShared ( ) const
inlineprotectedvirtualinherited

Returns pointer on existing shared_ptr<T>.

Reimplemented in ROOT::Browsable::RShared< T >.

Definition at line 37 of file RHolder.hxx.

◆ InheritsFrom()

template<class T>
bool ROOT::Browsable::RHolder::InheritsFrom ( ) const
inlineinherited

Definition at line 61 of file RHolder.hxx.

◆ TakeObject()

virtual void * ROOT::Browsable::RHolder::TakeObject ( )
inlineprotectedvirtualinherited

Returns pointer with ownership, normally via unique_ptr<T>::release() or tobj->Clone().

Reimplemented in ROOT::Browsable::RAnyObjectHolder, ROOT::Browsable::RUnique< T >, and ROOT::Browsable::TObjectHolder.

Definition at line 40 of file RHolder.hxx.

Member Data Documentation

◆ fDisplayName

std::string RFieldHolder::fDisplayName
private

Definition at line 32 of file RFieldHolder.hxx.

◆ fFieldId

ROOT::DescriptorId_t RFieldHolder::fFieldId
private

Definition at line 31 of file RFieldHolder.hxx.

◆ fNtplReader

std::shared_ptr<ROOT::RNTupleReader> RFieldHolder::fNtplReader
private

Definition at line 28 of file RFieldHolder.hxx.

◆ fParentName

std::string RFieldHolder::fParentName
private

Definition at line 29 of file RFieldHolder.hxx.


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