HPCToolkit
Prof::Struct::File Class Reference

#include <Struct-Tree.hpp>

Inheritance diagram for Prof::Struct::File:
Collaboration diagram for Prof::Struct::File:

Public Types

enum  ANodeTy {
  TyRoot = 0, TyGroup, TyLM, TyFile,
  TyProc, TyAlien, TyLoop, TyStmt,
  TyRef, TyVariable, TyANY, TyNUMBER
}
 
typedef std::vector< hpcrun_metricVal_tMetricVec
 

Public Member Functions

 File (const char *filenm, ANode *parent, SrcFile::ln begLn=ln_NULL, SrcFile::ln endLn=ln_NULL)
 
 File (const std::string &filenm, ANode *parent, SrcFile::ln begLn=ln_NULL, SrcFile::ln endLn=ln_NULL)
 
virtual ~File ()
 
virtual ANodeclone ()
 
virtual const std::string & name () const
 
virtual std::string codeName () const
 
void name (const char *fname)
 
void name (const std::string &fname)
 
std::string baseName () const
 
ProcfindProc (const char *name, const char *linkname=NULL) const
 
ProcfindProc (const std::string &name, const std::string &linkname="") const
 
virtual std::string toXML (uint oFlags=0) const
 
virtual void CSV_dump (const Root &root, std::ostream &os=std::cout, const char *file_name=NULL, const char *proc_name=NULL, int lLevel=0) const
 
virtual std::ostream & dumpme (std::ostream &os=std::cerr, uint oFlags=0, const char *pre="") const
 
SrcFile::ln begLine () const
 
void begLine (SrcFile::ln x)
 
SrcFile::ln endLine () const
 
void endLine (SrcFile::ln x)
 
void setLineRange (SrcFile::ln begLn, SrcFile::ln endLn, int propagate=1)
 
void expandLineRange (SrcFile::ln begLn, SrcFile::ln endLn, int propagate=1)
 
void linkAndSetLineRange (ACodeNode *parent)
 
void checkLineRange (SrcFile::ln begLn, SrcFile::ln endLn)
 
void freezeLine ()
 
void thawLine ()
 
const VMAIntervalSetvmaSet () const
 
VMAIntervalSetvmaSet ()
 
bool containsLine (SrcFile::ln ln) const
 
bool containsLine (SrcFile::ln ln, int beg_epsilon, int end_epsilon) const
 
bool containsInterval (SrcFile::ln begLn, SrcFile::ln endLn) const
 
bool containsInterval (SrcFile::ln begLn, SrcFile::ln endLn, int beg_epsilon, int end_epsilon) const
 
ACodeNodeACodeNodeWithLine (SrcFile::ln ln) const
 
ACodeNodenextSiblingNonOverlapping () const
 
virtual std::string nameQual () const
 
std::string lineRange () const
 
virtual std::string XMLLineRange (uint oFlags) const
 
virtual std::string XMLVMAIntervals (uint oFlags) const
 
void setScopeLocation (std::string &file, SrcFile::ln line)
 
std::string & getScopeFileName ()
 
SrcFile::ln getScopeLineNum ()
 
ANodeTy type () const
 
uint id () const
 
void setInvisible ()
 
bool isVisible () const
 
ANodeparent () const
 
ANodefirstChild () const
 
ANodelastChild () const
 
ANodenextSibling () const
 
ANodeprevSibling () const
 
ANodeancestor (ANodeTy type) const
 
ANodeancestor (ANodeTy ty1, ANodeTy ty2) const
 
ANodeancestor (ANodeTy ty1, ANodeTy ty2, ANodeTy ty3) const
 
RootancestorRoot () const
 
GroupancestorGroup () const
 
LMancestorLM () const
 
FileancestorFile () const
 
ProcancestorProc () const
 
AlienancestorAlien () const
 
LoopancestorLoop () const
 
StmtancestorStmt () const
 
ACodeNodeancestorProcCtxt () const
 
ACodeNodeACodeNodeParent () const
 
void aggregateMetrics (uint mBegId, uint mEndId)
 
void aggregateMetrics (uint mBegId)
 
void pruneByMetrics ()
 
std::string toStringXML (uint oFlags=0, const char *pre="") const
 
virtual std::ostream & writeXML (std::ostream &os=std::cout, uint oFlags=0, const char *pre="") const
 
void ddumpXML () const
 
void CSV_DumpSelf (const Root &root, std::ostream &os=std::cout) const
 
virtual std::string toString (uint oFlags=0, const char *pre="") const
 
std::string toString_id (uint oFlags=0) const
 
