DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::oks::ReloadObjects Struct Reference

#include <oks_utils.hpp>

Public Types

template<typename T >
using map_str_t = std::map<std::string, T>
 

Public Member Functions

 ~ReloadObjects ()
 
void put (OksObject *obj)
 
OksObjectpop (const OksClass *c, const std::string &id)
 

Public Attributes

std::map< const OksClass *, map_str_t< OksObject * > * > data
 
std::vector< OksObject * > created
 

Detailed Description

Definition at line 30 of file oks_utils.hpp.

Member Typedef Documentation

◆ map_str_t

template<typename T >
using dunedaq::oks::ReloadObjects::map_str_t = std::map<std::string, T>

Definition at line 34 of file oks_utils.hpp.

Constructor & Destructor Documentation

◆ ~ReloadObjects()

dunedaq::oks::ReloadObjects::~ReloadObjects ( )

Definition at line 3203 of file kernel.cpp.

3204{
3205 for(std::map< const OksClass *, map_str_t<OksObject *> * >::iterator i = data.begin(); i != data.end(); ++i) {
3206 delete i->second;
3207 }
3208}
std::map< std::string, T > map_str_t
Definition oks_utils.hpp:34
std::map< const OksClass *, map_str_t< OksObject * > * > data
Definition oks_utils.hpp:36

Member Function Documentation

◆ pop()

OksObject * dunedaq::oks::ReloadObjects::pop ( const OksClass * c,
const std::string & id )

Definition at line 3184 of file kernel.cpp.

3185{
3186 std::map< const OksClass *, map_str_t<OksObject *> * >::iterator i = data.find(c);
3187 if(i != data.end()) {
3188 map_str_t<OksObject *>::iterator j = i->second->find(id);
3189 if(j != i->second->end()) {
3190 OksObject * o = j->second;
3191 i->second->erase(j);
3192 if(i->second->empty()) {
3193 delete i->second;
3194 data.erase(i);
3195 }
3196 return o;
3197 }
3198 }
3199
3200 return 0;
3201}

◆ put()

void dunedaq::oks::ReloadObjects::put ( OksObject * obj)

Definition at line 3176 of file kernel.cpp.

3177{
3178 map_str_t<OksObject *> *& c = data[o->uid.class_id];
3179 if(!c) c = new map_str_t<OksObject *>();
3180 (*c)[o->GetId()] = o;
3181}

Member Data Documentation

◆ created

std::vector<OksObject *> dunedaq::oks::ReloadObjects::created

Definition at line 37 of file oks_utils.hpp.

◆ data

std::map< const OksClass *, map_str_t<OksObject *> * > dunedaq::oks::ReloadObjects::data

Definition at line 36 of file oks_utils.hpp.


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