diff options
author | pommicket <pommicket@gmail.com> | 2025-09-16 21:49:54 -0400 |
---|---|---|
committer | pommicket <pommicket@gmail.com> | 2025-09-16 21:49:54 -0400 |
commit | 966eaa9bf1c3120d3ac55c99f89025a37fdb87a0 (patch) | |
tree | c33ad0179d792a434ae3353d7b1bf5d0c687bb90 /cpp | |
parent | 49000be20eb598db55c24a1e982a3b6b0b581eeb (diff) |
Better READMEs
Diffstat (limited to 'cpp')
-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. +``` |