std::string toStringMe (uint oFlags=0, const char *pre="") const
 
std::ostream & dump (std::ostream &os=std::cerr, uint oFlags=0, const char *pre="") const
 
void ddump () const
 
void link (NonUniformDegreeTreeNode *parent)
 
void linkBefore (NonUniformDegreeTreeNode *sibling)
 
void linkAfter (NonUniformDegreeTreeNode *sibling)
 
void unlink ()
 
uint ancestorCount () const
 
uint childCount () const
 
bool isLeaf () const
 
uint maxDepth ()
 
uint maxDepth (uint parentDepth)
 
NonUniformDegreeTreeNodeParent () const
 
NonUniformDegreeTreeNodeNextSibling () const
 
NonUniformDegreeTreeNodePrevSibling () const
 
NonUniformDegreeTreeNodeFirstChild () const
 
NonUniformDegreeTreeNodeLastChild () const
 
bool hasMetrics (uint mBegId=Metric::IData::npos, uint mEndId=Metric::IData::npos) const
 
bool hasMetric (size_t mId) const
 
bool hasMetricSlow (size_t mId) const
 
double metric (size_t mId) const
 
double & metric (size_t mId)
 
hpcrun_metricVal_tmetricObject (size_t mId)
 
double demandMetric (size_t mId, size_t size=0) const
 
double & demandMetric (size_t mId, size_t size=0)
 
void zeroMetrics (uint mBegId, uint mEndId)
 
void clearMetrics ()
 
void ensureMetricsSize (size_t size) const
 
void insertMetricsBefore (size_t numMetrics)
 
uint numMetrics () const
 
std::string toStringMetrics (int oFlags=0, const char *pfx="") const
 
std::ostream & writeMetricsXML (std::ostream &os, const Mgr *metricMgr, uint mBegId=Metric::IData::npos, uint mEndId=Metric::IData::npos, int oFlags=0, const char *pfx="") const
 
std::ostream & dumpMetrics (std::ostream &os=std::cerr, int oFlags=0, const char *pfx="") const
 
void ddumpMetrics () const
 

Static Public Member Functions

static Filedemand (LM *lm, const std::string &filenm)
 
static int compare (const ACodeNode *x, const ACodeNode *y)
 
static const std::string & ANodeTyToName (ANodeTy tp)
 
static const std::string & ANodeTyToXMLelement (ANodeTy tp)
 
static ANodeTy IntToANodeTy (long i)
 
static uint maxId ()
 
static ANodeleastCommonAncestor (ANode *n1, ANode *n2)
 
static int distance (ANode *ancestor, ANode *descendent)
 
static bool arePathsOverlapping (ANode *lca, ANode *desc1, ANode *desc2)
 
static bool mergePaths (ANode *lca, ANode *node_dst, ANode *node_src)
 
static bool merge (ANode *node_dst, ANode *node_src)
 
static bool isMergable (ANode *node_dst, ANode *node_src)
 

Public Attributes

uint m_origId
 

Static Public Attributes

static const uint Id_NULL = 0
 
static const uint npos = UINT_MAX
 

Protected Member Functions

 File (const File &x)
 
Fileoperator= (const File &x)
 
void relocate ()
 
void relocateIf ()
 
std::string codeName_LM_F () const
 
bool writeXML_pre (std::ostream &os=std::cout, uint oFlags=0, const char *prefix="") const
 
void writeXML_post (std::ostream &os=std::cout, uint oFlags=0, const char *prefix="") const
 
void zeroLinks ()
 

Protected Attributes

SrcFile::ln m_begLn
 
SrcFile::ln m_endLn
 
VMAIntervalSet m_vmaSet
 
ANodeTy m_type
 
uint m_id
 
bool m_visible
 
NonUniformDegreeTreeNodem_parent
 
NonUniformDegreeTreeNodem_children
 
NonUniformDegreeTreeNodem_next_sibling
 
NonUniformDegreeTreeNodem_prev_sibling
 
uint m_child_count
 

Private Member Functions

void Ctor (const char *filenm, ANode *parent)
 
void insertProcMap (Proc *proc)
 

Private Attributes

std::string m_name
 
ProcMapm_procMap
 

Friends

class Proc
 

Detailed Description

Definition at line 1308 of file Struct-Tree.hpp.

Member Typedef Documentation

◆ MetricVec

typedef std::vector<hpcrun_metricVal_t> Prof::Metric::IData::MetricVec
inherited

Definition at line 107 of file Metric-IData.hpp.

Member Enumeration Documentation

◆ ANodeTy

