carb::extras
-
namespace extras
Common namespace for extra helper functions and classes.
Classes
carb::extras::Base64: Encoder and decoder helper for Base64 data.
carb::extras::CpuInfo: Helper class for gathering and querying CPU information for x86 and x64 CPUs.
carb::extras::EnvironmentVariable: Defines an environment variable class that allows one to get, set, and restore value on destruction.
carb::extras::EnvironmentVariableParser: Parses environment variables into program options or environment variables.
carb::extras::HandleDatabase: Provides an OS-style mapping of a Handle to a Resource.
carb::extras::Path: Path objects are used for filesystem path manipulations.
carb::extras::SharedMemory: A utility helper class to provide shared memory access to one or more processes.
carb::extras::Utf8Iterator: A simple iterator class for walking a UTF-8 string.
carb::extras::Utf8Parser: Static helper class to allow for the processing of UTF-8 strings.
carb::extras::Uuid: UUIDv4 Unique Identifier (RFC 4122)
Enumerations
carb::extras::MemoryQueryType: The type of memory to query.
carb::extras::MemoryScaleType: Names for the different types of common memory scales.
Functions
carb::extras::adjustWindowsDllSearchPaths: (Windows only) Sets the default DLL search directories for the application.
carb::extras::compareStrings: Compare two strings in a case sensitive manner.
carb::extras::compareStringsNoCase: Compare two strings in a case insensitive manner.
carb::extras::convertCarboniteToWindowsPath: (Windows only) Converts a UTF-8 file path to Windows system file path.
carb::extras::convertErrnoToMessage: Returns a human-readable string for a given errno value.
carb::extras::convertUtf16StringToUtf8: Convert a UTF-16 encoded string to UTF-8.
carb::extras::convertUtf16StringToUtf8: Convert a UTF-16 encoded string to UTF-8.
carb::extras::convertUtf16StringToUtf8: Convert a UTF-8 encoded string to UTF-32.
carb::extras::convertUtf32StringToUtf8: Convert a UTF-32 encoded string to UTF-8.
carb::extras::convertUtf32StringToUtf8: Convert a UTF-8 encoded string to UTF-32.
carb::extras::convertUtf32StringToUtf8: Convert a UTF-32 encoded string to UTF-8.
carb::extras::convertUtf8StringToUtf16: Convert a UTF-8 encoded string to UTF-16.
carb::extras::convertUtf8StringToUtf16: Convert a UTF-8 encoded string to UTF-16.
carb::extras::convertUtf8StringToUtf16: Convert a UTF-8 encoded string to UTF-16.
carb::extras::convertUtf8StringToUtf32: Convert a UTF-8 encoded string to UTF-32.
carb::extras::convertUtf8StringToUtf32: Convert a UTF-8 encoded string to UTF-32.
carb::extras::convertUtf8StringToUtf32: Convert a UTF-8 encoded string to UTF-32.
carb::extras::convertUtf8StringToWide: Convert a UTF-8 encoded string to wide string.
carb::extras::convertUtf8StringToWide: Convert a UTF-8 encoded string to UTF-16.
carb::extras::convertUtf8StringToWide: Convert a UTF-8 encoded string to wide.
carb::extras::convertWideStringToUtf8: Convert a UTF-8 encoded string to UTF-16.
carb::extras::convertWideStringToUtf8: Convert a wide encoded string to UTF-8 string.
carb::extras::convertWideStringToUtf8: Convert a UTF-8 encoded string to wide.
carb::extras::convertWinApiErrorCodeToMessage: (Windows only) Converts a Win32 API error code into a human-readable string.
carb::extras::convertWindowsToCarbonitePath: (Windows only) Converts Windows system file path to a UTF-8 file path.
carb::extras::copyStringSafe: Copy a string with optional truncation.
carb::extras::copyStringSafe: Copy slice of string with optional truncation.
carb::extras::createLibraryNameForModule: Creates a full library name from a module's base name.
carb::extras::debugBacktrace: Attempts to capture the callstack for the current thread.
carb::extras::debugPrint: Prints a formatted string to debug output.
carb::extras::debuggerBreak: Performs a software breakpoint if a debugger is currently attached to this process.
carb::extras::fixWindowsPathPrefix: (Windows only) Performs fixup on a Windows file path by adding or removing the long path prefix as necessary.
carb::extras::formatString: A snprintf wrapper that clamps the return value.
carb::extras::formatStringV: A vsnprintf wrapper that clamps the return value.
carb::extras::getAppPathAndName: Determines application path and name.
carb::extras::getCurrentProcessMemoryUsage: Retrieve the physical memory usage by the current process.
carb::extras::getDefaultLibraryExtension: Retrieves the default library file extension for the current platform.
carb::extras::getDefaultLibraryPrefix: Retrieves the default library file prefix for the current platform.
carb::extras::getDistroName: Retrieves the platform distro name.
carb::extras::getFriendlyMemorySize: Retrieves a friendly memory size and scale suffix for a given number of bytes.
carb::extras::getLastErrno: Returns the last value of errno.
carb::extras::getLastErrnoMessage: Reads the current value of
errno
and returns a human-readable string for the errno value.carb::extras::getLastLoadLibraryError: Retrieves a string explaining the most recent library load failure cause.
carb::extras::getLastWinApiErrorCode: Platform specific functions ///.
carb::extras::getLastWinApiErrorMessage: (Windows only) Reads the value of
GetLastError()
and converts it to a human-readable string.carb::extras::getLibraryDirectory: Retrieves the parent directory of the library containing a given address or symbol.
carb::extras::getLibraryDirectoryByHandle: Retrieves the parent directory of a library.
carb::extras::getLibraryFilename: Retrieves the path for a loaded library from an address or symbol within it.
carb::extras::getLibraryFilenameByHandle: Retrieves the path for a loaded library from its handle.
carb::extras::getLibraryHandle: Retrieves the handle for a loaded library from an address or symbol within it.
carb::extras::getLibraryHandleByFilename: Attempts to retrieve a library's handle by its filename.
carb::extras::getLibrarySymbol: Attempts to retrieve the address of a symbol from a loaded module.
carb::extras::getMemorySizeMultiplier: Retrieves the memory size multiplier from a value suffix.
carb::extras::getMemoryValueByName: Retrieves a memory value by its key name in '/proc/meminfo' or other.
carb::extras::getPathExtension: Helper function to get a Path object representing the extension part of the provided string representation of a path.
carb::extras::getPathParent: Helper function to get a Path object representing parent directory for the provided string representation of a path.
carb::extras::getPathRelative: Helper function to calculate a relative path from a provided path and a base path.
carb::extras::getPathStem: Helper function to get a Path object representing the stem part of the provided string representation of a path.
carb::extras::getPeakProcessMemoryUsage: Retrieves the peak memory usage information for the calling process.
carb::extras::getPhysicalMemory: Retrieve the physical memory available on the system.
carb::extras::getStringFromMapOrEnvVar: Helper function that reads string value form the string map or the environment variable, if map doesn't hold such key.
carb::extras::getSystemMemoryInfo: Retrieves the memory usage information for the system.
carb::extras::getWindowsCanonicalPath: (Windows only) Converts Windows path string into a canonical form.
carb::extras::getWindowsFullPath: (Windows only) Retrieves the full path and file name of the specified file.
carb::extras::isCiEnvironment: Checks if this process is running under a CI system such as TeamCity or GitLab.
carb::extras::isDebuggerAttached: Checks if a debugger is attached to the calling process.
carb::extras::isMemoryOverlap: Check if two memory regions overlaps.
carb::extras::isRunningOnCentos: Checks whether the calling process is running on CentOS.
carb::extras::isRunningOnUbuntu: Checks whether the calling process is running on Ubuntu.
carb::extras::isStringPrefix: Test if one string is a prefix of the other.
carb::extras::isTestEnvironment: Queries whether the calling process is the Carbonite unit tests.
carb::extras::loadLibrary: Attempts to load a named library into the calling process.
carb::extras::operator!=: Tests inequality between HandleRef and
nullptr
.carb::extras::operator!=: Tests inequality between HandleRef and
nullptr
.carb::extras::operator!=: Inequality operator.
carb::extras::operator!=: Inequality operator.
carb::extras::operator+: Concatenation operator.
carb::extras::operator+: Concatenation operator.
carb::extras::operator+: Concatenation operator.
carb::extras::operator+: Concatenation operator.
carb::extras::operator+: Concatenation operator.
carb::extras::operator+: Concatenation operator.
carb::extras::operator+: Concatenation operator.
carb::extras::operator/: Join operator.
carb::extras::operator==: Equality operator.
carb::extras::operator==: Tests equality between HandleRef and
nullptr
.carb::extras::operator==: Equality operator.
carb::extras::operator==: Tests equality between HandleRef and
nullptr
.carb::extras::registerPathAlias: Registers a new path string alias for replacement with resolvePathAliases() .
carb::extras::resolvePathAliases: Replaces path alias markers in a path with the full names.
carb::extras::unloadLibrary: Unloads a loaded library.
carb::extras::unregisterPathAlias: Unregisters a path string alias.
carb::extras::withFormatNV: Formats as with vsnprintf() and calls a Callable with the result and the size.
carb::extras::withFormatV: Formats as with vsnprintf() and calls a Callable with the result.
Structs
carb::extras::ConstHandleRef: A smart-reference class for a Handle associated with a HandleDatabase .
carb::extras::HandleRef: A smart-reference class for a Handle associated with a HandleDatabase .
carb::extras::SystemMemoryInfo: Stores information about memory in the system.
Typedefs
carb::extras::ErrnoType: The decayed type of
errno
carb::extras::LibraryFlags: Base type for the flags to control how libraries are loaded.
carb::extras::LibraryHandle: Handle to a loaded library.
carb::extras::ScopedHandleRef: Deprecated: Use HandleRef instead.
carb::extras::WinApiErrorType: (Windows only) The type of value returned from
GetLastError()
Variables
carb::extras::fLibFlagDeepBind: Flag to indicate that the symbols in the library being loaded should be linked to first and take precedence over global scope symbols of the same name from other libraries.
carb::extras::fLibFlagLoadExisting: Flag to indicate that a valid library handle should only be returned if the requested library was already loaded into the process.
carb::extras::fLibFlagMakeFullLibName: Flag to indicate that only the module's base name was given and that the full name should be constructed using createLibraryNameForModule() before attempting to load the library.
carb::extras::fLibFlagNow: Flag to indicate that the library should be fully loaded and linked immediately.
carb::extras::fLibFlagPin: Flag to indicate that the library should be "pinned"; that is, it should stay loaded until the process is terminated.
carb::extras::kInvalidLibraryHandle: A value representing an invalid library handle.