60 #ifndef prof_Prof_CCT_Merge_hpp 61 #define prof_Prof_CCT_Merge_hpp 108 toString(
const char* pfx =
"")
const;
111 dump(std::ostream& os = std::cerr,
const char* pfx =
"")
const;
115 toString(
const std::list<MergeEffect>& effctLst,
116 const char* pfx =
"");
119 dump(
const std::list<CCT::MergeEffect>& effctLst,
120 std::ostream& os,
const char* pfx =
"");
177 { m_mrgFlag = mrgFlag; }
181 {
return m_mrgFlag; }
193 {
return m_isTrackingCPIds; }
200 && m_cpIdSet.find(cpId) != m_cpIdSet.end());
206 : cpId(cpId_), effect(effect_)
221 if (isConflict_cpId(curId)) {
224 if (doPropagateEffects()) {
241 std::pair<CPIdSet::iterator, bool> ret = m_cpIdSet.insert(cpId);
242 DIAG_Assert(ret.second,
"MergeContext::noteCPId: conflicting cp-ids!");
250 uint newId = *(m_cpIdSet.rbegin()) + 2;
251 std::pair<CPIdSet::iterator, bool> ret = m_cpIdSet.insert(newId);
253 "MergeContext::makeCPId: error!");
259 fillCPIdSet(
Tree* cct);
pair(uint cpId_, MergeEffect effect_)
static bool hpcrun_fmt_doRetainId(uint32_t id)
bool isConflict_cpId(uint cpId) const
std::list< MergeEffect > MergeEffectList
std::ostream & dump(std::ostream &os=std::cerr, const char *pfx="") const
MergeContext::pair ensureUniqueCPId(uint curId)
std::string toString(const char *pfx="") const
MergeEffect(uint old_, uint new_)
bool doPropagateEffects()
#define HPCRUN_FMT_CCTNodeId_NULL
bool isTrackingCPIds() const