summaryrefslogtreecommitdiff
path: root/cpp/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/README.md')
-rw-r--r--cpp/README.md51
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.
+```