Enumerator
TyRoot 
TyGroup 
TyLM 
TyFile 
TyProc 
TyAlien 
TyLoop 
TyStmt 
TyRef 
TyVariable 
TyANY 
TyNUMBER 

Definition at line 255 of file Struct-Tree.hpp.

Constructor & Destructor Documentation

◆ File() [1/3]

Prof::Struct::File::File ( const File x)
inlineprotected

Definition at line 1310 of file Struct-Tree.hpp.

◆ File() [2/3]

Prof::Struct::File::File ( const char *  filenm,
ANode parent,
SrcFile::ln  begLn = ln_NULL,
SrcFile::ln  endLn = ln_NULL 
)
inline

Definition at line 1322 of file Struct-Tree.hpp.

◆ File() [3/3]

Prof::Struct::File::File ( const std::string &  filenm,
ANode parent,
SrcFile::ln  begLn = ln_NULL,
SrcFile::ln  endLn = ln_NULL 
)
inline

Definition at line 1329 of file Struct-Tree.hpp.

◆ ~File()

virtual Prof::Struct::File::~File ( )
inlinevirtual

Definition at line 1336 of file Struct-Tree.hpp.

Member Function Documentation

◆ ACodeNodeParent()

ACodeNode * Prof::Struct::ANode::ACodeNodeParent ( ) const
inherited

Definition at line 536 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ACodeNodeWithLine()

ACodeNode * Prof::Struct::ACodeNode::ACodeNodeWithLine ( SrcFile::ln  ln) const
inherited

Definition at line 1199 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ aggregateMetrics() [1/2]

void Prof::Struct::ANode::aggregateMetrics ( uint  mBegId,
uint  mEndId 
)
inherited

Definition at line 694 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ aggregateMetrics() [2/2]

void Prof::Struct::ANode::aggregateMetrics ( uint  mBegId)
inlineinherited

Definition at line 458 of file Struct-Tree.hpp.

Here is the call graph for this function:

◆ ancestor() [1/3]

ANode * Prof::Struct::ANode::ancestor ( ANodeTy  type) const
inherited

Definition at line 543 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ancestor() [2/3]

ANode * Prof::Struct::ANode::ancestor ( ANodeTy  ty1,
ANodeTy  ty2 
) const
inherited

Definition at line 554 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ ancestor() [3/3]

ANode * Prof::Struct::ANode::ancestor ( ANodeTy  ty1,
ANodeTy  ty2,
ANodeTy  ty3 
) const
inherited

Definition at line 565 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ ancestorAlien()

Alien * Prof::Struct::ANode::ancestorAlien ( ) const
inherited

Definition at line 662 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ ancestorCount()

uint NonUniformDegreeTreeNode::ancestorCount ( ) const
inherited

Definition at line 183 of file NonUniformDegreeTree.cpp.

Here is the caller graph for this function:

◆ ancestorFile()

File * Prof::Struct::ANode::ancestorFile ( ) const
inherited

Definition at line 648 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ancestorGroup()

Group * Prof::Struct::ANode::ancestorGroup ( ) const
inherited

Definition at line 634 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ ancestorLM()

LM * Prof::Struct::ANode::ancestorLM ( ) const
inherited

Definition at line 641 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ancestorLoop()

Loop * Prof::Struct::ANode::ancestorLoop ( ) const
inherited

Definition at line 669 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ ancestorProc()

Proc * Prof::Struct::ANode::ancestorProc ( ) const
inherited

Definition at line 655 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ancestorProcCtxt()

ACodeNode * Prof::Struct::ANode::ancestorProcCtxt ( ) const
inherited

Definition at line 683 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ ancestorRoot()

Root * Prof::Struct::ANode::ancestorRoot ( ) const
inherited

Definition at line 616 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ ancestorStmt()

Stmt * Prof::Struct::ANode::ancestorStmt ( ) const
inherited

Definition at line 676 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ ANodeTyToName()

const string & Prof::Struct::ANode::ANodeTyToName ( ANodeTy  tp)
staticinherited

Definition at line 208 of file Struct-Tree.cpp.

Here is the caller graph for this function:

◆ ANodeTyToXMLelement()

const string & Prof::Struct::ANode::ANodeTyToXMLelement ( ANodeTy  tp)
staticinherited

Definition at line 1404 of file Struct-Tree.cpp.

Here is the caller graph for this function:

◆ arePathsOverlapping()

bool Prof::Struct::ANode::arePathsOverlapping ( ANode lca,
ANode desc1,
ANode desc2 
)
staticinherited

Definition at line 754 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ baseName()

std::string Prof::Struct::File::baseName ( ) const
inline

