Skip to content

aui::core#

Main central library.

Detailed Description#

aui::core is the main module of AUI. All other modules are built on top of aui::core. It implements several basic features:

  • ACommandLineArgs


    Simple command line arguments parser.

  • AEvaluationLoopException


    Indicates an evaluation loop.

  • AImplementationManager


    Helps with picking implementation specified in template arguments which does not throw an exception in tryAllUntilSuccess.

  • ACleanup


    Cleanup helper.

  • AStringLiteral


    Compile-time string literal.

  • AFunctionQueue


    Thread-safe implementation of function queue.

  • AWatchdog


    Watchdog helper class.

  • ASharedRaiiHelper


    Shared completion marker for multithreaded callback-based future handling.

  • AFieldSignalEmitter


    Stores a value and observes it's changes, emitting a signal.

  • AMessageQueue


    Universal thread-safe message (callback) queue implementation.

  • AFieldObservable


    Stores a value and observes it's changes, notifying observers.

  • AScheduler


    Basic scheduler used for timers.

  • aui::any_view


    RTTI-wrapped range.

  • ALogger


    A logger class.

  • AStacktrace


    Stacktrace consisting of a collection of stack function frames.

  • AProcessException


    Flag enum for AChildProcess::run

  • AProcess


    Retrieves information about processes.

  • AFuture


    Represents a value that will be available at some point in the future.

  • AComplexFutureOperation


    Helper class to construct AFuture values.

  • AMutexWrapper


    Wraps the object with a Lockable, providing exclusive access layer, i.e., for thread-safety.

  • AMutex


    Basic syscall-based synchronization primitive.

  • ARecursiveMutex


    Like AMutex but can handle multiple locks for one thread (recursive).

  • ASharedMutex


    Like AMutex but has shared lock type (in addition to basic lock which is unique locking) implementing RW synchronization.

  • AFutureSet


    Manages multiple futures.

  • AConditionVariable


    Represents a condition variable.

  • AAbstractThread


    Represents an abstract thread which might be not created with AThread.

  • AThread


    Represents a user-defined thread.

  • AEventLoop


    Default event loop implementation.

  • AAsyncHolder


    Holds a set of futures keeping them valid.

  • ACutoffSignal


    One-shot event communication.

  • AByteBuffer


    std::vector-like growing array for byte storage.

  • IStringable


    Object that can be converted to string.

  • AQueue


    A std::queue with AUI extensions.

  • AStringVector


    An AVector with string-related functions.

  • ABoxFields


    Represents a rectangle fields. Useful for margin and padding around AViews.

  • AByteBufferView


    Acts like std::string_view but for AByteBuffer.

  • ASet


    A std::set with AUI extensions.

  • AStringView


    Non-owning view into a UTF-8 string - a lightweight const reference to character data you don't own.

  • AStaticVector


    Vector-like container up to maxSize elements inplace.

  • AString


    Owned UTF-8 string with rich conversion, parsing, and manipulation APIs.

  • AVector


    An std::vector with AUI extensions.

  • AException


    Abstract AUI exception.

  • AFatalException


    An exception that thrown when non-c++ unhandled error occurs (i.e. access violation).

  • ADeque


    A std::deque with AUI extensions.

  • AUuid


    Implements universally unique identifier (UUID)

  • ATimer


    Async timer.

  • AAbstractSignal


    Base class for signal.

  • AObject


    A base object class.

  • AChar


    Represents a single 32-bit char.

  • AColor


    Represents a 4-component floating point color (RGBA).

  • AColorHSV


    Represents a 3-component floating point color (HSV).

  • ABaseMap


    Base class for maps with AUI extensions.

  • AMap


    A std::map with AUI extensions.

  • AUnorderedMap


    A std::unordered_map with AUI extensions.

  • ASmallVector


    Vector-like container consisting of few elements on stack and switches to dynamic allocation vector if needed.

  • AI18n


    Provides i18n (internationalization) support.

  • ALanguageCode


    Represents a language code in ISO 639-1, for example, en-US or ru-RU

  • ALineSegment


    2D line segment.

  • ARect


    Axis aligned 2D rectangle.

  • AUrl


    Uniform Resource Locator implementation.

  • AUI_ENUM_FLAG


    Make a bitfield-style enum class.

  • ADynamicPipe


    An asynchronous buffer that converts an IInputStream to IOutputStream (and otherwise).

  • APipe


    A thread safe buffer that converts an IInputStream to IOutputStream (and otherwise).

  • APerformanceSection


    Defines performance profiling named (and colored) span within RAII range.

  • APerformanceFrame


    Defines beginning and ending of window frame by RAII.

  • aui::win32::BitmapMode


    HBITMAP to AImage.

  • AComBase


    Helper class implementing COM AddRef Release, and QueryInterface.

  • AComPtr


    Takes care of AddRef and Release() reference counting mechanism of COM objects.

  • AGlibPtr


    Takes care of g_object_ref and g_object_unref() reference counting mechanism of Glib objects.