#include <CoraCoolObjectIter.h>
Definition at line 37 of file CoraCoolObjectIter.h.
◆ CoraCoolObjectIter() [1/3]
CoraCoolObjectIter::CoraCoolObjectIter |
( |
CoraCoolFolder * |
coracoolfolder, |
|
|
cool::IObjectIteratorPtr |
coolptr |
|
) |
| |
Definition at line 32 of file CoraCoolObjectIter.cxx.
41 m_spec=
new coral::AttributeListSpecification();
42 for (coral::AttributeList::const_iterator itr=speclist.begin();
43 itr!=speclist.end();++itr) {
44 const coral::AttributeSpecification& aspec=itr->specification();
45 m_spec->extend(aspec.name(),aspec.typeName());
◆ ~CoraCoolObjectIter()
CoraCoolObjectIter::~CoraCoolObjectIter |
( |
| ) |
|
◆ CoraCoolObjectIter() [2/3]
CoraCoolObjectIter::CoraCoolObjectIter |
( |
| ) |
|
|
private |
◆ CoraCoolObjectIter() [3/3]
◆ close()
void CoraCoolObjectIter::close |
( |
| ) |
|
◆ currentRef()
◆ equalAttr()
bool CoraCoolObjectIter::equalAttr |
( |
const coral::Attribute & |
a1, |
|
|
const coral::Attribute & |
a2 |
|
) |
| const |
|
private |
Definition at line 190 of file CoraCoolObjectIter.cxx.
195 std::string spec1=a1.specification().typeName();
196 std::string spec2=a2.specification().typeName();
201 long long v1=
numAttr(spec1,a1);
◆ goToNext()
bool CoraCoolObjectIter::goToNext |
( |
| ) |
|
◆ hasNext()
bool CoraCoolObjectIter::hasNext |
( |
| ) |
|
◆ iHasNext()
bool CoraCoolObjectIter::iHasNext |
( |
| ) |
|
|
private |
◆ isNumAttr()
bool CoraCoolObjectIter::isNumAttr |
( |
const std::string & |
spec | ) |
const |
|
private |
◆ next()
◆ numAttr()
long long CoraCoolObjectIter::numAttr |
( |
const std::string & |
spec, |
|
|
const coral::Attribute & |
a |
|
) |
| const |
|
private |
Definition at line 231 of file CoraCoolObjectIter.cxx.
234 if (
spec==
"long long") {
235 v=
a.data<
long long>();
236 }
else if (
spec==
"unsigned long long") {
237 v=
static_cast<long long>(
a.data<
unsigned long long>());
238 }
else if (
spec==
"int") {
239 v=
static_cast<long long>(
a.data<
int>());
240 }
else if (
spec==
"unsigned int") {
241 v=
static_cast<long long>(
a.data<
unsigned int>());
242 }
else if (
spec==
"long") {
243 v=
static_cast<long long>(
a.data<
long>());
244 }
else if (
spec==
"unsigned long") {
245 v=
static_cast<long long>(
a.data<
unsigned long>());
◆ operator=()
◆ readDataToBuffer()
void CoraCoolObjectIter::readDataToBuffer |
( |
| ) |
|
|
private |
Definition at line 66 of file CoraCoolObjectIter.cxx.
74 std::string fktypestr;
76 typedef std::vector<unsigned int> KeyVec;
77 typedef std::unordered_map<long long,KeyVec > KeyMap;
83 const cool::IObject& coolobj=
m_coolitr->currentRef();
88 coolobj.until(),coolobj.channelId(),
m_spec));
94 fktypestr=
payload[0].specification().typeName();
100 if (kdata==keymap.end()) {
102 kdata=keymap.insert(kdata,
103 KeyMap::value_type(ikeyval,KeyVec(8)));
104 KeyVec& keyvec=kdata->second;
109 KeyVec& keyvec=kdata->second;
117 qbuf.getQuery(bwhere,coralkey,bfkeys,fktype[0].specification());
122 query->setCondition(bwhere,bfkeys);
126 KeyMap::const_iterator kdata=keymap.end();
133 const long long keyval=
numAttr(fktypestr,
res[coralkey]);
134 if (keyval!=okeyval || kdata==keymap.end()) {
135 kdata=keymap.find(keyval);
138 if (kdata!=keymap.end()) {
139 KeyVec keyvec=kdata->second;
140 for (KeyVec::const_iterator kitr=keyvec.begin();
141 kitr!=keyvec.end();++kitr) {
145 std::ostringstream skey;
146 skey <<
"CoraCool key remapping error for key " << keyval;
153 catch (coral::Exception&
e) {
◆ m_allDone
bool CoraCoolObjectIter::m_allDone |
|
private |
◆ m_buflen
unsigned int CoraCoolObjectIter::m_buflen |
|
private |
◆ m_coolitr
cool::IObjectIteratorPtr CoraCoolObjectIter::m_coolitr |
|
private |
◆ m_data
◆ m_folder
◆ m_inbuf
unsigned int CoraCoolObjectIter::m_inbuf |
|
private |
◆ m_nextobj
unsigned int CoraCoolObjectIter::m_nextobj |
|
private |
◆ m_refValid
bool CoraCoolObjectIter::m_refValid |
|
private |
◆ m_spec
coral::AttributeListSpecification* CoraCoolObjectIter::m_spec |
|
private |
The documentation for this class was generated from the following files:
constexpr std::enable_if_t< is_bitmask_v< E >, E & > reset(E &lhs, E rhs)
Convenience function to clear bits in a class enum bitmask.