A general purpose extension library for the C++17 stdlib
 
 
 
Go to file
Daniel Kolesa 2286235786 fix dynamic linking with ostd::build, ostd::fs 2021-05-04 03:21:49 +02:00
data update unicode data to 13.0 2020-09-19 04:23:01 +02:00
doc include all examples in generated docs 2017-05-03 02:14:27 +02:00
examples do not use add_global_arguments to allow subproject use 2020-09-21 03:06:34 +02:00
ostd fix dynamic linking with ostd::build, ostd::fs 2021-05-04 03:21:49 +02:00
src fix dynamic linking with ostd::build, ostd::fs 2021-05-04 03:21:49 +02:00
tests do not use add_global_arguments to allow subproject use 2020-09-21 03:06:34 +02:00
.gitignore implement all the unicode ctype funcs, generate the tables 2018-01-02 22:23:18 +01:00
COPYING.md update unicode data to 13.0 2020-09-19 04:23:01 +02:00
README.md build: add meson as the new buildsystem for libostd 2018-10-27 23:49:49 +02:00
gen_unicode.cc build: add meson as the new buildsystem for libostd 2018-10-27 23:49:49 +02:00
meson.build do not use add_global_arguments to allow subproject use 2020-09-21 03:06:34 +02:00
meson_options.txt build: add meson as the new buildsystem for libostd 2018-10-27 23:49:49 +02:00

README.md

libostd

Work in progress, not ready for production use.

Libostd is an extension of the C++17 standard library which mainly provides ranges (to replace iterators) but also various other utilities like proper streams, string formatting, coroutines, concurrency utilities and others. It's meant to replace the more poorly designed parts of the C++ standard library to make the language easier and more convenient to use.

It is not feature complete right now, as most things are still being worked on.

Documentation for libostd can be found at https://docs.octaforge.org/libostd. Please refer to it for further information (the main page should be answer some more of your questions). You can also read doc/main_page.md and other files in there directly if you don't need the API documentation.

Building

Libostd is built using Meson. Therefore, you need to install Meson and then you can compile it as usual. Typically, this will be something like

mkdir build && cd build
meson ..
ninja all

This will typically build using either GCC or Clang with the default standard library. Keep in mind that it is you need at least Clang 4.0 or GCC 7.1 to build.