DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dbe::inner::configobject::oref Class Reference

#include <config_reference.hpp>

Collaboration diagram for dbe::inner::configobject::oref:
[legend]

Public Member Functions

 operator dbe::cokey () const
 

Private Member Functions

 oref (dunedaq::conffwk::ConfigObject const &o) noexcept(true)
 
std::string full_name () const
 
void rename (std::string const &newname)
 
 operator dunedaq::conffwk::ConfigObject & () noexcept
 
 operator dunedaq::conffwk::ConfigObject const & () const noexcept
 
 oref (oref const &)=delete
 
oref operator= (oref const &)=delete
 

Private Attributes

wref ref
 
std::string this_last_full_name
 

Friends

class tref
 
class vref
 
struct refhasher
 
template<typename >
class aref
 
template<typename >
class gref
 
class dbe::inner::dbcontroller
 
bool operator== (dbe::cokey const &left, dbe::cokey const &right)
 

Detailed Description

Provides a consistent reference to the underlying object referenced by ConfigObject

Definition at line 67 of file config_reference.hpp.

Constructor & Destructor Documentation

◆ oref() [1/2]

dbe::inner::configobject::oref::oref ( dunedaq::conffwk::ConfigObject const & o)
inlineprivatenoexcept

Permits to create a reference to an already existing configuration object

Parameters
othe configobject to wrap this around

Definition at line 85 of file config_reference.hpp.

86 : ref
87 { o },
88 this_last_full_name(o.full_name())
89 {
90 }

◆ oref() [2/2]

dbe::inner::configobject::oref::oref ( oref const & )
privatedelete

Member Function Documentation

◆ full_name()

std::string dbe::inner::configobject::oref::full_name ( ) const
inlineprivate

Definition at line 92 of file config_reference.hpp.

93 {
95 }

◆ operator dbe::cokey()

dbe::inner::configobject::oref::operator dbe::cokey ( ) const
inline

Definition at line 123 of file config_reference.hpp.

124 {
125 return
126 { ref.ref.UID(),ref.ref.class_name()};
127 }
dunedaq::conffwk::ConfigObject ref
const std::string & UID() const noexcept
Return object identity.
const std::string & class_name() const noexcept
Return object's class name.

◆ operator dunedaq::conffwk::ConfigObject &()

dbe::inner::configobject::oref::operator dunedaq::conffwk::ConfigObject & ( )
inlineexplicitprivatenoexcept

Explicit conversion for friends only returns an null ConfigObject in case that the underlying object has been deleted. Otherwise it returns the underlying ConfigObject reference, which is expected to be managed by dbe::inner::dbecontroller and be consistent or invalid.

Definition at line 108 of file config_reference.hpp.

109 {
110 return ref.ref;
111 }

◆ operator dunedaq::conffwk::ConfigObject const &()

dbe::inner::configobject::oref::operator dunedaq::conffwk::ConfigObject const & ( ) const
inlineexplicitprivatenoexcept

Definition at line 113 of file config_reference.hpp.

114 {
115 return ref.ref;
116 }

◆ operator=()

oref dbe::inner::configobject::oref::operator= ( oref const & )
privatedelete

◆ rename()

void dbe::inner::configobject::oref::rename ( std::string const & newname)
inlineprivate

Definition at line 97 of file config_reference.hpp.

98 {
99 ref.ref.rename(newname);
100 this_last_full_name = newname;
101 }
void rename(const std::string &new_id)
Rename object.

Friends And Related Symbol Documentation

◆ aref

template<typename >
friend class aref
friend

Definition at line 72 of file config_reference.hpp.

◆ dbe::inner::dbcontroller

friend class dbe::inner::dbcontroller
friend

Definition at line 74 of file config_reference.hpp.

◆ gref

template<typename >
friend class gref
friend

Definition at line 73 of file config_reference.hpp.

◆ operator==

bool operator== ( dbe::cokey const & left,
dbe::cokey const & right )
friend

◆ refhasher

friend struct refhasher
friend

Definition at line 71 of file config_reference.hpp.

◆ tref

friend class tref
friend

Definition at line 69 of file config_reference.hpp.

◆ vref

friend class vref
friend

Definition at line 70 of file config_reference.hpp.

Member Data Documentation

◆ ref

wref dbe::inner::configobject::oref::ref
private

Definition at line 77 of file config_reference.hpp.

◆ this_last_full_name

std::string dbe::inner::configobject::oref::this_last_full_name
private

Definition at line 78 of file config_reference.hpp.


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