Definition at line 1370 of file Struct-Tree.hpp.

Here is the call graph for this function:

◆ begLine() [1/2]

SrcFile::ln Prof::Struct::ACodeNode::begLine ( ) const
inlineinherited

Definition at line 668 of file Struct-Tree.hpp.

Here is the caller graph for this function:

◆ begLine() [2/2]

void Prof::Struct::ACodeNode::begLine ( SrcFile::ln  x)
inlineinherited

Definition at line 672 of file Struct-Tree.hpp.

◆ checkLineRange()

void Prof::Struct::ACodeNode::checkLineRange ( SrcFile::ln  begLn,
SrcFile::ln  endLn 
)
inlineinherited

Definition at line 693 of file Struct-Tree.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ childCount()

uint NonUniformDegreeTreeNode::childCount ( ) const
inlineinherited

Definition at line 163 of file NonUniformDegreeTree.hpp.

Here is the caller graph for this function:

◆ clearMetrics()

void Prof::Metric::IData::clearMetrics ( )
inlineinherited

Definition at line 210 of file Metric-IData.hpp.

Here is the caller graph for this function:

◆ clone()

virtual ANode* Prof::Struct::File::clone ( )
inlinevirtual

Reimplemented from Prof::Struct::ACodeNode.

Definition at line 1342 of file Struct-Tree.hpp.

◆ codeName()

string Prof::Struct::File::codeName ( ) const
virtual

Reimplemented from Prof::Struct::ACodeNode.

Definition at line 1340 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ codeName_LM_F()

string Prof::Struct::ACodeNode::codeName_LM_F ( ) const
protectedinherited

Definition at line 1319 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compare()

int Prof::Struct::ACodeNode::compare ( const ACodeNode x,
const ACodeNode y 
)
staticinherited

Definition at line 1231 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ containsInterval() [1/2]

bool Prof::Struct::ACodeNode::containsInterval ( SrcFile::ln  begLn,
SrcFile::ln  endLn 
) const
inlineinherited

Definition at line 745 of file Struct-Tree.hpp.

◆ containsInterval() [2/2]

bool Prof::Struct::ACodeNode::containsInterval ( SrcFile::ln  begLn,
SrcFile::ln  endLn,
int  beg_epsilon,
int  end_epsilon 
) const
inlineinherited

Definition at line 749 of file Struct-Tree.hpp.

Here is the call graph for this function:

◆ containsLine() [1/2]

bool Prof::Struct::ACodeNode::containsLine ( SrcFile::ln  ln) const
inlineinherited

Definition at line 738 of file Struct-Tree.hpp.

Here is the caller graph for this function:

◆ containsLine() [2/2]

bool Prof::Struct::ACodeNode::containsLine ( SrcFile::ln  ln,
int  beg_epsilon,
int  end_epsilon 
) const
inherited

Definition at line 1179 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ CSV_dump()

void Prof::Struct::File::CSV_dump ( const Root root,
std::ostream &  os = std::cout,
const char *  file_name = NULL,
const char *  proc_name = NULL,
int  lLevel = 0 
) const
virtual

Reimplemented from Prof::Struct::ACodeNode.

Definition at line 1728 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ CSV_DumpSelf()

void Prof::Struct::ANode::CSV_DumpSelf ( const Root root,
std::ostream &  os = std::cout 
) const
inherited

Definition at line 1687 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Ctor()

void Prof::Struct::File::Ctor ( const char *  filenm,
ANode parent 
)
private

Definition at line 376 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ ddump()

void Prof::Struct::ANode::ddump ( ) const
inherited

Definition at line 1857 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ ddumpMetrics()

void Prof::Metric::IData::ddumpMetrics ( ) const
inherited

Definition at line 155 of file Metric-IData.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ddumpXML()

void Prof::Struct::ANode::ddumpXML ( ) const
inherited

Definition at line 1631 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ demand()

File * Prof::Struct::File::demand ( LM lm,
const std::string &  filenm 
)
static

Definition at line 401 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ demandMetric() [1/2]

double Prof::Metric::IData::demandMetric ( size_t  mId,
size_t  size = 0 
) const
inlineinherited

Definition at line 182 of file Metric-IData.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ demandMetric() [2/2]

double& Prof::Metric::IData::demandMetric ( size_t  mId,
size_t  size = 0 
)
inlineinherited

Definition at line 190 of file Metric-IData.hpp.

Here is the call graph for this function:

◆ distance()

int Prof::Struct::ANode::distance ( ANode ancestor,
ANode descendent 
)
staticinherited

