Hello,
Using ROOT-5.34.21 (CINT 5.18.00), if I try to fill a std::priority_queue with TObject (header file is attached,
TObject* = NtupleMerge* ) as
std::priority_queue<TObject*, std::vector<TOBject*>, TObject> pq ;
its failing.
My LinkDef.hh has CINT include statement
#pragma link C++ class RAT::NtupleMerge+ ;
and my MAKECINT has
#pragma link C++ class std::vectorRAT::NtupleMerge*;
#pragma link C++ class std::priority_queue<RAT::NtupleMerge*, std::vectorRAT::NtupleMerge*, RAT::NtupleMerge >+;
Error: Symbol priority_queue is not defined in current scope (tmpfile):1:
Error: Symbol NtupleMerge is not defined in current scope (tmpfile):1:
Error: Symbol vector is not defined in current scope (tmpfile):1:
However, if I am trying to define std::vector<NtupleMerge*> alone not inside priority_queue, it does work after adding the definition in CINT
#pragma link C++ class std::vectorRAT::NtupleMerge*;
Is this a bug or something else is going on ? My LinkDef file is also attached.
Kalpana
LinkDef.hh (6.77 KB)
NtupleMerge.hh (5.44 KB)