diff options
Diffstat (limited to 'cpp/README.md')
-rw-r--r-- | cpp/README.md | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/cpp/README.md b/cpp/README.md index 5367cfe..9344934 100644 --- a/cpp/README.md +++ b/cpp/README.md @@ -3,3 +3,54 @@ C++ parser for the [POM configuration language](https://pom.computer). Requires at least C++17. + +## Building + +See [C building instructions](../README.md) (C++ library will be built alongside it automatically by default). + +## Basic usage + +```c++ +#include <pom.hpp> +#include <iostream> + +int main(void) { + try { + pom::Configuration conf = pom::Configuration("conf.pom", nullptr); + auto indentation_type = conf.get("indentation-type"); + if (indentation_type.has_value()) + std::cout << "Indenting with " << indentation_type.value() << "\n"; + else + std::cout << "No indentation type set!\n"; + } catch (pom::Error &error) { + // Parsing error! + std::cerr << error << "\n"; + } +} +``` + +Assuming you have run `make install`, you just need to add `-l:libpom++.a -l:libpom.a` (or `-lpom++ -lpom` to +use the shared library) to your compiler flags. + + +See `examples/` directory for more examples. + +## Contributing + +Contributions are welcome, including bug fixes, examples, improvements +to documentation or code readability, and error message translations (see `../errors.c`). + +## License + +```text +Permission to use, copy, modify, and/or distribute this software for +any purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE +FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY +DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +``` |