diff --git a/README.md b/README.md index ce31f07e..883f4b9e 100644 --- a/README.md +++ b/README.md @@ -131,7 +131,7 @@ SysPushError[EFailureCategory shorthand] can be used to include additional side- information about the execution of a program. SysPushError_(...) takes a string format sequence and a variadic sequence of substitute values - or no arguments whatsoever. -examaple: +#### Example: ```cpp IBufferedCharacterConsumer *BufferConsumerFromProviderNew(const AuSPtr &provider) { @@ -147,6 +147,9 @@ IBufferedCharacterConsumer *BufferConsumerFromProviderNew(const AuSPtr`. Using this -class, undefined behaviour on dereference and operator pointer is altered to guarantee an AU_THROW_STRING. It would be 'nice' -to live in a world without C++ exceptions; however, noexcept simply requires that `std::terminate` is called, and not handling -them at all should be handled as a fatal error. Defer to [exceptions](#exceptions) on how we log and report internal errors. -Those who live in noexcept land can eat the exception, turning it into a terminate condition. Smarter applications may be able -to catch the null dereference and continue operation without brining the whole kingdom down with it. Either way, no UB. +class, undefined behaviour on dereference and operator pointer is altered to guarantee an AU_THROW_STRING. Such hacks without +support for native behaviour from the language drivers themselves can be rather expensive; however, it's an experiment worth +trying now that modern hardware can make up for software and microcode flaws; and architecture translation. Null exception +experiments can be easily disabled or configured from within your AuroraConfiguration.h file globally. + ``` Types: @@ -347,17 +361,20 @@ UTF-8 and attempt to read a BOM to translate any other input to UTF-8. We assume all paths are messy. Incorrect splitters, double splitters, relative paths, and keywords are resolved internally. No URL or path builder, data structure to hold a tokenized URI expression, or similar concept exists in the codebase. All string 'paths' are simply expanded, similar to MSCRT's `fullpath` or UNIX's `realpath`, at time of usage. -
-Path tokens include:
-[0] == '.' = cwd
-[0] == '~' = platform specific user directory / brand / Profile
-[0] == '!' = platform specific app config directory / brand / System
-[0] == '?' = ., !, or ~
-.. = go back
-/ = splitter
-\ = splitter
-
+ +| Expression | Meaning | +|------------------|-------------------------------------| +| `Path[0] == '.'` | Current Working Directory | +| `Path[0] == '^'` | Executable module's Directory | +| `Path[0] == '~'` | User Profile Storage + SDK brand | +| `Path[0] == '!'` | All User Shared Storage + SDK brand | +| `..` | Go up a directory | +| `/` | Agnostic Directory Splitter | +| `\` | Agnostic Directory Splitter | +| `.` [SPLITTER] | Nothing | + + [TODO] Aurora Branding
### Resources