7#ifndef COWTOOLS_COWLIBRARY
8#define COWTOOLS_COWLIBRARY
10#include <unordered_map>
20 std::unordered_map<std::string,std::shared_ptr<CoWRecord> >
m_records;
24 static std::shared_ptr<CoWLibrary>
fromRecord(std::istream &in,
bool summary);
32 std::cerr<<
"Warning trying to subtract different libraries. Ignoring"<<std::endl;
38 explicit operator bool()
const {
40 auto vals=
m_ms.getValueArray();
41 for(
int i=0;i<11;i++){
42 if(vals[i])
return true;
47 if(*(i.second))
return true;
55 std::cerr<<
"Warning trying to add different libraries. Ignoring"<<std::endl;
69 std::cerr<<
"Warning trying to add different libraries. Ignoring"<<std::endl;
75 *(l->second)+=*(i.second);
77 m_records.insert(std::make_pair(i.first,std::make_shared<CoWRecord>(*(i.second))));
86 std::cerr<<
"Warning trying to subtract different libraries. Ignoring"<<std::endl;
92 *(l->second)-=*(i.second);
94 m_records.insert(std::make_pair(i.first,std::make_shared<CoWRecord>(-*(i.second))));