rename octastd to libostd

master
Daniel Kolesa 2017-04-06 20:14:52 +02:00
parent 36332dff40
commit 62676f4222
26 changed files with 53 additions and 53 deletions

View File

@ -1,4 +1,4 @@
OctaSTD is licensed under the University of Illinois/NCSA Open Source License, Libostd is licensed under the University of Illinois/NCSA Open Source License,
a permissive, non-copyleft, BSD style license. The license text goes as follows: a permissive, non-copyleft, BSD style license. The license text goes as follows:
Copyright (c) 2015 Daniel "q66" Kolesa. All rights reserved. Copyright (c) 2015 Daniel "q66" Kolesa. All rights reserved.
@ -17,7 +17,7 @@ so, subject to the following conditions:
this list of conditions and the following disclaimers in the this list of conditions and the following disclaimers in the
documentation and/or other materials provided with the distribution. documentation and/or other materials provided with the distribution.
* Neither the names of OctaSTD developers nor any contributors may be * Neither the names of libostd developers nor any contributors may be
used to endorse or promote products derived from this Software without used to endorse or promote products derived from this Software without
specific prior written permission. specific prior written permission.

View File

@ -1,8 +1,8 @@
# octastd # libostd
**Work in progress, not ready for production use.** **Work in progress, not ready for production use.**
OctaSTD is an extension of the C++17 standard library which mainly provides Libostd is an extension of the C++17 standard library which mainly provides
ranges (to replace iterators) but also various other utilities like proper ranges (to replace iterators) but also various other utilities like proper
streams, string formatting, coroutines, concurrency utilities and others. It's streams, string formatting, coroutines, concurrency utilities and others. It's
meant to replace the more poorly designed parts of the C++ standard library to meant to replace the more poorly designed parts of the C++ standard library to
@ -10,7 +10,7 @@ make the language easier and more convenient to use.
It is not feature complete right now, as most things are still being worked on. It is not feature complete right now, as most things are still being worked on.
Documentation for OctaSTD can be found at https://docs.octaforge.org/octastd. 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 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 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. files in there directly if you don't need the API documentation.

View File

@ -32,7 +32,7 @@ DOXYFILE_ENCODING = UTF-8
# title of most generated pages and in a few other places. # title of most generated pages and in a few other places.
# The default value is: My Project. # The default value is: My Project.
PROJECT_NAME = "OctaSTD" PROJECT_NAME = "libostd"
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This # The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version # could be handy for archiving the generated documentation or if some version

View File

