Wayward Support API
Wayward Support is a collection of classes and functions designed to work in addition to the C++ Standard Library.
Some classes in Wayward Support are simpler implementations of equivalents in Boost without as much template cruft, while implement concepts that are unique to Wayward.
Classes
- Any — Hold any value.
- CommandLineOptions — Simple command line option parser.
- Either — Hold one of a predefined set of value types (tagged union).
- Error — Base class for all exceptions that captures a stack trace.
- Fiber — Coroutine implementation for cooperative multitasking.
- Logger — Logging interface.
- Maybe — Option type, equivalent to
boost::optional
with some monadic extensions. - Result — Either a value or an Error.
- URI — Structured representation of a Uniform Resource Identifier.
Libraries
- Data Franca library — Data observation library. Provides unified access to any data type that implements an adapter, allowing users to query arbitrary data structures. The main use is to provide a way for templating languages to access structured data at runtime.
- DateTime library — The DateTime library provides an intuitive interface to POSIX date/time functions.
- Format library — String formatting and interpolation library.
- HTTP library — Evented HTTP Server and Client classes.
- JSON library — Convert arbitrary data structures (via reflection or Data Franca) to and from JSON.
- Monads — Common "monadic" idioms that can make some code patterns safer and easier to use.
- Reflection library — Runtime type reflection library.
- Static Metaprogramming library — Compile-time type reflection library (various extensions to the standard
<type_traits>
). - String utilities — Commonly used string functions missing from the C++ Standard Library.