# libclangmm - An easy to use C++-wrapper for libclang #
# libclangmm - An easy to use C++-wrapper for libclang #
## About ##
## About ##
This project is written by *cppit* as part of an bachelor thesis
This is a highlevel wrapper for [libclang](http://www.llvm.org). It
provides highlevel C++11 access to complicated C code.
# Install #
This section describes how to install this library on your system. The section below is tested in on unix based systems and in windows. If there are any problems please create an issue and we will look into it.
## Dependencies ##
## Dependencies ##
Please install these dependencies on your system.
* libclang
* libclang
* cmake
* make
* clang or gcc (compiler)
## Download the source ##
There are two ways of downloading the source
### Download the zip ###
You can download the zip [here](https://github.com/cppit/libclangmm/archive/master.zip).
The compilation of the tests are disabled due to ease of installation. Simply enter CMakeList.txt and uncomment the last two lines in the file to enable testing.
# Usage #
One quick start:
```cpp
// lets say it is empty
std::string path("your file here");
clang::Index index(0, 0);
clang::TranslationUnit tu(&index, path);
// ReparseTranslationUnit takes a map with filepath as key
// and buffer as value
std::map<std::string,std::string> buffers;
// create buffer (this would normally be a gtk/qt-buffer or something)