Definition at line 738 of file Struct-Tree.cpp.

Here is the caller graph for this function:

◆ dump()

std::ostream& Prof::Struct::ANode::dump ( std::ostream &  os = std::cerr,
uint  oFlags = 0,
const char *  pre = "" 
) const
inherited
Here is the caller graph for this function:

◆ dumpme()

ostream & Prof::Struct::File::dumpme ( std::ostream &  os = std::cerr,
uint  oFlags = 0,
const char *  pre = "" 
) const
virtual

Reimplemented from Prof::Struct::ACodeNode.

Definition at line 1906 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ dumpMetrics()

std::ostream & Prof::Metric::IData::dumpMetrics ( std::ostream &  os = std::cerr,
int  oFlags = 0,
const char *  pfx = "" 
) const
inherited

Definition at line 147 of file Metric-IData.cpp.

Here is the caller graph for this function:

◆ endLine() [1/2]

SrcFile::ln Prof::Struct::ACodeNode::endLine ( ) const
inlineinherited

Definition at line 676 of file Struct-Tree.hpp.

Here is the caller graph for this function:

◆ endLine() [2/2]

void Prof::Struct::ACodeNode::endLine ( SrcFile::ln  x)
inlineinherited

Definition at line 680 of file Struct-Tree.hpp.

◆ ensureMetricsSize()

void Prof::Metric::IData::ensureMetricsSize ( size_t  size) const
inlineinherited

Definition at line 217 of file Metric-IData.hpp.

Here is the caller graph for this function:

◆ expandLineRange()

void Prof::Struct::ACodeNode::expandLineRange ( SrcFile::ln  begLn,
SrcFile::ln  endLn,
int  propagate = 1 
)
inherited

Definition at line 1096 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findProc() [1/2]

Proc * Prof::Struct::File::findProc ( const char *  name,
const char *  linkname = NULL 
) const

Definition at line 1045 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findProc() [2/2]

Proc* Prof::Struct::File::findProc ( const std::string &  name,
const std::string &  linkname = "" 
) const
inline

Definition at line 1384 of file Struct-Tree.hpp.

◆ FirstChild()

NonUniformDegreeTreeNode* NonUniformDegreeTreeNode::FirstChild ( ) const
inlineinherited

Definition at line 197 of file NonUniformDegreeTree.hpp.

Here is the caller graph for this function:

◆ firstChild()

ANode* Prof::Struct::ANode::firstChild ( ) const
inlineinherited

Definition at line 375 of file Struct-Tree.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ freezeLine()

void Prof::Struct::ACodeNode::freezeLine ( )
inlineinherited

Definition at line 704 of file Struct-Tree.hpp.

◆ getScopeFileName()

std::string& Prof::Struct::ACodeNode::getScopeFileName ( )
inlineinherited

Definition at line 851 of file Struct-Tree.hpp.

◆ getScopeLineNum()

SrcFile::ln Prof::Struct::ACodeNode::getScopeLineNum ( )
inlineinherited

Definition at line 852 of file Struct-Tree.hpp.

◆ hasMetric()

bool Prof::Metric::IData::hasMetric ( size_t  mId) const
inlineinherited

Definition at line 158 of file Metric-IData.hpp.

Here is the caller graph for this function:

◆ hasMetrics()

bool Prof::Metric::IData::hasMetrics ( uint  mBegId = Metric::IData::npos,
uint  mEndId = Metric::IData::npos 
) const
inlineinherited

Definition at line 141 of file Metric-IData.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hasMetricSlow()

bool Prof::Metric::IData::hasMetricSlow ( size_t  mId) const
inlineinherited

Definition at line 162 of file Metric-IData.hpp.

Here is the call graph for this function:

◆ id()

uint Prof::Struct::ANode::id ( ) const
inlineinherited

Definition at line 339 of file Struct-Tree.hpp.

Here is the caller graph for this function:

◆ insertMetricsBefore()

void Prof::Metric::IData::insertMetricsBefore ( size_t  numMetrics)
inlineinherited

Definition at line 226 of file Metric-IData.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ insertProcMap()

void Prof::Struct::File::insertProcMap ( Proc proc)
private

Definition at line 929 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IntToANodeTy()

ANode::ANodeTy Prof::Struct::ANode::IntToANodeTy ( long  i)
staticinherited

Definition at line 215 of file Struct-Tree.cpp.

Here is the caller graph for this function:

◆ isLeaf()

bool NonUniformDegreeTreeNode::isLeaf ( ) const
inlineinherited

Definition at line 167 of file NonUniformDegreeTree.hpp.