@ -1,8 +1,8 @@
# OctaSTD Documentation {#index} # Libostd Documentation {#index}
## What is OctaSTD? ## What is libostd?
OctaSTD is an extension library for C++17. It enhances the standard library Libostd is an extension library for C++17. It enhances the standard library
to make the language easier and more convenient to use. It's based on the to make the language easier and more convenient to use. It's based on the
idea is that everything should do what one would expect it to; it strives idea is that everything should do what one would expect it to; it strives
to aid programmers in writing clean and readable code. to aid programmers in writing clean and readable code.
@ -21,20 +21,20 @@ to aid programmers in writing clean and readable code.
### Ranges ### Ranges
OctaSTD started as a range library. Ranges replace iterators; you no longer Libostd started as a range library. Ranges replace iterators; you no longer
need two objects to represent a range and ranges themselves have a clean need two objects to represent a range and ranges themselves have a clean
interface that is easy to adapt for your own thing. Additionally, there is interface that is easy to adapt for your own thing. Additionally, there is
backwards compatibility with iterators, so you can create ranges out of backwards compatibility with iterators, so you can create ranges out of
iterator pairs and even turn a range into an iterator! However, the primary iterator pairs and even turn a range into an iterator! However, the primary
way of creating ranges is using native range types. The compatibility stuff way of creating ranges is using native range types. The compatibility stuff
is there mostly so that OctaSTD can work with existing libraries. Additionally, is there mostly so that libostd can work with existing libraries. Additionally,
a large library of generic range algorithms is provided. a large library of generic range algorithms is provided.
For more on ranges, see [Ranges](@ref ranges). For more on ranges, see [Ranges](@ref ranges).
### Concurrency ### Concurrency
OctaSTD is a complete concurrency framework, implementing a clean and Libostd is a complete concurrency framework, implementing a clean and
extensible system for working with logical tasks. It allows for custom extensible system for working with logical tasks. It allows for custom
schedulers and by default implements several scheduling approaches (1:1, schedulers and by default implements several scheduling approaches (1:1,
N:1, M:N). It also implements stackful coroutines (on which the latter N:1, M:N). It also implements stackful coroutines (on which the latter
@ -55,9 +55,9 @@ things.
### Strings and formatting ### Strings and formatting
Thanks to ranges, OctaSTD provides very lightweight string slices. The Thanks to ranges, libostd provides very lightweight string slices. The
slices are not zero terminated, so creating sub-slices is fast and avoids slices are not zero terminated, so creating sub-slices is fast and avoids
tons of potential heap allocations. None of the OctaSTD string APIs ever tons of potential heap allocations. None of the libostd string APIs ever
assumes termination. assumes termination.
Additionally, a completely type-safe string formatting system with C-like Additionally, a completely type-safe string formatting system with C-like
@ -72,7 +72,7 @@ All of this is zero-allocation, it lets the output range take care of that.
There are other APIs, too, including environment variable handling, simple There are other APIs, too, including environment variable handling, simple
platform specific checks, a signal-slot event system or vector math. The platform specific checks, a signal-slot event system or vector math. The
amount is expected to grow in the future, as OctaSTD is still a work in amount is expected to grow in the future, as libostd is still a work in
progress. progress.
## Why C++17? ## Why C++17?
@ -80,7 +80,7 @@ progress.
C++17 includes several things that remove previous blockers, such as being C++17 includes several things that remove previous blockers, such as being
able to hash string range types sanely. Additionally, there are several able to hash string range types sanely. Additionally, there are several
language features (such as `if constexpr`) that greatly simplify the code. language features (such as `if constexpr`) that greatly simplify the code.
OctaSTD does not make full use of the standard, so it works with current Libostd does not make full use of the standard, so it works with current
compilers. compilers.
## Supported compilers ## Supported compilers
@ -103,7 +103,7 @@ use GCC/Clang, if you need Visual Studio, LLVM integration exists.
## Supported operating systems and architectures ## Supported operating systems and architectures
OctaSTD targets POSIX compliant operating systems and Windows. Features are Libostd targets POSIX compliant operating systems and Windows. Features are
written with those in mind, and other targets are currently not supported. written with those in mind, and other targets are currently not supported.
Tier 1 targets are regularly tested. Tier 2 targets are irregularly tested. Tier 1 targets are regularly tested. Tier 2 targets are irregularly tested.

View File

@ -1,6 +1,6 @@
# Ranges {#ranges} # Ranges {#ranges}
@brief Ranges are the backbone of OctaSTD iterable objects and algorithms. @brief Ranges are the backbone of libostd iterable objects and algorithms.
## What are ranges? ## What are ranges?
@ -11,7 +11,7 @@ two iterators as an argument.
However, a system like this can be both hard to use and hard to deal with in However, a system like this can be both hard to use and hard to deal with in
custom objects, because you suddenly have your state split into two things. custom objects, because you suddenly have your state split into two things.
That's why OctaSTD introduces ranges, inspired by D's range system but largely That's why libostd introduces ranges, inspired by D's range system but largely
designed from scratch for C++. designed from scratch for C++.
A range is a type that represents an interval of values. Just like with C++ A range is a type that represents an interval of values. Just like with C++
@ -19,7 +19,7 @@ iterators, there are several categories of ranges, with each enhancing the
previous in some way. previous in some way.
You can use ranges with custom algorithms or standard algorithms that are You can use ranges with custom algorithms or standard algorithms that are
implemented by OctaSTD. You can also iterate any input-type range directly implemented by libostd. You can also iterate any input-type range directly
using the range-based for loop: using the range-based for loop:
~~~{.cc} ~~~{.cc}

View File

@ -1,6 +1,6 @@
/* Algorithms for OctaSTD. /* Algorithms for libostd.
* *
* This file is part of OctaSTD. See COPYING.md for futher information. * This file is part of libostd. See COPYING.md for futher information.
*/ */
#ifndef OSTD_ALGORITHM_HH #ifndef OSTD_ALGORITHM_HH

View File

@ -39,7 +39,7 @@ struct channel_error: std::logic_error {
/** @brief A thread-safe message queue. /** @brief A thread-safe message queue.
* *
* A channel is a kind of message queue (FIFO) that is properly synchronized. * A channel is a kind of message queue (FIFO) that is properly synchronized.
* It can be used standalone or it can be used as a part of OctaSTD's * It can be used standalone or it can be used as a part of libostd's
* concurrency system. * concurrency system.
* *
* It stores its internal state in a reference counted manner, so multiple * It stores its internal state in a reference counted manner, so multiple

View File

@ -2,7 +2,7 @@
* *
* @brief Concurrent/parallel task execution support and related APIs. * @brief Concurrent/parallel task execution support and related APIs.
* *
* OctaSTD provides an elaborate concurrency system that covers multiple * libostd provides an elaborate concurrency system that covers multiple
* schedulers with different characteristics as well as different ways to * schedulers with different characteristics as well as different ways to
* pass data between tasks. * pass data between tasks.
* *

View File

@ -1,6 +1,6 @@
/* signals/slots for OctaSTD. /* signals/slots for libostd.
* *
* This file is part of OctaSTD. See COPYING.md for futher information. * This file is part of libostd. See COPYING.md for futher information.
*/ */
#ifndef OSTD_EVENT_HH #ifndef OSTD_EVENT_HH

View File

@ -1,17 +1,17 @@
/** @addtogroup Extensions /** @addtogroup Extensions
* *
* @brief Various extensions including integration of OctaSTD with other libs. * @brief Various extensions including integration of libostd with other libs.
* *
* @{ * @{
*/ */
/** @file sdl_rwops.hh /** @file sdl_rwops.hh
* *
* @brief Integration of OctaSTD streams with SDL RWops. * @brief Integration of libostd streams with SDL RWops.
* *
* This provides integration of OctaSTD streams with SDL RWops so that * This provides integration of libostd streams with SDL RWops so that
* various APIs that provide a generic RWops interface to deal with * various APIs that provide a generic RWops interface to deal with
* files can use OctaSTD streams. * files can use libostd streams.
* *
* Supports both SDL1 and SDL2, with SDL2 being default. If you want to * Supports both SDL1 and SDL2, with SDL2 being default. If you want to
* use SDL1 compatibility, define `OSTD_EXT_SDL_USE_SDL1` at build time * use SDL1 compatibility, define `OSTD_EXT_SDL_USE_SDL1` at build time
@ -38,7 +38,7 @@ namespace sdl {
* @{ * @{
*/ */
/** @brief Create an `SDL_RWops` using an OctaSTD stream. /** @brief Create an `SDL_RWops` using an libostd stream.
* *
* The resulting RWops object is created using `SDL_AllocRW()`. * The resulting RWops object is created using `SDL_AllocRW()`.
* *

View File

@ -6,7 +6,7 @@
* *
* @brief APIs for type safe formatting using C-style format strings. * @brief APIs for type safe formatting using C-style format strings.
* *
* OctaSTD provides a powerful formatting system that lets you format into * libostd provides a powerful formatting system that lets you format into
* arbitrary output ranges using C-style format strings. It's type safe * arbitrary output ranges using C-style format strings. It's type safe
* and supports custom object formatting without heap allocations as well * and supports custom object formatting without heap allocations as well
* as formatting of ranges, tuples and more. * as formatting of ranges, tuples and more.
@ -88,7 +88,7 @@ struct format_spec;
* so for example when someone is formatting into an ostd::appender_range, * so for example when someone is formatting into an ostd::appender_range,
* it will be just that. * it will be just that.
* *
* This may be specialized in other OctaSTD modules as well. * This may be specialized in other libostd modules as well.
*/ */
template<typename> template<typename>
struct format_traits {}; struct format_traits {};

View File

@ -1,6 +1,6 @@
/* Windows includes. /* Windows includes.
* *
* This file is part of OctaSTD. See COPYING.md for futher information. * This file is part of libostd. See COPYING.md for futher information.
*/ */
#ifndef OSTD_INTERNAL_WIN32_HH #ifndef OSTD_INTERNAL_WIN32_HH

View File

@ -1,6 +1,6 @@
/* Standard I/O implementation for OctaSTD. /* Standard I/O implementation for libostd.
* *
* This file is part of OctaSTD. See COPYING.md for futher information. * This file is part of libostd. See COPYING.md for futher information.
*/ */
#ifndef OSTD_IO_HH #ifndef OSTD_IO_HH

View File

@ -2,7 +2,7 @@
* *
* @brief Abstractions for platform (OS, toolchain) specific code. * @brief Abstractions for platform (OS, toolchain) specific code.
* *
* OctaSTD is not only a simple utility library, it also aims to make writing * libostd is not only a simple utility library, it also aims to make writing
* cross-platform code as simple as possible (while sticking to native features * cross-platform code as simple as possible (while sticking to native features
* and therefore not making your code feel foreign on the platform). This * and therefore not making your code feel foreign on the platform). This
* module represents the base layer to achieve this. * module represents the base layer to achieve this.

View File

@ -1,6 +1,6 @@
/* Ranges for OctaSTD. /* Ranges for libostd.
* *
* This file is part of OctaSTD. See COPYING.md for futher information. * This file is part of libostd. See COPYING.md for futher information.
*/ */
#ifndef OSTD_RANGE_HH #ifndef OSTD_RANGE_HH

View File

@ -1,6 +1,6 @@
/* Generic stream implementation for OctaSTD. /* Generic stream implementation for libostd.
* *
* This file is part of OctaSTD. See COPYING.md for futher information. * This file is part of libostd. See COPYING.md for futher information.
*/ */
#ifndef OSTD_STREAM_HH #ifndef OSTD_STREAM_HH

View File

@ -1,6 +1,6 @@
/* String utilities for OctaSTD. /* String utilities for libostd.
* *
* This file is part of OctaSTD. See COPYING.md for futher information. * This file is part of libostd. See COPYING.md for futher information.
*/ */
#ifndef OSTD_STRING_HH #ifndef OSTD_STRING_HH

View File

@ -1,6 +1,6 @@
/* Vector math for OctaSTD. /* Vector math for libostd.
* *
* This file is part of OctaSTD. See COPYING.md for futher information. * This file is part of libostd. See COPYING.md for futher information.
*/ */
#ifndef OSTD_VECMATH_HH #ifndef OSTD_VECMATH_HH

View File

@ -2,7 +2,7 @@
* *
* @brief New containers and extensions to standard containers. * @brief New containers and extensions to standard containers.
* *
* OctaSTD adds various new utilities for standard containers that allow * libostd adds various new utilities for standard containers that allow
* besides other things construction of those containers from ranges. * besides other things construction of those containers from ranges.
* *
* Integration of ranges for iteration is however not necessary because * Integration of ranges for iteration is however not necessary because

View File

@ -1,7 +1,7 @@
*Last sync: 82293a2c03ac2571aafa181ea58a67375a13ceb9.* *Last sync: 82293a2c03ac2571aafa181ea58a67375a13ceb9.*
This directory contains assembly context switching code for different platforms, This directory contains assembly context switching code for different platforms,
taken from the Boost.Context library and adapted to OctaSTD' needs. The files taken from the Boost.Context library and adapted to libostd's needs. The files
are licensed under the Boost Software License, version 1.0, unless specified are licensed under the Boost Software License, version 1.0, unless specified
otherwise. otherwise.

View File

@ -1,7 +1,7 @@
/* A stub file that includes the right assembly according to the target /* A stub file that includes the right assembly according to the target
* architecture and operating system, for gas only. * architecture and operating system, for gas only.
* *
* This file is a part of OctaSTD, provided to you under the NCSA license. * This file is a part of libostd, provided to you under the NCSA license.
* See the COPYING.md file in the main distribution for further information. * See the COPYING.md file in the main distribution for further information.
*/ */

View File

@ -1,7 +1,7 @@
/* A stub file that includes the right assembly according to the target /* A stub file that includes the right assembly according to the target
* architecture and operating system, for gas only. * architecture and operating system, for gas only.
* *
* This file is a part of OctaSTD, provided to you under the NCSA license. * This file is a part of libostd, provided to you under the NCSA license.
* See the COPYING.md file in the main distribution for further information. * See the COPYING.md file in the main distribution for further information.
*/ */

View File

@ -1,7 +1,7 @@
/* A stub file that includes the right assembly according to the target /* A stub file that includes the right assembly according to the target
* architecture and operating system, for gas only. * architecture and operating system, for gas only.
* *
* This file is a part of OctaSTD, provided to you under the NCSA license. * This file is a part of libostd, provided to you under the NCSA license.
* See the COPYING.md file in the main distribution for further information. * See the COPYING.md file in the main distribution for further information.
*/ */

View File

@ -1,6 +1,6 @@
/* Concurrency C implementation bits. /* Concurrency C implementation bits.
* *
* This file is part of OctaSTD. See COPYING.md for futher information. * This file is part of libostd. See COPYING.md for futher information.
*/ */
#include "ostd/concurrency.hh" #include "ostd/concurrency.hh"

View File

@ -1,6 +1,6 @@
/* Stack allocation implementation for coroutine contexts. /* Stack allocation implementation for coroutine contexts.
* *
* This file is part of OctaSTD. See COPYING.md for futher information. * This file is part of libostd. See COPYING.md for futher information.
*/ */
#include <cstdlib> #include <cstdlib>

View File

@ -1,6 +1,6 @@
/* I/O streams implementation bits. /* I/O streams implementation bits.
* *
* This file is part of OctaSTD. See COPYING.md for futher information. * This file is part of libostd. See COPYING.md for futher information.
*/ */
#include <cstdio> #include <cstdio>