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)
OksObject * pop (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 36 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 40 of file oks_utils.hpp.

Constructor & Destructor Documentation

◆ ~ReloadObjects()

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

Definition at line 2992 of file kernel.cpp.

2993{
2994 for (std::map<const OksClass*, map_str_t<OksObject*>*>::iterator i = data.begin(); i != data.end(); ++i) {
2995 delete i->second;
2996 }
2997}
std::map< const OksClass *, map_str_t< OksObject * > * > data
Definition oks_utils.hpp:42
std::map< std::string, T > map_str_t
Definition oks_utils.hpp:40

Member Function Documentation

◆ pop()

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

Definition at line 2973 of file kernel.cpp.

2974{
2975 std::map<const OksClass*, map_str_t<OksObject*>*>::iterator i = data.find(c);
2976 if (i != data.end()) {
2977 map_str_t<OksObject*>::iterator j = i->second->find(id);
2978 if (j != i->second->end()) {
2979 OksObject* o = j->second;
2980 i->second->erase(j);
2981 if (i->second->empty()) {
2982 delete i->second;
2983 data.erase(i);
2984 }
2985 return o;
2986 }
2987 }
2988
2989 return 0;
2990}

◆ put()

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

Definition at line 2964 of file kernel.cpp.

2965{
2966 map_str_t<OksObject*>*& c = data[o->uid.class_id];
2967 if (!c)
2968 c = new map_str_t<OksObject*>();
2969 (*c)[o->GetId()] = o;
2970}

Member Data Documentation

◆ created

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

Definition at line 43 of file oks_utils.hpp.

◆ data

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

Definition at line 42 of file oks_utils.hpp.


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