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 35 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 39 of file oks_utils.hpp.

Constructor & Destructor Documentation

◆ ~ReloadObjects()

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

Definition at line 3208 of file kernel.cpp.

3209{
3210 for(std::map< const OksClass *, map_str_t<OksObject *> * >::iterator i = data.begin(); i != data.end(); ++i) {
3211 delete i->second;
3212 }
3213}
std::map< std::string, T > map_str_t
Definition oks_utils.hpp:39
std::map< const OksClass *, map_str_t< OksObject * > * > data
Definition oks_utils.hpp:41

Member Function Documentation

◆ pop()

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

Definition at line 3189 of file kernel.cpp.

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

◆ put()

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

Definition at line 3181 of file kernel.cpp.

3182{
3183 map_str_t<OksObject *> *& c = data[o->uid.class_id];
3184 if(!c) c = new map_str_t<OksObject *>();
3185 (*c)[o->GetId()] = o;
3186}

Member Data Documentation

◆ created

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

Definition at line 42 of file oks_utils.hpp.

◆ data

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

Definition at line 41 of file oks_utils.hpp.


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