| 
    CppParser
    
   | 
 
Represents an entire C++ program. More...
#include <cppprog.h>

Public Member Functions | |
| CppProgram (const std::string &folder, CppParser parser=CppParser(), const CppProgFileSelecter &fileSelector=selectHeadersOnly) | |
| CppProgram (const std::vector< std::string > &files, CppParser parser=CppParser()) | |
| const CppTypeTreeNode * | nameLookup (const std::string &name, const CppTypeTreeNode *beginFrom=nullptr) const | 
| Finds the CppTypeTreeNode object corresponding to a given name.  More... | |
| const CppTypeTreeNode * | searchTypeNode (const std::string &name, const CppTypeTreeNode *parentNode=nullptr) const | 
| Searches down (in breadth first manner) the CppTypeTreeNode object corresponding to a given name.  More... | |
| const CppTypeTreeNode * | typeTreeNodeFromCppObj (CppObj *cppObj) const | 
| CppCompoundArray & | getFileAsts () | 
| void | addCppAst (CppCompoundPtr cppAst) | 
| Adds a new file AST to this program.  More... | |
| void | addCompound (CppCompound *compound, CppCompound *parent) | 
| void | addCompound (CppCompound *compound, CppTypeTreeNode *parentTypeNode) | 
Private Types | |
| using | CppObjToTypeNodeMap = std::map< CppObj *, CppTypeTreeNode * > | 
Private Member Functions | |
| void | loadType (CppCompound *cppCompound, CppTypeTreeNode *typeNode) | 
Private Attributes | |
| CppCompoundArray | fileAsts_ | 
| Array of all top level ASTs corresponding to files.  More... | |
| CppTypeTreeNode | cppTypeTreeRoot_ | 
| Repository of all compound objects arranged as type-tree.  More... | |
| CppObjToTypeNodeMap | cppObjToTypeNode_ | 
      
  | 
  private | 
| CppProgram::CppProgram | ( | const std::string & | folder, | 
| CppParser | parser = CppParser(),  | 
        ||
| const CppProgFileSelecter & | fileSelector = selectHeadersOnly  | 
        ||
| ) | 
Definition at line 50 of file cppprog.cpp.
| void CppProgram::addCompound | ( | CppCompound * | compound, | 
| CppCompound * | parent | ||
| ) | 
Definition at line 74 of file cppprog.cpp.


| void CppProgram::addCompound | ( | CppCompound * | compound, | 
| CppTypeTreeNode * | parentTypeNode | ||
| ) | 
| void CppProgram::addCppAst | ( | CppCompoundPtr | cppAst | ) | 
Adds a new file AST to this program.
Definition at line 55 of file cppprog.cpp.


      
  | 
  inline | 
      
  | 
  private | 
Definition at line 81 of file cppprog.cpp.


| const CppTypeTreeNode * CppProgram::nameLookup | ( | const std::string & | name, | 
| const CppTypeTreeNode * | beginFrom = nullptr  | 
        ||
| ) | const | 
Finds the CppTypeTreeNode object corresponding to a given name.
| name | Name of type for which CppTypeTreeNode needs to be found. | 
| beginFrom | CppTypeTreeNode object from where the find should begin. It can be nullptr, in that case the global space is looked for the name. | 
Definition at line 141 of file cppprog.cpp.


| const CppTypeTreeNode * CppProgram::searchTypeNode | ( | const std::string & | name, | 
| const CppTypeTreeNode * | parentNode = nullptr  | 
        ||
| ) | const | 
Searches down (in breadth first manner) the CppTypeTreeNode object corresponding to a given name.
| name | Name of type for which CppTypeTreeNode needs to be found. | 
| parentNode | CppTypeTreeNode object from where the search should begin. It can be nullptr, in that case search starts from the top. | 
Definition at line 181 of file cppprog.cpp.

      
  | 
  inline | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private |