Here is the caller graph for this function:

◆ isMergable()

bool Prof::Struct::ANode::isMergable ( ANode node_dst,
ANode node_src 
)
staticinherited

Definition at line 855 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isVisible()

bool Prof::Struct::ANode::isVisible ( ) const
inlineinherited

Definition at line 364 of file Struct-Tree.hpp.

Here is the caller graph for this function:

◆ LastChild()

NonUniformDegreeTreeNode* NonUniformDegreeTreeNode::LastChild ( ) const
inlineinherited

Definition at line 201 of file NonUniformDegreeTree.hpp.

Here is the caller graph for this function:

◆ lastChild()

ANode* Prof::Struct::ANode::lastChild ( ) const
inlineinherited

Definition at line 379 of file Struct-Tree.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ leastCommonAncestor()

ANode * Prof::Struct::ANode::leastCommonAncestor ( ANode n1,
ANode n2 
)
staticinherited

Definition at line 591 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ lineRange()

string Prof::Struct::ACodeNode::lineRange ( ) const
inherited

Definition at line 1300 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ link()

void NonUniformDegreeTreeNode::link ( NonUniformDegreeTreeNode parent)
inherited

Definition at line 97 of file NonUniformDegreeTree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ linkAfter()

void NonUniformDegreeTreeNode::linkAfter ( NonUniformDegreeTreeNode sibling)
inherited

Definition at line 117 of file NonUniformDegreeTree.cpp.

Here is the caller graph for this function:

◆ linkAndSetLineRange()

void Prof::Struct::ACodeNode::linkAndSetLineRange ( ACodeNode parent)
inherited

Definition at line 227 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ linkBefore()

void NonUniformDegreeTreeNode::linkBefore ( NonUniformDegreeTreeNode sibling)
inherited

Definition at line 138 of file NonUniformDegreeTree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ maxDepth() [1/2]

uint NonUniformDegreeTreeNode::maxDepth ( )
inlineinherited

Definition at line 172 of file NonUniformDegreeTree.hpp.

Here is the call graph for this function:

◆ maxDepth() [2/2]

uint NonUniformDegreeTreeNode::maxDepth ( uint  parentDepth)
inherited

Definition at line 196 of file NonUniformDegreeTree.cpp.

Here is the call graph for this function:

◆ maxId()

static uint Prof::Struct::ANode::maxId ( )
inlinestaticinherited

Definition at line 346 of file Struct-Tree.hpp.

◆ merge()

bool Prof::Struct::ANode::merge ( ANode node_dst,
ANode node_src 
)
staticinherited

Definition at line 818 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mergePaths()

bool Prof::Struct::ANode::mergePaths ( ANode lca,
ANode node_dst,
ANode node_src 
)
staticinherited

Definition at line 780 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ metric() [1/2]

double Prof::Metric::IData::metric ( size_t  mId) const
inlineinherited

Definition at line 167 of file Metric-IData.hpp.

Here is the caller graph for this function:

◆ metric() [2/2]

double& Prof::Metric::IData::metric ( size_t  mId)
inlineinherited

Definition at line 171 of file Metric-IData.hpp.

◆ metricObject()

hpcrun_metricVal_t& Prof::Metric::IData::metricObject ( size_t  mId)
inlineinherited

Definition at line 176 of file Metric-IData.hpp.

Here is the caller graph for this function:

◆ name() [1/3]

virtual const std::string& Prof::Struct::File::name ( void  ) const
inlinevirtual

Reimplemented from Prof::Struct::ANode.

Definition at line 1354 of file Struct-Tree.hpp.

Here is the caller graph for this function:

◆ name() [2/3]

void Prof::Struct::File::name ( const char *  fname)
inline

Definition at line 1362 of file Struct-Tree.hpp.

◆ name() [3/3]

void Prof::Struct::File::name ( const std::string &  fname)
inline

Definition at line 1366 of file Struct-Tree.hpp.

◆ nameQual()

virtual std::string Prof::Struct::ACodeNode::nameQual ( ) const
inlinevirtualinherited

Reimplemented from Prof::Struct::ANode.

Definition at line 773 of file Struct-Tree.hpp.

Here is the caller graph for this function:

◆ NextSibling()

NonUniformDegreeTreeNode* NonUniformDegreeTreeNode::NextSibling ( ) const
inlineinherited

Definition at line 189 of file NonUniformDegreeTree.hpp.

Here is the caller graph for this function:

◆ nextSibling()

ANode* Prof::Struct::ANode::nextSibling ( ) const
inlineinherited

Definition at line 383 of file Struct-Tree.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ nextSiblingNonOverlapping()

