#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.