 CYB | Encapsulates the engine in it's entirety |
  API | Namespace containing the public API define EXPLICIT_API_USAGE to prevent automatic 'using' |
   Container | Contains usings of STL contianer types |
   Interop | Defines interop classes that should not be used individually |
    Allocatable | Defines the base class for allocatable engine objects |
    Allocator | Used for allocating objects within and without the engine |
    Constructor | Template for defining the types of parameters for engine object constructors with multiple arguments |
    Constructor< void > | Used as a base class by all constructors |
    Constructor< AType > | Template for defining the types of parameters for engine object constructors |
    NullConstructor | Used for object which aren't allocatables |
    Context | Class which is used as an API for the engine |
    Object | Template type for wrapping pointers and treating them as objects. Only works with CyberEngine interface types |
    STLAllocator | Remaps STL style allocations to the CyberEngine Allocator. Based on std::allocator, usable on STL containers |
     rebind | See std::allocator::rebind |
   String | Contains all string implementations |
    CStyle | A basic char contained string |
    Dynamic | Used for string of allocated variable length |
    Static | A string pointing to unchanging data in the stack above it or the data segment. Must have UTF-8 encoding |
    UTF8 | A variable length UTF-8 string |
    UTF16 | UTF-16 String enabled only under windows |
   File | Contains the basic File interface. Does not perform locking of any kind, be aware of possible race conditions. Note that reads and writes that fail should not be retried |
   Mutex | A fast locking, no order guaranteed, mutex |
   Path | Used for manipulating Paths. Paths will always exist either as a file or directory. Paths are '/' delimited when forming though may not be while retrieving. File names ".." will ascend a directory and '.' represents a no-op |
    DirectoryEntry | Iterator for paths in a directory |
   Semaphore | A reliable wait queue |
   Assert | Contains assertion functions |
   Endianess | Static Endianess definitions |
   ByteConverters | Converters from large byte types to smaller ones |
   Platform | Strong typing for Platform::Identifier |
   LockGuard | A RAII locking mechanism |
   UniquePointer | UniquePointer that uses our Allocator |
   CommandLine | An interface for running callbacks based on command line parameters |
   Heap | An interface which can allocate memory |
   Logger | The interface for writing safe logs |
   Stream | The interface for streaming reads and writes |
   SafeStream | A Stream guaranteed to not throw exceptions |
   EngineInformation | Infomation about the running engine version |
   ParameterPack | Contains information about a template parameter pack |
    Indexer | A class which can be used to get the type at AIndex of the pack |
   Singleton | A class for creating static singletons |
   Threadable | The basic multithreading interface |
   ThreadableTaskset | A mutlithreading interface with a number of jobs in mind |
   Typename | Gets the typename of a type |
  Engine | Encapsulates platform agnostic engine functions |
   Helpers | Contains key engine helpers |
    CommandLine | Command line string parser and manager |
     Token | A parsed command line token |
   Memory | A grouping of the Heap and its constituents |
    Block | A unit of memory allocation |
    Heap | A memory pool manager and allocator |
    LargeBlock | Used to identify the end of a Heap |
   Core | An instance of this object is the entirety of the engine |
   Parameters | Compilation configuration variables |
   Allocator | Implements InteropAllocation for the public allocator |
   Context | Implements the engine level functions for API::Interop::Contexts |
   PushContext | Context switching RAII helper |
   Logger | The threaded, queued engine logger |
    LogEntry | Log entries to be inserted into the queue |
  Exception | The namespace containing engine exception classes |
   Base | The base exception recognized by the entire engine |
   Violation | Exceptions indicating an API contract violation. Should not be anticipated |
   SystemData | Exceptions caused by external call failures or invalid external data. Only classifies ones that can pass through the ABI |
   Internal | Exceptions that are thrown internally in the engine that the should never see, these are a superset of SystemData type exceptions. If one of these exceptions appear in a unit, please contant the engine development team |
  Platform | Namespace containing engine Platform functions |
   Modules | Contains functions for manipulating shared libraries |
    Implementation | Contains Platform specific module functions |
     Module | Contains the Module handle |
    AutoModuleOptionalHelpers | AutoModule external helper for functions that rely on the state of AOptionalFunctions |
    AutoModule | Automated intialization, function loading, and calling of module functions |
    Module | Encompasses a handle on loaded modules |
    AMFake | Fake AutoModule used in place of other Platform's AutoModules |
    Manager | Encapsulates the engine's loaded modules |
   System | Contain basic OS operations |
    Implementation | Contains Platform specific OS functions |
     File | The file handle manager |
     Mutex | Contains the CRITICAL_SECTION struct |
     Path | Adds a UTF16 accompaniment to the UTF8 string of System::Path |
      DirectoryEntry | Uses the FindFile API to enumerate directories |
     Process | Contains the Process handle and spawning function |
     Semaphore | The CS, CV pair handler |
     Sys | Used for Linked calls only |
     Thread | Contains the thread handle and startup function |
     VirtualMemory | Various aligment functions |
    Console | Contains the basic File interface. Does not perform locking of any kind, be aware of possible race conditions |
    File | Contains the basic File interface. Does not perform locking of any kind, be aware of possible race conditions |
    Mutex | A fast locking, no order guaranteed, mutex |
    Path | Used for manipulating Paths. Paths will always exist either as a file or directory. Paths are '/' delimited when forming though may not be while retrieving. File names ".." will ascend a directory and '.' represents a no-op |
    Process | An object representing an operating system process |
    Semaphore | A reliable wait queue |
    Sys | Contains the functionality for making asm syscalls and linked calls |
     Union64 | Used for passing arguments to calls to this class. If the call in question requires const, const_casting away constness for this intermediary is well defined |
    Thread | Definition of a platform thread object |
    VirtualMemory | Access and abstraction to the basic OS memory functions |
   Win32 | Includes headers for Windows platforms |