ACodeNode * Prof::Struct::ACodeNode::nextSiblingNonOverlapping ( ) const
inherited

Definition at line 1279 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ numMetrics()

uint Prof::Metric::IData::numMetrics ( ) const
inlineinherited

Definition at line 233 of file Metric-IData.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

File & Prof::Struct::File::operator= ( const File x)
protected

Definition at line 389 of file Struct-Tree.cpp.

◆ Parent()

NonUniformDegreeTreeNode* NonUniformDegreeTreeNode::Parent ( ) const
inlineinherited

Definition at line 185 of file NonUniformDegreeTree.hpp.

Here is the caller graph for this function:

◆ parent()

ANode* Prof::Struct::ANode::parent ( ) const
inlineinherited

Definition at line 371 of file Struct-Tree.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrevSibling()

NonUniformDegreeTreeNode* NonUniformDegreeTreeNode::PrevSibling ( ) const
inlineinherited

Definition at line 193 of file NonUniformDegreeTree.hpp.

Here is the caller graph for this function:

◆ prevSibling()

ANode* Prof::Struct::ANode::prevSibling ( ) const
inlineinherited

Definition at line 393 of file Struct-Tree.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pruneByMetrics()

void Prof::Struct::ANode::pruneByMetrics ( )
inherited

Definition at line 716 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ relocate()

void Prof::Struct::ACodeNode::relocate ( )
protectedinherited

Definition at line 1134 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ relocateIf()

void Prof::Struct::ACodeNode::relocateIf ( )
inlineprotectedinherited

Definition at line 821 of file Struct-Tree.hpp.

Here is the caller graph for this function:

◆ setInvisible()

void Prof::Struct::ANode::setInvisible ( )
inlineinherited

Definition at line 360 of file Struct-Tree.hpp.

◆ setLineRange()

void Prof::Struct::ACodeNode::setLineRange ( SrcFile::ln  begLn,
SrcFile::ln  endLn,
int  propagate = 1 
)
inherited

Definition at line 1074 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setScopeLocation()

void Prof::Struct::ACodeNode::setScopeLocation ( std::string &  file,
SrcFile::ln  line 
)
inlineinherited

Definition at line 847 of file Struct-Tree.hpp.

◆ thawLine()

void Prof::Struct::ACodeNode::thawLine ( )
inlineinherited

Definition at line 708 of file Struct-Tree.hpp.

◆ toString()

string Prof::Struct::ANode::toString ( uint  oFlags = 0,
const char *  pre = "" 
) const
virtualinherited

Reimplemented from NonUniformDegreeTreeNode.

Definition at line 1805 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ toString_id()

string Prof::Struct::ANode::toString_id ( uint  oFlags = 0) const
inherited

Definition at line 1814 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ toStringMe()

string Prof::Struct::ANode::toStringMe ( uint  oFlags = 0,
const char *  pre = "" 
) const
inherited

Definition at line 1823 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ toStringMetrics()

std::string Prof::Metric::IData::toStringMetrics ( int  oFlags = 0,
const char *  pfx = "" 
) const
inherited

Definition at line 96 of file Metric-IData.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ toStringXML()

string Prof::Struct::ANode::toStringXML ( uint  oFlags = 0,
const char *  pre = "" 
) const
inherited

Definition at line 1411 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ toXML()

string Prof::Struct::File::toXML ( uint  oFlags = 0) const
virtual

Reimplemented from Prof::Struct::ACodeNode.

Definition at line 1483 of file Struct-Tree.cpp.

Here is the call graph for this function:

◆ type()

ANodeTy Prof::Struct::ANode::type ( ) const
inlineinherited

Definition at line 334 of file Struct-Tree.hpp.

Here is the caller graph for this function:

◆ unlink()

void NonUniformDegreeTreeNode::unlink ( )
inherited

Definition at line 152 of file NonUniformDegreeTree.cpp.

Here is the caller graph for this function:

◆ vmaSet() [1/2]

const VMAIntervalSet& Prof::Struct::ACodeNode::vmaSet ( ) const
inlineinherited

Definition at line 717 of file Struct-Tree.hpp.

Here is the caller graph for this function:

◆ vmaSet() [2/2]

VMAIntervalSet& Prof::Struct::ACodeNode::vmaSet ( )
inlineinherited

Definition at line 721 of file Struct-Tree.hpp.

◆ writeMetricsXML()

std::ostream & Prof::Metric::IData::writeMetricsXML ( std::ostream &  os,
const Mgr metricMgr,
uint  mBegId = Metric::IData::npos,
uint  mEndId = Metric::IData::npos,
int  oFlags = 0,
const char *  pfx = "" 
) const
inherited

