codegraph-cpp 0.1.0

C++ parser for CodeGraph - extracts code entities and relationships from C++ source files
Documentation
# codegraph-cpp

C++ parser for CodeGraph - extracts code entities and relationships from C++ source files.

## Features

- Parses C++ source files using tree-sitter
- Extracts classes, structs, enums, and functions
- Supports namespaces and nested namespaces
- Handles templates and template parameters
- Extracts inheritance relationships
- Detects function calls and method invocations
- Supports various C++ file extensions: `.cpp`, `.cc`, `.cxx`, `.hpp`, `.hh`, `.hxx`, `.h`

## Usage

```rust
use codegraph::CodeGraph;
use codegraph_cpp::CppParser;
use codegraph_parser_api::CodeParser;
use std::path::Path;

let parser = CppParser::new();
let mut graph = CodeGraph::in_memory().unwrap();

let source = r#"
    namespace myns {
        class MyClass {
        public:
            void myMethod() {}
        };
    }
"#;

let file_info = parser
    .parse_source(source, Path::new("example.cpp"), &mut graph)
    .unwrap();

println!("Found {} classes", file_info.classes.len());
println!("Found {} functions", file_info.functions.len());
```

## Supported Constructs

- **Classes**: `class`, `struct`
- **Enums**: `enum`, `enum class`
- **Functions**: Free functions, methods, constructors, destructors
- **Namespaces**: Named namespaces, nested namespaces
- **Templates**: Class templates, function templates
- **Inheritance**: Single and multiple inheritance
- **Access specifiers**: `public`, `private`, `protected`
- **Includes**: `#include` directives

## License

MIT