carb
- 
namespace carb
- The main Carbonite namespace. - Namespace for all low level Carbonite functionality. 
Classes
- carb::Allocator: A class implementing the ' Allocator ' C++ Named Requirement. 
- carb::Deleter: Allocated object deleter helper class. 
- carb::EmptyMemberPair: Attempts to invoke the Empty Member Optimization by inheriting from the First element if possible, which, if empty will eliminate the storage necessary for an empty class; the Second element is always stored as a separate member. The First element is inherited from if it is an empty - class/- structand is not declared- final.
- carb::EventSubscribers: A class that manages subscribers. 
- carb::FrameworkInitializerForBindings: A helper class used by CARB_BINDINGS() to acquire and release the Framework for a binding. 
- carb::IObject: Reference-counted object base. 
- carb::ObjectPtr: Smart pointer type for ref counting - IObject.
- carb::RString: Carbonite registered strings. 
- carb::RStringKey: A registered string key. 
- carb::RStringU: Case-insensitive registered string. 
- carb::RStringUKey: A case-insensitive registered string key. 
- carb::UseCarbAllocatorAligned: An object can inherit from this class in order to use Carbonite allocation functions for creation/deletion. 
Enumerations
- carb::AcquireInterfaceFlags: Flags for use with carb::AcquireInterfaceOptions . 
- carb::BindingType: An enum that describes a binding registration for carb::Framework::registerScriptBinding() . 
- carb::LoadPluginResult: Result of loading a plugin. Used by carb::Framework::loadPlugin . Non-negative values indicated success. 
- carb::PluginHotReload: Defines the plugin hot reloading (auto reload) behavior. 
- carb::PluginReloadState: Lets clients of a plugin know both just before and just after that the plugin is being reloaded. 
- carb::PrefetchLevel: A prefetch level hint to pass to CARB_PREFETCH() 
- carb::RStringOp: Operations for RString (and variant classes) constructor. 
Functions
- carb::acquireFramework: Acquire the Carbonite framework for an application. 
- carb::acquireFrameworkAndRegisterBuiltins: Main acquisition of the Carbonite Framework for Clients (applications and plugins). 
- carb::acquireFrameworkForBindings: Undocumented. 
- carb::acquireInterfaceForBindings: A helper function for Framework::tryAcquireInterface() that attempts to load plugins if not found. 
- carb::acquireInterfaceFromLibraryForBindings: Helper for Framework::tryAcquireInterfaceFromLibrary() that throws on error. 
- carb::allocate: Allocates a block of memory. 
- carb::assertHandlerFallback: Assertion handler helper function. 
- carb::borrowObject: Helper function to create carb::ObjectPtr from a carb::IObject pointer by "borrowing" the pointer; that is, by increasing the reference count. 
- carb::carbGetSdkVersion: Retrieves the Carbonite SDK version string,. 
- carb::configureFramework: Configures the framework given a slew of input parameters. 
- carb::deallocate: Deallocates a block of memory previously allocated with allocate() . 
- carb::deleteHandler: Default handler for carb::IObject reaching zero references, which calls - delete.
- carb::findPlugins: Helper function to find plugins in a given list of search paths. 
- carb::fnv1aHash: Compile-time FNV-1a 64-bit hash, use with CARB_HASH_STRING macro. 
- carb::fromHexVersion: Converts a hex-version to a Version struct. 
- carb::getCachedInterface: Retrieves the specified interface as if from Framework::tryAcquireInterface() and caches it for fast retrieval. 
- carb::getCachedInterfaceForBindings: A helper function for carb::getCachedInterface() that throws on error. 
- carb::getFramework: Gets the Carbonite framework. 
- carb::hashBuffer: Runtime FNV-1a 64-bit byte hash. 
- carb::hashCombine: Combines two hashes producing better collision avoidance than XOR. 
- carb::hashLowercaseBuffer: Runtime FNV-1a 64-bit lower-case byte hash (as if the bytes had been converted using tolower() ). 
- carb::hashLowercaseString: Runtime FNV-1a 64-bit lower-case string hash (as if the string had been converted using tolower() ). 
- carb::hashPair: A helper function for combining two hash values. 
- carb::hashScalar: Runtime FNV-1a 64-bit hash of a scalar type. 
- carb::hashString: Runtime FNV-1a 64-bit string hash. 
- carb::hashUppercaseBuffer: Runtime FNV-1a 64-bit upper-case byte hash (as if the bytes had been converted using toupper() ). 
- carb::hashUppercaseString: Runtime FNV-1a 64-bit upper-case string hash (as if the string had been converted using toupper() ). 
- carb::isFrameworkValid: Returns - trueif the Carbonite framework has been created and is still alive. Creation happens at the first carb::acquireFramework() call and ends at any carb::releaseFramework() call.
- carb::isVersionSemanticallyCompatible: Checks two versions to see if they are semantically compatible. 
- carb::loadFrameworkConfiguration: Loads the framework configuration based on a slew of input parameters. 
- carb::loadPluginsFromPattern: Simple plugin loading function wrapper that loads plugins matching a single pattern. 
- carb::loadPluginsFromPatterns: Simple plugin loading function wrapper that loads plugins matching multiple patterns. 
- carb::operator!=: Inequality operator. 
- carb::operator<: Less-than comparison operator. 
- carb::operator<<: Global stream output operator for RStringUKey . 
- carb::operator<<: Global stream output operator for RStringKey . 
- carb::operator<<: Global stream output operator for RString . 
- carb::operator<<: Global stream output operator for RStringU . 
- carb::operator<=: Less-than-or-equal comparison operator. 
- carb::operator==: Equality operator. 
- carb::pluginDeinitialize: Function called automatically at plugin shutdown to de-initialize utilities within each plugin. 
- carb::pluginInitialize: Function called automatically at plugin startup to initialize utilities within each plugin. 
- carb::quickReleaseFrameworkAndTerminate: Releases the Carbonite framework immediately and exits the process, without running C/C++ atexit() registered functions or static destructors. 
- carb::reallocate: Reallocates a block of memory previously allocated with allocate() . 
- carb::releaseFramework: Releases the Carbonite framework immediately. 
- carb::releaseFrameworkAndDeregisterBuiltins: This function releases the Carbonite Framework . 
- carb::releaseFrameworkForBindings: Releases the Carbonite Framework for a script binding. 
- carb::resetCachedInterface: Resets any previously-cached interface of the given type and allows it to be acquired again. 
- carb::shutdownFramework: Tears down the Carbonite framework. 
- carb::startupFramework: Starts/Configures the framework given a slew of input parameters. 
- carb::stealObject: Helper function to create carb::ObjectPtr from a carb::IObject pointer by "stealing" the pointer; that is, without increasing the reference count. 
- carb::toHexVersion: Converts a Version struct to a hex-version. 
- carb::tolower: A fast table-based implementation of std::tolower for ASCII characters only. 
- carb::toupper: A fast table-based implementation of std::toupper for ASCII characters only. 
- carb::wrapInterfaceFunction: Wraps an interface function into a - std::function<>.
- carb::wrapInterfaceFunction: Wraps an interface function into a - std::function<>.
Namespaces
- carb::assert: Namespace for all assertion checking helpers and interfaces. 
- carb::assets: Namespace for carb.assets.plugin and related utilities. 
- carb::audio: Audio playback and capture. 
- carb::container: Carbonite container classes. 
- carb::cpp: Namespace for C++ standard library types after C++14 implemented and usable by C++14 compilers. 
- carb::cpp17: (Deprecated) Namespace for C++17 features using C++14 semantics. Use carb::cpp instead. 
- carb::cpp20: (Deprecated) Namespace for C++20 features using C++14 semantics. Use carb::cpp instead. 
- carb::crashreporter: Namespace for the crash reporter. 
- carb::delegate: Namespace for Carbonite delegate implementation. 
- carb::detail: Internal. 
- carb::dictionary: Namespace for carb::dictionary::IDictionary related interfaces and helpers. 
- carb::eventdispatcher: Namespace for carb.eventdispatcher.plugin and related utilities. 
- carb::events: Namespace for the carb.events plugin. 
- carb::extras: Common namespace for extra helper functions and classes. 
- carb::filesystem: Namespace for Carbonite FileSystem. 
- carb::input: Namespace for the carb.input plugin. 
- carb::l10n: Utilities for localizing text. 
- carb::launcher: Namespace for the Carbonite process launch helper interface. 
- carb::logging: Namespace for logging interfaces and utilities. 
- carb::math: Namespace for various math helper functions. 
- carb::options: Namespace for the options processing helper functions. 
- carb::process: Namespace for Carbonite process utilities. 
- carb::profiler: Namespace for carb.profiler and related utilities. 
- carb::settings: Namespace for carb::settings::ISettings interface and utilities. 
- carb::simplegui: Namespace for carb.simplegui plugin. 
- carb::stats: Namespace for the arbitrary statistics interface. 
- carb::tasking: Namespace for carb.tasking.plugin and related utilities. 
- carb::this_process: Namespace for utilities that operate on the current thread specifically. 
- carb::this_thread: Namespace for utilities that operate on the current thread specifically. 
- carb::thread: Namespace for all threading operations. 
- carb::time: Namespace for time utilities. 
- carb::tokens: Namespace for - ITokens.
- carb::variant: Namespace for carb.variant.plugin and related utilities. 
- carb::variant_literals: Namespace for carb.variant literal helpers. 
- carb::windowing: Namespace for Carbonite Windowing system. 
Structs
- carb::AcquireInterfaceOptions: A structure used with Framework::internalAcquireInterface() . Typically callers should use one of the adapter functions such as Framework::tryAcquireInterface() and not use this directly. 
- carb::Color: RGBA color with templated data type. 
- carb::ColorRgb: RGB - floatcolor.
- carb::ColorRgbDouble: RGB - doublecolor.
- carb::ColorRgba: RGBA - floatcolor.
- carb::ColorRgbaDouble: RGBA - doublecolor.
- carb::Double2: Two component - doublevector.
- carb::Double3: Three component - doublevector.
- carb::Double4: Four component - doublevector.
- carb::ErrorApi: The low-level API for interacting with the Carbonite error handling system. At the core, this system maintains a thread-specific error code and optional error message. 
- carb::FindPluginsArgs: Arguments that are passed to findPlugins() . 
- carb::Float2: Two component - floatvector.
- carb::Float3: Three component - floatvector.
- carb::Float4: Four component - floatvector.
- carb::Framework: Defines the framework for creating Carbonite applications and plugins. 
- carb::InitBoth: An empty class tag type used with EmptyMemberPair constructors. 
- carb::Int2: Two component - int32_tvector.
- carb::Int3: Three component - int32_tvector.
- carb::Int4: Four component - int32_tvector.
- carb::InterfaceDesc: Defines a descriptor for the plugin interface. 
- carb::PluginDesc: Defines a struct which contains all key information about a plugin loaded into memory. 
- carb::PluginFrameworkDesc: Pass to each plugin's OnPluginRegisterExFn during load. Allows the plugin to grab global Carbonite state such as the carb::Framework singleton. 
- carb::PluginImplDesc: Defines a descriptor for the plugin implementation, to be provided to the macro CARB_PLUGIN_IMPL. 
- carb::PluginLoadingDesc: Describes parameters for finding plugins on disk. Multiple search paths, matching wildcards, and exclusion wildcards can be specified. Used primarily by Framework::loadPlugins . 
- carb::PluginRegistrationDesc: Describes the different functions a plugin can define for use by carb::Framework . 
- carb::PluginRegistryEntry: Defines a struct to be filled by a plugin to provide the framework with all information about it. 
- carb::PluginRegistryEntry2: Defines a struct to be filled by a plugin to provide the framework with all information about it. This struct is automatically created and filled by the macro CARB_PLUGIN_IMPL. 
- carb::SharedHandle: Defines a shared object handle. 
- carb::StartupFrameworkDesc: Parameters passed to carb::startupFramework() . 
- carb::Uint2: Two component - uint32_tvector.
- carb::Uint3: Three component - uint32_tvector.
- carb::Uint4: Four component - uint32_tvector.
- carb::ValueInitFirst: An empty class tag type used with EmptyMemberPair constructors. 
- carb::Version: Defines a version consisting of a major and minor version. 
Typedefs
- carb::FindPluginsOnMatchedFn: Callback that is called when a candidate plugin file is located. 
- carb::FourCC: A representation that can combine four character codes into a single 32-bit value for quick comparison. 
- carb::GetFrameworkVersionFn: Required. Returns the plugin's required carb::Framework version. 
- carb::GetPluginDepsFn: Optional. Returns a static list of interfaces this plugin depends upon. 
- carb::LoadHookFn: Load Hook function. 
- carb::LoadHookHandle: A handle type for Framework::addLoadHook() and Framework::removeLoadHook() 
- carb::OnPluginPostShutdownFn: Optional. Called after OnPluginShutdownFn . 
- carb::OnPluginPreStartupFn: Optional. Called after OnPluginRegisterExFn . 
- carb::OnPluginQuickShutdownFn: Optional. Called if provided in lieu of OnPluginShutdownFn when the carb::quickReleaseFrameworkAndTerminate() is performing a quick shutdown. 
- carb::OnPluginRegisterEx2Fn: Either this or OnPluginRegisterEx2Fn or OnPluginRegisterFn are required. Populates the given carb::PluginRegistryEntry2 with the plugin's information. 
- carb::OnPluginRegisterExFn: Either this or OnPluginRegisterFn or OnPluginRegisterEx2 are required. Populates the given carb::PluginRegistryEntry with the plugin's information. 
- carb::OnPluginRegisterFn: Either this or OnPluginRegisterExFn or OnPluginRegisterEx2Fn are required. Populates the given carb::PluginRegistryEntry with the plugin's information. 
- carb::OnPluginShutdownFn: Optional. Called after OnPluginStartupExFn . 
- carb::OnPluginStartupExFn: Optional. Called after OnPluginPreStartupFn . 
- carb::OnPluginStartupFn: Optional. Called after OnPluginPreStartupFn . 
- carb::OnReloadDependencyFn: Optional. 
- carb::ReleaseHookFn: Release Hook function. 
- carb::UseCarbAllocator: An object can inherit from this class in order to use Carbonite allocation functions for creation/deletion. 
Variables
- carb::kCarb_FourCC: Four character code used to identify a PluginRegistrationDesc object that is likely to have further data provided in it. 
- carb::kFnvBasis: FNV-1a 64-bit hash basis. 
- carb::kFnvPrime: FNV-1a 64-bit hash prime. 
- carb::kFrameworkVersion: Defines the current version of the Carbonite framework. 
- carb::kInvalidLoadHook: A value indicating an invalid load hook handle. 
- carb::kTimeoutInfinite: Timeout constant.