Definition at line 105 of file Metric-IData.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeXML()

virtual std::ostream& Prof::Struct::ANode::writeXML ( std::ostream &  os = std::cout,
uint  oFlags = 0,
const char *  pre = "" 
) const
virtualinherited

Reimplemented in Prof::Struct::LM, and Prof::Struct::Root.

Here is the caller graph for this function:

◆ writeXML_post()

void Prof::Struct::ANode::writeXML_post ( std::ostream &  os = std::cout,
uint  oFlags = 0,
const char *  prefix = "" 
) const
protectedinherited
Here is the caller graph for this function:

◆ writeXML_pre()

bool Prof::Struct::ANode::writeXML_pre ( std::ostream &  os = std::cout,
uint  oFlags = 0,
const char *  prefix = "" 
) const
protectedinherited
Here is the caller graph for this function:

◆ XMLLineRange()

string Prof::Struct::ACodeNode::XMLLineRange ( uint  oFlags) const
virtualinherited

Definition at line 1437 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ XMLVMAIntervals()

string Prof::Struct::ACodeNode::XMLVMAIntervals ( uint  oFlags) const
virtualinherited

Definition at line 1450 of file Struct-Tree.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ zeroLinks()

void NonUniformDegreeTreeNode::zeroLinks ( )
inlineprotectedinherited

Definition at line 207 of file NonUniformDegreeTree.hpp.

Here is the caller graph for this function:

◆ zeroMetrics()

void Prof::Metric::IData::zeroMetrics ( uint  mBegId,
uint  mEndId 
)
inlineinherited

Definition at line 201 of file Metric-IData.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Friends And Related Function Documentation

◆ Proc

friend class Proc
friend

Definition at line 1411 of file Struct-Tree.hpp.

Member Data Documentation

◆ Id_NULL

const uint Prof::Struct::ANode::Id_NULL = 0
staticinherited

Definition at line 342 of file Struct-Tree.hpp.

◆ m_begLn

SrcFile::ln Prof::Struct::ACodeNode::m_begLn
protectedinherited

Definition at line 832 of file Struct-Tree.hpp.

◆ m_child_count

uint NonUniformDegreeTreeNode::m_child_count
protectedinherited

Definition at line 225 of file NonUniformDegreeTree.hpp.

◆ m_children

NonUniformDegreeTreeNode* NonUniformDegreeTreeNode::m_children
protectedinherited

Definition at line 222 of file NonUniformDegreeTree.hpp.

◆ m_endLn

SrcFile::ln Prof::Struct::ACodeNode::m_endLn
protectedinherited

Definition at line 833 of file Struct-Tree.hpp.

◆ m_id

uint Prof::Struct::ANode::m_id
protectedinherited

Definition at line 600 of file Struct-Tree.hpp.

◆ m_name

std::string Prof::Struct::File::m_name
private

Definition at line 1414 of file Struct-Tree.hpp.

◆ m_next_sibling

NonUniformDegreeTreeNode* NonUniformDegreeTreeNode::m_next_sibling
protectedinherited

Definition at line 223 of file NonUniformDegreeTree.hpp.

◆ m_origId

uint Prof::Struct::ANode::m_origId
inherited

Definition at line 605 of file Struct-Tree.hpp.

◆ m_parent

NonUniformDegreeTreeNode* NonUniformDegreeTreeNode::m_parent
protectedinherited

Definition at line 221 of file NonUniformDegreeTree.hpp.

◆ m_prev_sibling

NonUniformDegreeTreeNode* NonUniformDegreeTreeNode::m_prev_sibling
protectedinherited

Definition at line 224 of file NonUniformDegreeTree.hpp.

◆ m_procMap

ProcMap* Prof::Struct::File::m_procMap
private

Definition at line 1415 of file Struct-Tree.hpp.

◆ m_type

ANodeTy Prof::Struct::ANode::m_type
protectedinherited

Definition at line 599 of file Struct-Tree.hpp.

◆ m_visible

bool Prof::Struct::ANode::m_visible
protectedinherited

Definition at line 601 of file Struct-Tree.hpp.

◆ m_vmaSet

VMAIntervalSet Prof::Struct::ACodeNode::m_vmaSet
protectedinherited

Definition at line 834 of file Struct-Tree.hpp.

◆ npos

const uint Prof::Metric::IData::npos = UINT_MAX
staticinherited

Definition at line 138 of file Metric-IData.hpp.


The documentation for this class was generated from the following files: