Skip to main content

Parse C++ header files and generate a data structure representing the class

Project description

Python package "CppHeaderParser"
--------------------------------
**Purpose:** Parse C++ header files and generate a data structure representing the class

**Author:** Jashua Cloutier

**Licence:** BSD

**External modules required:** PLY

**Quick start**::

#include <vector>
#include <string>

#define DEF_1 1
#define OS_NAME "Linux"

using namespace std;
class SampleClass
{
public:
SampleClass();
/*!
* Method 1
*/
string meth1();

///
/// Method 2 description
///
/// @param v1 Variable 1
///
int meth2(int v1);

/**
* Method 3 description
*
* \param v1 Variable 1
* \param v2 Variable 2
*/
void meth3(const string & v1, vector<string> & v2);

/**********************************
* Method 4 description
*
* @return Return value
*********************************/
unsigned int meth4();
private:
void * meth5(){return NULL};

/// prop1 description
string prop1;
//! prop5 description
int prop5;
};
namespace Alpha
{
class AlphaClass
{
public:
AlphaClass();

void alphaMethod();

string alphaString;
};

namespace Omega
{
class OmegaClass
{
public:
OmegaClass();

string omegaString;
};
};
}

int sampleFreeFunction(int i)
{
return i + 1;
}

int anotherFreeFunction(void);
}


**Python code**::

#!/usr/bin/python
import sys
sys.path = ["../"] + sys.path
import CppHeaderParser
try:
cppHeader = CppHeaderParser.CppHeader("SampleClass.h")
except CppHeaderParser.CppParseError as e:
print(e)
sys.exit(1)

print("CppHeaderParser view of %s"%cppHeader)

sampleClass = cppHeader.classes["SampleClass"]
print("Number of public methods %d"%(len(sampleClass["methods"]["public"])))
print("Number of private properties %d"%(len(sampleClass["properties"]["private"])))
meth3 = [m for m in sampleClass["methods"]["public"] if m["name"] == "meth3"][0] #get meth3
meth3ParamTypes = [t["type"] for t in meth3["parameters"]] #get meth3s parameters
print("Parameter Types for public method meth3 %s"%(meth3ParamTypes))

print("\nReturn type for meth1:")
print(cppHeader.classes["SampleClass"]["methods"]["public"][1]["rtnType"])

print("\nDoxygen for meth2:")
print(cppHeader.classes["SampleClass"]["methods"]["public"][2]["doxygen"])

print("\nParameters for meth3:")
print(cppHeader.classes["SampleClass"]["methods"]["public"][3]["parameters"])

print("\nDoxygen for meth4:")
print(cppHeader.classes["SampleClass"]["methods"]["public"][4]["doxygen"])

print("\nReturn type for meth5:")
print(cppHeader.classes["SampleClass"]["methods"]["private"][0]["rtnType"])

print("\nDoxygen type for prop1:")
print(cppHeader.classes["SampleClass"]["properties"]["private"][0]["doxygen"])

print("\nType for prop5:")
print(cppHeader.classes["SampleClass"]["properties"]["private"][1]["type"])

print("\nNamespace for AlphaClass is:")
print(cppHeader.classes["AlphaClass"]["namespace"])

print("\nReturn type for alphaMethod is:")
print(cppHeader.classes["AlphaClass"]["methods"]["public"][0]["rtnType"])

print("\nNamespace for OmegaClass is:")
print(cppHeader.classes["OmegaClass"]["namespace"])

print("\nType for omegaString is:")
print(cppHeader.classes["AlphaClass"]["properties"]["public"][0]["type"])

print("\nFree functions are:")
for func in cppHeader.functions:
print(" %s"%func["name"])

print("\n#includes are:")
for incl in cppHeader.includes:
print(" %s"%incl)

print("\n#defines are:")
for define in cppHeader.defines:
print(" %s"%define)


**Output**::

CppHeaderParser view of class SampleClass
{
public
// Methods
{'line_number': 11, 'parent': {'inherits': [], 'line_number': 8, 'forward_declares': {'protected': [], 'public': [], 'private': []}, 'name': 'SampleClass', 'parent': None, 'abstract': False, 'namespace': '', 'declaration_method': 'class', 'structs': {'protected': [], 'public': [], 'private': []}, 'typedefs': {'protected': [], 'public': [], 'private': []}, 'enums': {'protected': [], 'public': [], 'private': []}, 'properties': {'protected': [], 'public': [], 'private': [{'raw_type': 'string', 'line_number': 42, 'typedef': None, 'doxygen': '/// prop1 description', 'constant': 0, 'name': 'prop1', 'parent': None, 'pointer': 0, 'namespace': '', 'function_pointer': 0, 'property_of_class': 'SampleClass', 'unresolved': True, 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'type': 'string', 'class': 0, 'reference': 0, 'aliases': ['string']}, {'line_number': 44, 'constant': 0, 'reference': 0, 'raw_type': 'int', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': [], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'mutable': False, 'type': 'int', 'property_of_class': 'SampleClass', 'parent': None, 'ctypes_type': 'ctypes.c_int', 'unresolved': False, 'typedefs': 0, 'class': 0, 'doxygen': '//! prop5 description', 'name': 'prop5', 'fundamental': True}]}, 'nested_classes': [], 'methods': {'protected': [], 'public': [{...}, {'line_number': 15, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': False, 'rtnType': 'string', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'returns_unknown': True, 'doxygen': '/*!\n* Method 1\n*/', 'const': False, 'name': 'meth1', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'string', 'template': False, 'constructor': False, 'debug': 'string meth1 ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 22, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'int', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [{'line_number': 22, 'constant': 0, 'reference': 0, 'raw_type': 'int', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': [], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'mutable': False, 'type': 'int', 'method': {...}, 'parent': None, 'ctypes_type': 'ctypes.c_int', 'typedefs': 0, 'class': 0, 'desc': 'Variable 1', 'unresolved': False, 'name': 'v1', 'fundamental': True}], 'class': None, 'returns_reference': False, 'doxygen': '///\n/// Method 2 description\n///\n/// @param v1 Variable 1\n///', 'const': False, 'name': 'meth2', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'int', 'template': False, 'constructor': False, 'debug': 'int meth2 ( int v1 ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 30, 'unresolved_parameters': True, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [{'raw_type': 'string', 'line_number': 30, 'typedef': None, 'unresolved': True, 'constant': 1, 'name': 'v1', 'parent': None, 'pointer': 0, 'namespace': '', 'function_pointer': 0, 'method': {...}, 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'aliases': ['string'], 'type': 'const string &', 'class': 0, 'reference': 1, 'desc': 'Variable 1'}, {'line_number': 30, 'constant': 0, 'reference': 1, 'raw_type': 'vector<string>', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': ['vector<string>'], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'template': 'vector<string>', 'mutable': False, 'type': 'vector<string> &', 'method': {...}, 'parent': None, 'ctypes_type': 'ctypes.c_void_p', 'typedefs': 0, 'class': 0, 'desc': 'Variable 2', 'unresolved': True, 'name': 'v2', 'fundamental': 0}], 'class': None, 'returns_reference': False, 'doxygen': '/**\n* Method 3 description\n*\n* \\param v1 Variable 1\n* \\param v2 Variable 2\n*/', 'const': False, 'name': 'meth3', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'void', 'template': False, 'constructor': False, 'debug': 'void meth3 ( const string & v1 , vector <string> & v2 ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 37, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'unsigned int', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'doxygen': '/**********************************\n* Method 4 description\n*\n* @return Return value\n*********************************/', 'const': False, 'name': 'meth4', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'unsigned int', 'template': False, 'constructor': False, 'debug': 'unsigned int meth4 ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}], 'private': [{'line_number': 39, 'parent': {...}, 'defined': True, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void *', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 1, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'meth5', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'void', 'template': False, 'constructor': False, 'debug': 'void * meth5 ( ) {', 'inline': False, 'friend': False, 'returns_class': False}]}}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'SampleClass', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': '', 'template': False, 'constructor': True, 'debug': 'SampleClass ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}
{'line_number': 15, 'parent': {'inherits': [], 'line_number': 8, 'forward_declares': {'protected': [], 'public': [], 'private': []}, 'name': 'SampleClass', 'parent': None, 'abstract': False, 'namespace': '', 'declaration_method': 'class', 'structs': {'protected': [], 'public': [], 'private': []}, 'typedefs': {'protected': [], 'public': [], 'private': []}, 'enums': {'protected': [], 'public': [], 'private': []}, 'properties': {'protected': [], 'public': [], 'private': [{'raw_type': 'string', 'line_number': 42, 'typedef': None, 'doxygen': '/// prop1 description', 'constant': 0, 'name': 'prop1', 'parent': None, 'pointer': 0, 'namespace': '', 'function_pointer': 0, 'property_of_class': 'SampleClass', 'unresolved': True, 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'type': 'string', 'class': 0, 'reference': 0, 'aliases': ['string']}, {'line_number': 44, 'constant': 0, 'reference': 0, 'raw_type': 'int', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': [], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'mutable': False, 'type': 'int', 'property_of_class': 'SampleClass', 'parent': None, 'ctypes_type': 'ctypes.c_int', 'unresolved': False, 'typedefs': 0, 'class': 0, 'doxygen': '//! prop5 description', 'name': 'prop5', 'fundamental': True}]}, 'nested_classes': [], 'methods': {'protected': [], 'public': [{'line_number': 11, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'SampleClass', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': '', 'template': False, 'constructor': True, 'debug': 'SampleClass ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {...}, {'line_number': 22, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'int', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [{'line_number': 22, 'constant': 0, 'reference': 0, 'raw_type': 'int', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': [], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'mutable': False, 'type': 'int', 'method': {...}, 'parent': None, 'ctypes_type': 'ctypes.c_int', 'typedefs': 0, 'class': 0, 'desc': 'Variable 1', 'unresolved': False, 'name': 'v1', 'fundamental': True}], 'class': None, 'returns_reference': False, 'doxygen': '///\n/// Method 2 description\n///\n/// @param v1 Variable 1\n///', 'const': False, 'name': 'meth2', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'int', 'template': False, 'constructor': False, 'debug': 'int meth2 ( int v1 ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 30, 'unresolved_parameters': True, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [{'raw_type': 'string', 'line_number': 30, 'typedef': None, 'unresolved': True, 'constant': 1, 'name': 'v1', 'parent': None, 'pointer': 0, 'namespace': '', 'function_pointer': 0, 'method': {...}, 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'aliases': ['string'], 'type': 'const string &', 'class': 0, 'reference': 1, 'desc': 'Variable 1'}, {'line_number': 30, 'constant': 0, 'reference': 1, 'raw_type': 'vector<string>', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': ['vector<string>'], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'template': 'vector<string>', 'mutable': False, 'type': 'vector<string> &', 'method': {...}, 'parent': None, 'ctypes_type': 'ctypes.c_void_p', 'typedefs': 0, 'class': 0, 'desc': 'Variable 2', 'unresolved': True, 'name': 'v2', 'fundamental': 0}], 'class': None, 'returns_reference': False, 'doxygen': '/**\n* Method 3 description\n*\n* \\param v1 Variable 1\n* \\param v2 Variable 2\n*/', 'const': False, 'name': 'meth3', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'void', 'template': False, 'constructor': False, 'debug': 'void meth3 ( const string & v1 , vector <string> & v2 ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 37, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'unsigned int', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'doxygen': '/**********************************\n* Method 4 description\n*\n* @return Return value\n*********************************/', 'const': False, 'name': 'meth4', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'unsigned int', 'template': False, 'constructor': False, 'debug': 'unsigned int meth4 ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}], 'private': [{'line_number': 39, 'parent': {...}, 'defined': True, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void *', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 1, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'meth5', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'void', 'template': False, 'constructor': False, 'debug': 'void * meth5 ( ) {', 'inline': False, 'friend': False, 'returns_class': False}]}}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': False, 'rtnType': 'string', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'returns_unknown': True, 'doxygen': '/*!\n* Method 1\n*/', 'const': False, 'name': 'meth1', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'string', 'template': False, 'constructor': False, 'debug': 'string meth1 ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}
{'line_number': 22, 'parent': {'inherits': [], 'line_number': 8, 'forward_declares': {'protected': [], 'public': [], 'private': []}, 'name': 'SampleClass', 'parent': None, 'abstract': False, 'namespace': '', 'declaration_method': 'class', 'structs': {'protected': [], 'public': [], 'private': []}, 'typedefs': {'protected': [], 'public': [], 'private': []}, 'enums': {'protected': [], 'public': [], 'private': []}, 'properties': {'protected': [], 'public': [], 'private': [{'raw_type': 'string', 'line_number': 42, 'typedef': None, 'doxygen': '/// prop1 description', 'constant': 0, 'name': 'prop1', 'parent': None, 'pointer': 0, 'namespace': '', 'function_pointer': 0, 'property_of_class': 'SampleClass', 'unresolved': True, 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'type': 'string', 'class': 0, 'reference': 0, 'aliases': ['string']}, {'line_number': 44, 'constant': 0, 'reference': 0, 'raw_type': 'int', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': [], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'mutable': False, 'type': 'int', 'property_of_class': 'SampleClass', 'parent': None, 'ctypes_type': 'ctypes.c_int', 'unresolved': False, 'typedefs': 0, 'class': 0, 'doxygen': '//! prop5 description', 'name': 'prop5', 'fundamental': True}]}, 'nested_classes': [], 'methods': {'protected': [], 'public': [{'line_number': 11, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'SampleClass', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': '', 'template': False, 'constructor': True, 'debug': 'SampleClass ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 15, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': False, 'rtnType': 'string', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'returns_unknown': True, 'doxygen': '/*!\n* Method 1\n*/', 'const': False, 'name': 'meth1', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'string', 'template': False, 'constructor': False, 'debug': 'string meth1 ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {...}, {'line_number': 30, 'unresolved_parameters': True, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [{'raw_type': 'string', 'line_number': 30, 'typedef': None, 'unresolved': True, 'constant': 1, 'name': 'v1', 'parent': None, 'pointer': 0, 'namespace': '', 'function_pointer': 0, 'method': {...}, 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'aliases': ['string'], 'type': 'const string &', 'class': 0, 'reference': 1, 'desc': 'Variable 1'}, {'line_number': 30, 'constant': 0, 'reference': 1, 'raw_type': 'vector<string>', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': ['vector<string>'], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'template': 'vector<string>', 'mutable': False, 'type': 'vector<string> &', 'method': {...}, 'parent': None, 'ctypes_type': 'ctypes.c_void_p', 'typedefs': 0, 'class': 0, 'desc': 'Variable 2', 'unresolved': True, 'name': 'v2', 'fundamental': 0}], 'class': None, 'returns_reference': False, 'doxygen': '/**\n* Method 3 description\n*\n* \\param v1 Variable 1\n* \\param v2 Variable 2\n*/', 'const': False, 'name': 'meth3', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'void', 'template': False, 'constructor': False, 'debug': 'void meth3 ( const string & v1 , vector <string> & v2 ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 37, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'unsigned int', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'doxygen': '/**********************************\n* Method 4 description\n*\n* @return Return value\n*********************************/', 'const': False, 'name': 'meth4', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'unsigned int', 'template': False, 'constructor': False, 'debug': 'unsigned int meth4 ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}], 'private': [{'line_number': 39, 'parent': {...}, 'defined': True, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void *', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 1, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'meth5', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'void', 'template': False, 'constructor': False, 'debug': 'void * meth5 ( ) {', 'inline': False, 'friend': False, 'returns_class': False}]}}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'int', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [{'line_number': 22, 'constant': 0, 'reference': 0, 'raw_type': 'int', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': [], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'mutable': False, 'type': 'int', 'method': {...}, 'parent': None, 'ctypes_type': 'ctypes.c_int', 'typedefs': 0, 'class': 0, 'desc': 'Variable 1', 'unresolved': False, 'name': 'v1', 'fundamental': True}], 'class': None, 'returns_reference': False, 'doxygen': '///\n/// Method 2 description\n///\n/// @param v1 Variable 1\n///', 'const': False, 'name': 'meth2', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'int', 'template': False, 'constructor': False, 'debug': 'int meth2 ( int v1 ) ;', 'inline': False, 'friend': False, 'returns_class': False}
{'line_number': 30, 'unresolved_parameters': True, 'parent': {'inherits': [], 'line_number': 8, 'forward_declares': {'protected': [], 'public': [], 'private': []}, 'name': 'SampleClass', 'parent': None, 'abstract': False, 'namespace': '', 'declaration_method': 'class', 'structs': {'protected': [], 'public': [], 'private': []}, 'typedefs': {'protected': [], 'public': [], 'private': []}, 'enums': {'protected': [], 'public': [], 'private': []}, 'properties': {'protected': [], 'public': [], 'private': [{'raw_type': 'string', 'line_number': 42, 'typedef': None, 'doxygen': '/// prop1 description', 'constant': 0, 'name': 'prop1', 'parent': None, 'pointer': 0, 'namespace': '', 'function_pointer': 0, 'property_of_class': 'SampleClass', 'unresolved': True, 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'type': 'string', 'class': 0, 'reference': 0, 'aliases': ['string']}, {'line_number': 44, 'constant': 0, 'reference': 0, 'raw_type': 'int', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': [], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'mutable': False, 'type': 'int', 'property_of_class': 'SampleClass', 'parent': None, 'ctypes_type': 'ctypes.c_int', 'unresolved': False, 'typedefs': 0, 'class': 0, 'doxygen': '//! prop5 description', 'name': 'prop5', 'fundamental': True}]}, 'nested_classes': [], 'methods': {'protected': [], 'public': [{'line_number': 11, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'SampleClass', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': '', 'template': False, 'constructor': True, 'debug': 'SampleClass ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 15, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': False, 'rtnType': 'string', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'returns_unknown': True, 'doxygen': '/*!\n* Method 1\n*/', 'const': False, 'name': 'meth1', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'string', 'template': False, 'constructor': False, 'debug': 'string meth1 ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 22, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'int', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [{'line_number': 22, 'constant': 0, 'reference': 0, 'raw_type': 'int', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': [], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'mutable': False, 'type': 'int', 'method': {...}, 'parent': None, 'ctypes_type': 'ctypes.c_int', 'typedefs': 0, 'class': 0, 'desc': 'Variable 1', 'unresolved': False, 'name': 'v1', 'fundamental': True}], 'class': None, 'returns_reference': False, 'doxygen': '///\n/// Method 2 description\n///\n/// @param v1 Variable 1\n///', 'const': False, 'name': 'meth2', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'int', 'template': False, 'constructor': False, 'debug': 'int meth2 ( int v1 ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {...}, {'line_number': 37, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'unsigned int', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'doxygen': '/**********************************\n* Method 4 description\n*\n* @return Return value\n*********************************/', 'const': False, 'name': 'meth4', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'unsigned int', 'template': False, 'constructor': False, 'debug': 'unsigned int meth4 ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}], 'private': [{'line_number': 39, 'parent': {...}, 'defined': True, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void *', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 1, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'meth5', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'void', 'template': False, 'constructor': False, 'debug': 'void * meth5 ( ) {', 'inline': False, 'friend': False, 'returns_class': False}]}}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [{'raw_type': 'string', 'line_number': 30, 'typedef': None, 'unresolved': True, 'constant': 1, 'name': 'v1', 'parent': None, 'pointer': 0, 'namespace': '', 'function_pointer': 0, 'method': {...}, 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'aliases': ['string'], 'type': 'const string &', 'class': 0, 'reference': 1, 'desc': 'Variable 1'}, {'line_number': 30, 'constant': 0, 'reference': 1, 'raw_type': 'vector<string>', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': ['vector<string>'], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'template': 'vector<string>', 'mutable': False, 'type': 'vector<string> &', 'method': {...}, 'parent': None, 'ctypes_type': 'ctypes.c_void_p', 'typedefs': 0, 'class': 0, 'desc': 'Variable 2', 'unresolved': True, 'name': 'v2', 'fundamental': 0}], 'class': None, 'returns_reference': False, 'doxygen': '/**\n* Method 3 description\n*\n* \\param v1 Variable 1\n* \\param v2 Variable 2\n*/', 'const': False, 'name': 'meth3', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'void', 'template': False, 'constructor': False, 'debug': 'void meth3 ( const string & v1 , vector <string> & v2 ) ;', 'inline': False, 'friend': False, 'returns_class': False}
{'line_number': 37, 'parent': {'inherits': [], 'line_number': 8, 'forward_declares': {'protected': [], 'public': [], 'private': []}, 'name': 'SampleClass', 'parent': None, 'abstract': False, 'namespace': '', 'declaration_method': 'class', 'structs': {'protected': [], 'public': [], 'private': []}, 'typedefs': {'protected': [], 'public': [], 'private': []}, 'enums': {'protected': [], 'public': [], 'private': []}, 'properties': {'protected': [], 'public': [], 'private': [{'raw_type': 'string', 'line_number': 42, 'typedef': None, 'doxygen': '/// prop1 description', 'constant': 0, 'name': 'prop1', 'parent': None, 'pointer': 0, 'namespace': '', 'function_pointer': 0, 'property_of_class': 'SampleClass', 'unresolved': True, 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'type': 'string', 'class': 0, 'reference': 0, 'aliases': ['string']}, {'line_number': 44, 'constant': 0, 'reference': 0, 'raw_type': 'int', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': [], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'mutable': False, 'type': 'int', 'property_of_class': 'SampleClass', 'parent': None, 'ctypes_type': 'ctypes.c_int', 'unresolved': False, 'typedefs': 0, 'class': 0, 'doxygen': '//! prop5 description', 'name': 'prop5', 'fundamental': True}]}, 'nested_classes': [], 'methods': {'protected': [], 'public': [{'line_number': 11, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'SampleClass', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': '', 'template': False, 'constructor': True, 'debug': 'SampleClass ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 15, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': False, 'rtnType': 'string', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'returns_unknown': True, 'doxygen': '/*!\n* Method 1\n*/', 'const': False, 'name': 'meth1', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'string', 'template': False, 'constructor': False, 'debug': 'string meth1 ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 22, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'int', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [{'line_number': 22, 'constant': 0, 'reference': 0, 'raw_type': 'int', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': [], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'mutable': False, 'type': 'int', 'method': {...}, 'parent': None, 'ctypes_type': 'ctypes.c_int', 'typedefs': 0, 'class': 0, 'desc': 'Variable 1', 'unresolved': False, 'name': 'v1', 'fundamental': True}], 'class': None, 'returns_reference': False, 'doxygen': '///\n/// Method 2 description\n///\n/// @param v1 Variable 1\n///', 'const': False, 'name': 'meth2', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'int', 'template': False, 'constructor': False, 'debug': 'int meth2 ( int v1 ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 30, 'unresolved_parameters': True, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [{'raw_type': 'string', 'line_number': 30, 'typedef': None, 'unresolved': True, 'constant': 1, 'name': 'v1', 'parent': None, 'pointer': 0, 'namespace': '', 'function_pointer': 0, 'method': {...}, 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'aliases': ['string'], 'type': 'const string &', 'class': 0, 'reference': 1, 'desc': 'Variable 1'}, {'line_number': 30, 'constant': 0, 'reference': 1, 'raw_type': 'vector<string>', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': ['vector<string>'], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'template': 'vector<string>', 'mutable': False, 'type': 'vector<string> &', 'method': {...}, 'parent': None, 'ctypes_type': 'ctypes.c_void_p', 'typedefs': 0, 'class': 0, 'desc': 'Variable 2', 'unresolved': True, 'name': 'v2', 'fundamental': 0}], 'class': None, 'returns_reference': False, 'doxygen': '/**\n* Method 3 description\n*\n* \\param v1 Variable 1\n* \\param v2 Variable 2\n*/', 'const': False, 'name': 'meth3', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'void', 'template': False, 'constructor': False, 'debug': 'void meth3 ( const string & v1 , vector <string> & v2 ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {...}], 'private': [{'line_number': 39, 'parent': {...}, 'defined': True, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void *', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 1, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'meth5', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'void', 'template': False, 'constructor': False, 'debug': 'void * meth5 ( ) {', 'inline': False, 'friend': False, 'returns_class': False}]}}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'unsigned int', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'doxygen': '/**********************************\n* Method 4 description\n*\n* @return Return value\n*********************************/', 'const': False, 'name': 'meth4', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'unsigned int', 'template': False, 'constructor': False, 'debug': 'unsigned int meth4 ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}
protected
private
// Properties
{'raw_type': 'string', 'line_number': 42, 'typedef': None, 'doxygen': '/// prop1 description', 'constant': 0, 'name': 'prop1', 'parent': None, 'pointer': 0, 'namespace': '', 'function_pointer': 0, 'property_of_class': 'SampleClass', 'unresolved': True, 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'type': 'string', 'class': 0, 'reference': 0, 'aliases': ['string']}
{'line_number': 44, 'constant': 0, 'reference': 0, 'raw_type': 'int', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': [], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'mutable': False, 'type': 'int', 'property_of_class': 'SampleClass', 'parent': None, 'ctypes_type': 'ctypes.c_int', 'unresolved': False, 'typedefs': 0, 'class': 0, 'doxygen': '//! prop5 description', 'name': 'prop5', 'fundamental': True}
// Methods
{'line_number': 39, 'parent': {'inherits': [], 'line_number': 8, 'forward_declares': {'protected': [], 'public': [], 'private': []}, 'name': 'SampleClass', 'parent': None, 'abstract': False, 'namespace': '', 'declaration_method': 'class', 'structs': {'protected': [], 'public': [], 'private': []}, 'typedefs': {'protected': [], 'public': [], 'private': []}, 'enums': {'protected': [], 'public': [], 'private': []}, 'properties': {'protected': [], 'public': [], 'private': [{'raw_type': 'string', 'line_number': 42, 'typedef': None, 'doxygen': '/// prop1 description', 'constant': 0, 'name': 'prop1', 'parent': None, 'pointer': 0, 'namespace': '', 'function_pointer': 0, 'property_of_class': 'SampleClass', 'unresolved': True, 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'type': 'string', 'class': 0, 'reference': 0, 'aliases': ['string']}, {'line_number': 44, 'constant': 0, 'reference': 0, 'raw_type': 'int', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': [], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'mutable': False, 'type': 'int', 'property_of_class': 'SampleClass', 'parent': None, 'ctypes_type': 'ctypes.c_int', 'unresolved': False, 'typedefs': 0, 'class': 0, 'doxygen': '//! prop5 description', 'name': 'prop5', 'fundamental': True}]}, 'nested_classes': [], 'methods': {'protected': [], 'public': [{'line_number': 11, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'SampleClass', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': '', 'template': False, 'constructor': True, 'debug': 'SampleClass ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 15, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': False, 'rtnType': 'string', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'returns_unknown': True, 'doxygen': '/*!\n* Method 1\n*/', 'const': False, 'name': 'meth1', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'string', 'template': False, 'constructor': False, 'debug': 'string meth1 ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 22, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'int', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [{'line_number': 22, 'constant': 0, 'reference': 0, 'raw_type': 'int', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': [], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'mutable': False, 'type': 'int', 'method': {...}, 'parent': None, 'ctypes_type': 'ctypes.c_int', 'typedefs': 0, 'class': 0, 'desc': 'Variable 1', 'unresolved': False, 'name': 'v1', 'fundamental': True}], 'class': None, 'returns_reference': False, 'doxygen': '///\n/// Method 2 description\n///\n/// @param v1 Variable 1\n///', 'const': False, 'name': 'meth2', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'int', 'template': False, 'constructor': False, 'debug': 'int meth2 ( int v1 ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 30, 'unresolved_parameters': True, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [{'raw_type': 'string', 'line_number': 30, 'typedef': None, 'unresolved': True, 'constant': 1, 'name': 'v1', 'parent': None, 'pointer': 0, 'namespace': '', 'function_pointer': 0, 'method': {...}, 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'aliases': ['string'], 'type': 'const string &', 'class': 0, 'reference': 1, 'desc': 'Variable 1'}, {'line_number': 30, 'constant': 0, 'reference': 1, 'raw_type': 'vector<string>', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': ['vector<string>'], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'template': 'vector<string>', 'mutable': False, 'type': 'vector<string> &', 'method': {...}, 'parent': None, 'ctypes_type': 'ctypes.c_void_p', 'typedefs': 0, 'class': 0, 'desc': 'Variable 2', 'unresolved': True, 'name': 'v2', 'fundamental': 0}], 'class': None, 'returns_reference': False, 'doxygen': '/**\n* Method 3 description\n*\n* \\param v1 Variable 1\n* \\param v2 Variable 2\n*/', 'const': False, 'name': 'meth3', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'void', 'template': False, 'constructor': False, 'debug': 'void meth3 ( const string & v1 , vector <string> & v2 ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 37, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'unsigned int', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'doxygen': '/**********************************\n* Method 4 description\n*\n* @return Return value\n*********************************/', 'const': False, 'name': 'meth4', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'unsigned int', 'template': False, 'constructor': False, 'debug': 'unsigned int meth4 ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}], 'private': [{...}]}}, 'defined': True, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void *', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 1, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'meth5', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'void', 'template': False, 'constructor': False, 'debug': 'void * meth5 ( ) {', 'inline': False, 'friend': False, 'returns_class': False}
}

class Alpha::AlphaClass
{
public
// Properties
{'raw_type': 'string', 'line_number': 55, 'typedef': None, 'unresolved': True, 'constant': 0, 'name': 'alphaString', 'parent': None, 'pointer': 0, 'namespace': 'Alpha::', 'function_pointer': 0, 'property_of_class': 'AlphaClass', 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'type': 'string', 'class': 0, 'reference': 0, 'aliases': ['string']}
// Methods
{'line_number': 51, 'parent': {'inherits': [], 'line_number': 48, 'forward_declares': {'protected': [], 'public': [], 'private': []}, 'name': 'AlphaClass', 'parent': None, 'abstract': False, 'namespace': 'Alpha', 'declaration_method': 'class', 'structs': {'protected': [], 'public': [], 'private': []}, 'typedefs': {'protected': [], 'public': [], 'private': []}, 'enums': {'protected': [], 'public': [], 'private': []}, 'properties': {'protected': [], 'public': [{'raw_type': 'string', 'line_number': 55, 'typedef': None, 'unresolved': True, 'constant': 0, 'name': 'alphaString', 'parent': None, 'pointer': 0, 'namespace': 'Alpha::', 'function_pointer': 0, 'property_of_class': 'AlphaClass', 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'type': 'string', 'class': 0, 'reference': 0, 'aliases': ['string']}], 'private': []}, 'nested_classes': [], 'methods': {'protected': [], 'public': [{...}, {'line_number': 53, 'parent': {...}, 'defined': False, 'namespace': 'Alpha::', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'Alpha::AlphaClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'alphaMethod', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'void', 'template': False, 'constructor': False, 'debug': 'void alphaMethod ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}], 'private': []}}, 'defined': False, 'namespace': 'Alpha::', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'Alpha::AlphaClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'AlphaClass', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': '', 'template': False, 'constructor': True, 'debug': 'AlphaClass ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}
{'line_number': 53, 'parent': {'inherits': [], 'line_number': 48, 'forward_declares': {'protected': [], 'public': [], 'private': []}, 'name': 'AlphaClass', 'parent': None, 'abstract': False, 'namespace': 'Alpha', 'declaration_method': 'class', 'structs': {'protected': [], 'public': [], 'private': []}, 'typedefs': {'protected': [], 'public': [], 'private': []}, 'enums': {'protected': [], 'public': [], 'private': []}, 'properties': {'protected': [], 'public': [{'raw_type': 'string', 'line_number': 55, 'typedef': None, 'unresolved': True, 'constant': 0, 'name': 'alphaString', 'parent': None, 'pointer': 0, 'namespace': 'Alpha::', 'function_pointer': 0, 'property_of_class': 'AlphaClass', 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'type': 'string', 'class': 0, 'reference': 0, 'aliases': ['string']}], 'private': []}, 'nested_classes': [], 'methods': {'protected': [], 'public': [{'line_number': 51, 'parent': {...}, 'defined': False, 'namespace': 'Alpha::', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'Alpha::AlphaClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'AlphaClass', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': '', 'template': False, 'constructor': True, 'debug': 'AlphaClass ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {...}], 'private': []}}, 'defined': False, 'namespace': 'Alpha::', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'Alpha::AlphaClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'alphaMethod', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'void', 'template': False, 'constructor': False, 'debug': 'void alphaMethod ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}
protected
private
}

class Alpha::Omega::OmegaClass
{
public
// Properties
{'raw_type': 'string', 'line_number': 65, 'typedef': None, 'unresolved': True, 'constant': 0, 'name': 'omegaString', 'parent': None, 'pointer': 0, 'namespace': 'Alpha::Omega::', 'function_pointer': 0, 'property_of_class': 'OmegaClass', 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'type': 'string', 'class': 0, 'reference': 0, 'aliases': ['string']}
// Methods
{'line_number': 63, 'parent': {'inherits': [], 'line_number': 60, 'forward_declares': {'protected': [], 'public': [], 'private': []}, 'name': 'OmegaClass', 'parent': None, 'abstract': False, 'namespace': 'Alpha::Omega', 'declaration_method': 'class', 'structs': {'protected': [], 'public': [], 'private': []}, 'typedefs': {'protected': [], 'public': [], 'private': []}, 'enums': {'protected': [], 'public': [], 'private': []}, 'properties': {'protected': [], 'public': [{'raw_type': 'string', 'line_number': 65, 'typedef': None, 'unresolved': True, 'constant': 0, 'name': 'omegaString', 'parent': None, 'pointer': 0, 'namespace': 'Alpha::Omega::', 'function_pointer': 0, 'property_of_class': 'OmegaClass', 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'type': 'string', 'class': 0, 'reference': 0, 'aliases': ['string']}], 'private': []}, 'nested_classes': [], 'methods': {'protected': [], 'public': [{...}], 'private': []}}, 'defined': False, 'namespace': 'Alpha::Omega::', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'Alpha::Omega::OmegaClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'OmegaClass', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': '', 'template': False, 'constructor': True, 'debug': 'OmegaClass ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}
protected
private
}

// functions
{'line_number': 70, 'static': False, 'rtnType': 'int', 'const': False, 'parameters': [{'raw_type': 'int', 'line_number': 70, 'typedef': None, 'unresolved': False, 'constant': 0, 'name': 'i', 'parent': None, 'pointer': 0, 'ctypes_type': 'ctypes.c_int', 'namespace': '', 'function_pointer': 0, 'method': {'line_number': 70, 'defined': True, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'int', 'extern': False, 'returns_pointer': 0, 'parameters': [...], 'class': None, 'returns_reference': False, 'const': False, 'name': 'sampleFreeFunction', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'int', 'template': False, 'constructor': False, 'debug': 'int sampleFreeFunction ( int i ) {', 'inline': False, 'friend': False, 'returns_class': False}, 'static': 0, 'fundamental': True, 'mutable': False, 'typedefs': 0, 'array': 0, 'type': 'int', 'class': 0, 'reference': 0, 'aliases': []}], 'namespace': '', 'virtual': False, 'destructor': False, 'returns': 'int', 'template': False, 'friend': False, 'returns_class': False, 'extern': False, 'returns_pointer': 0, 'class': None, 'name': 'sampleFreeFunction', 'pure_virtual': False, 'explicit': False, 'returns_fundamental': True, 'constructor': False, 'debug': 'int sampleFreeFunction ( int i ) {', 'inline': False}
{'line_number': 75, 'static': False, 'rtnType': 'int', 'const': False, 'parameters': [{'raw_type': 'void', 'line_number': 75, 'typedef': None, 'unresolved': False, 'constant': 0, 'name': '', 'parent': None, 'pointer': 0, 'ctypes_type': 'ctypes.c_void_p', 'namespace': '', 'function_pointer': 0, 'method': {'line_number': 75, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'int', 'extern': False, 'returns_pointer': 0, 'parameters': [...], 'class': None, 'returns_reference': False, 'const': False, 'name': 'anotherFreeFunction', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'int', 'template': False, 'constructor': False, 'debug': 'int anotherFreeFunction ( void ) ;', 'inline': False, 'friend': False, 'returns_class': False}, 'static': 0, 'fundamental': True, 'mutable': False, 'typedefs': 0, 'array': 0, 'type': 'void', 'class': 0, 'reference': 0, 'aliases': []}], 'namespace': '', 'virtual': False, 'destructor': False, 'returns': 'int', 'template': False, 'friend': False, 'returns_class': False, 'extern': False, 'returns_pointer': 0, 'class': None, 'name': 'anotherFreeFunction', 'pure_virtual': False, 'explicit': False, 'returns_fundamental': True, 'constructor': False, 'debug': 'int anotherFreeFunction ( void ) ;', 'inline': False}

Number of public methods 5
Number of private properties 2
Parameter Types for public method meth3 ['const string &', 'vector<string> &']

Return type for meth1:
string

Doxygen for meth2:
///
/// Method 2 description
///
/// @param v1 Variable 1
///

Parameters for meth3:
[{'raw_type': 'string', 'line_number': 30, 'typedef': None, 'unresolved': True, 'constant': 1, 'name': 'v1', 'parent': None, 'pointer': 0, 'namespace': '', 'function_pointer': 0, 'method': {'line_number': 30, 'unresolved_parameters': True, 'parent': {'inherits': [], 'line_number': 8, 'forward_declares': {'protected': [], 'public': [], 'private': []}, 'name': 'SampleClass', 'parent': None, 'abstract': False, 'namespace': '', 'declaration_method': 'class', 'structs': {'protected': [], 'public': [], 'private': []}, 'typedefs': {'protected': [], 'public': [], 'private': []}, 'enums': {'protected': [], 'public': [], 'private': []}, 'properties': {'protected': [], 'public': [], 'private': [{'raw_type': 'string', 'line_number': 42, 'typedef': None, 'doxygen': '/// prop1 description', 'constant': 0, 'name': 'prop1', 'parent': None, 'pointer': 0, 'namespace': '', 'function_pointer': 0, 'property_of_class': 'SampleClass', 'unresolved': True, 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'type': 'string', 'class': 0, 'reference': 0, 'aliases': ['string']}, {'line_number': 44, 'constant': 0, 'reference': 0, 'raw_type': 'int', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': [], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'mutable': False, 'type': 'int', 'property_of_class': 'SampleClass', 'parent': None, 'ctypes_type': 'ctypes.c_int', 'unresolved': False, 'typedefs': 0, 'class': 0, 'doxygen': '//! prop5 description', 'name': 'prop5', 'fundamental': True}]}, 'nested_classes': [], 'methods': {'protected': [], 'public': [{'line_number': 11, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'SampleClass', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': '', 'template': False, 'constructor': True, 'debug': 'SampleClass ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 15, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': False, 'rtnType': 'string', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'returns_unknown': True, 'doxygen': '/*!\n* Method 1\n*/', 'const': False, 'name': 'meth1', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'string', 'template': False, 'constructor': False, 'debug': 'string meth1 ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 22, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'int', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [{'line_number': 22, 'constant': 0, 'reference': 0, 'raw_type': 'int', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': [], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'mutable': False, 'type': 'int', 'method': {...}, 'parent': None, 'ctypes_type': 'ctypes.c_int', 'typedefs': 0, 'class': 0, 'desc': 'Variable 1', 'unresolved': False, 'name': 'v1', 'fundamental': True}], 'class': None, 'returns_reference': False, 'doxygen': '///\n/// Method 2 description\n///\n/// @param v1 Variable 1\n///', 'const': False, 'name': 'meth2', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'int', 'template': False, 'constructor': False, 'debug': 'int meth2 ( int v1 ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {...}, {'line_number': 37, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'unsigned int', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'doxygen': '/**********************************\n* Method 4 description\n*\n* @return Return value\n*********************************/', 'const': False, 'name': 'meth4', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'unsigned int', 'template': False, 'constructor': False, 'debug': 'unsigned int meth4 ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}], 'private': [{'line_number': 39, 'parent': {...}, 'defined': True, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void *', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 1, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'meth5', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'void', 'template': False, 'constructor': False, 'debug': 'void * meth5 ( ) {', 'inline': False, 'friend': False, 'returns_class': False}]}}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [...], 'class': None, 'returns_reference': False, 'doxygen': '/**\n* Method 3 description\n*\n* \\param v1 Variable 1\n* \\param v2 Variable 2\n*/', 'const': False, 'name': 'meth3', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'void', 'template': False, 'constructor': False, 'debug': 'void meth3 ( const string & v1 , vector <string> & v2 ) ;', 'inline': False, 'friend': False, 'returns_class': False}, 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'aliases': ['string'], 'type': 'const string &', 'class': 0, 'reference': 1, 'desc': 'Variable 1'}, {'line_number': 30, 'constant': 0, 'reference': 1, 'raw_type': 'vector<string>', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': ['vector<string>'], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'template': 'vector<string>', 'mutable': False, 'type': 'vector<string> &', 'method': {'line_number': 30, 'unresolved_parameters': True, 'parent': {'inherits': [], 'line_number': 8, 'forward_declares': {'protected': [], 'public': [], 'private': []}, 'name': 'SampleClass', 'parent': None, 'abstract': False, 'namespace': '', 'declaration_method': 'class', 'structs': {'protected': [], 'public': [], 'private': []}, 'typedefs': {'protected': [], 'public': [], 'private': []}, 'enums': {'protected': [], 'public': [], 'private': []}, 'properties': {'protected': [], 'public': [], 'private': [{'raw_type': 'string', 'line_number': 42, 'typedef': None, 'doxygen': '/// prop1 description', 'constant': 0, 'name': 'prop1', 'parent': None, 'pointer': 0, 'namespace': '', 'function_pointer': 0, 'property_of_class': 'SampleClass', 'unresolved': True, 'static': 0, 'fundamental': 0, 'mutable': False, 'typedefs': 0, 'array': 0, 'type': 'string', 'class': 0, 'reference': 0, 'aliases': ['string']}, {'line_number': 44, 'constant': 0, 'reference': 0, 'raw_type': 'int', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': [], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'mutable': False, 'type': 'int', 'property_of_class': 'SampleClass', 'parent': None, 'ctypes_type': 'ctypes.c_int', 'unresolved': False, 'typedefs': 0, 'class': 0, 'doxygen': '//! prop5 description', 'name': 'prop5', 'fundamental': True}]}, 'nested_classes': [], 'methods': {'protected': [], 'public': [{'line_number': 11, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'SampleClass', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': '', 'template': False, 'constructor': True, 'debug': 'SampleClass ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 15, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': False, 'rtnType': 'string', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'returns_unknown': True, 'doxygen': '/*!\n* Method 1\n*/', 'const': False, 'name': 'meth1', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'string', 'template': False, 'constructor': False, 'debug': 'string meth1 ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {'line_number': 22, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'int', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [{'line_number': 22, 'constant': 0, 'reference': 0, 'raw_type': 'int', 'static': 0, 'array': 0, 'pointer': 0, 'aliases': [], 'typedef': None, 'namespace': '', 'function_pointer': 0, 'mutable': False, 'type': 'int', 'method': {...}, 'parent': None, 'ctypes_type': 'ctypes.c_int', 'typedefs': 0, 'class': 0, 'desc': 'Variable 1', 'unresolved': False, 'name': 'v1', 'fundamental': True}], 'class': None, 'returns_reference': False, 'doxygen': '///\n/// Method 2 description\n///\n/// @param v1 Variable 1\n///', 'const': False, 'name': 'meth2', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'int', 'template': False, 'constructor': False, 'debug': 'int meth2 ( int v1 ) ;', 'inline': False, 'friend': False, 'returns_class': False}, {...}, {'line_number': 37, 'parent': {...}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'unsigned int', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [], 'class': None, 'returns_reference': False, 'doxygen': '/**********************************\n* Method 4 description\n*\n* @return Return value\n*********************************/', 'const': False, 'name': 'meth4', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'unsigned int', 'template': False, 'constructor': False, 'debug': 'unsigned int meth4 ( ) ;', 'inline': False, 'friend': False, 'returns_class': False}], 'private': [{'line_number': 39, 'parent': {...}, 'defined': True, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void *', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 1, 'parameters': [], 'class': None, 'returns_reference': False, 'const': False, 'name': 'meth5', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'void', 'template': False, 'constructor': False, 'debug': 'void * meth5 ( ) {', 'inline': False, 'friend': False, 'returns_class': False}]}}, 'defined': False, 'namespace': '', 'operator': False, 'static': False, 'returns_fundamental': True, 'rtnType': 'void', 'extern': False, 'path': 'SampleClass', 'returns_pointer': 0, 'parameters': [...], 'class': None, 'returns_reference': False, 'doxygen': '/**\n* Method 3 description\n*\n* \\param v1 Variable 1\n* \\param v2 Variable 2\n*/', 'const': False, 'name': 'meth3', 'pure_virtual': False, 'explicit': False, 'virtual': False, 'destructor': False, 'returns': 'void', 'template': False, 'constructor': False, 'debug': 'void meth3 ( const string & v1 , vector <string> & v2 ) ;', 'inline': False, 'friend': False, 'returns_class': False}, 'parent': None, 'ctypes_type': 'ctypes.c_void_p', 'typedefs': 0, 'class': 0, 'desc': 'Variable 2', 'unresolved': True, 'name': 'v2', 'fundamental': 0}]

Doxygen for meth4:
/**********************************
* Method 4 description
*
* @return Return value
*********************************/

Return type for meth5:
void *

Doxygen type for prop1:
/// prop1 description

Type for prop5:
int

Namespace for AlphaClass is:
Alpha

Return type for alphaMethod is:
void

Namespace for OmegaClass is:
Alpha::Omega

Type for omegaString is:
string

Free functions are:
sampleFreeFunction
anotherFreeFunction

#includes are:
<vector>
<string>

#defines are:
DEF_1 1
OS_NAME "Linux"



Contributors
------------
* Chris Love
* HartsAntler

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

CppHeaderParser-2.5.tar.gz (48.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page