HPCToolkit
PathFindMgr Class Reference

#include <PathFindMgr.hpp>

Collaboration diagram for PathFindMgr:

Public Member Functions

 PathFindMgr ()
 
 ~PathFindMgr ()
 
const char * pathfind (const char *pathList, const char *name, const char *mode)
 
std::string toString (uint flags=0) const
 
std::ostream & dump (std::ostream &os, uint flags=0, const char *pfx="") const
 
void ddump (uint flags=0) const
 

Static Public Member Functions

static PathFindMgrsingleton ()
 
static int isRecursivePath (const char *path)
 

Static Public Attributes

static const int RecursivePathSfxLn = 2
 

Private Types

typedef std::map< std::string, std::vector< std::string > > PathMap
 

Private Member Functions

bool find (std::string &filePath)
 
void insert (const std::string &path)
 
std::string scan (std::string &path, std::set< std::string > &seenPaths, std::vector< std::string > *recursionStack=NULL)
 
const char * pathfind_slow (const char *pathList, const char *name, const char *mode, std::set< std::string > &seenPaths)
 
int resolve (std::string &path)
 

Private Attributes

PathMap m_cache
 
bool m_isPopulated
 
bool m_isFull
 
uint64_t m_size
 
std::string m_pathfind_ans
 

Static Private Attributes

static const uint64_t s_sizeMax = 20 * 1024 * 1024
 

Detailed Description

Definition at line 83 of file PathFindMgr.hpp.

Member Typedef Documentation

◆ PathMap

typedef std::map<std::string, std::vector<std::string> > PathFindMgr::PathMap
private

Definition at line 275 of file PathFindMgr.hpp.

Constructor & Destructor Documentation

◆ PathFindMgr()

PathFindMgr::PathFindMgr ( )

Definition at line 107 of file PathFindMgr.cpp.

◆ ~PathFindMgr()

PathFindMgr::~PathFindMgr ( )

Definition at line 115 of file PathFindMgr.cpp.

Member Function Documentation

◆ ddump()

void PathFindMgr::ddump ( uint  flags = 0) const

Definition at line 664 of file PathFindMgr.cpp.

Here is the call graph for this function:

◆ dump()

std::ostream & PathFindMgr::dump ( std::ostream &  os,
uint  flags = 0,
const char *  pfx = "" 
) const

Definition at line 635 of file PathFindMgr.cpp.

Here is the caller graph for this function:

◆ find()

bool PathFindMgr::find ( std::string &  filePath)
private

Definition at line 275 of file PathFindMgr.cpp.

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

◆ insert()

void PathFindMgr::insert ( const std::string &  path)
private

Definition at line 368 of file PathFindMgr.cpp.

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

◆ isRecursivePath()

int PathFindMgr::isRecursivePath ( const char *  path)
static

Definition at line 611 of file PathFindMgr.cpp.

Here is the caller graph for this function:

◆ pathfind()

const char * PathFindMgr::pathfind ( const char *  pathList,
const char *  name,
const char *  mode 
)

Definition at line 128 of file PathFindMgr.cpp.

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

◆ pathfind_slow()

const char * PathFindMgr::pathfind_slow ( const char *  pathList,
const char *  name,
const char *  mode,
std::set< std::string > &  seenPaths 
)
private

Definition at line 187 of file PathFindMgr.cpp.

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

◆ resolve()

int PathFindMgr::resolve ( std::string &  path)
private

Definition at line 559 of file PathFindMgr.cpp.

Here is the caller graph for this function:

◆ scan()

std::string PathFindMgr::scan ( std::string &  path,
std::set< std::string > &  seenPaths,
std::vector< std::string > *  recursionStack = NULL 
)
private

Definition at line 414 of file PathFindMgr.cpp.

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

◆ singleton()

PathFindMgr & PathFindMgr::singleton ( )
static

Definition at line 121 of file PathFindMgr.cpp.

Here is the caller graph for this function:

◆ toString()

string PathFindMgr::toString ( uint  flags = 0) const

Definition at line 626 of file PathFindMgr.cpp.

Here is the call graph for this function:

Member Data Documentation

◆ m_cache

PathMap PathFindMgr::m_cache
private

Definition at line 277 of file PathFindMgr.hpp.

◆ m_isFull

bool PathFindMgr::m_isFull
private

Definition at line 279 of file PathFindMgr.hpp.

◆ m_isPopulated

bool PathFindMgr::m_isPopulated
private

Definition at line 278 of file PathFindMgr.hpp.

◆ m_pathfind_ans

std::string PathFindMgr::m_pathfind_ans
private

Definition at line 284 of file PathFindMgr.hpp.

◆ m_size

uint64_t PathFindMgr::m_size
private

Definition at line 282 of file PathFindMgr.hpp.

◆ RecursivePathSfxLn

const int PathFindMgr::RecursivePathSfxLn = 2
static

Definition at line 86 of file PathFindMgr.hpp.

◆ s_sizeMax

const uint64_t PathFindMgr::s_sizeMax = 20 * 1024 * 1024
staticprivate

Definition at line 281 of file PathFindMgr.hpp.


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