|
Flow 2.0.0
Flow project: Public API.
|
Classes | |
| struct | flow::util::Clear_on_alloc |
| Tag type used at least in Basic_blob and Blob_with_log_context to specify that an allocated buffer be zeroed. More... | |
| class | flow::util::Basic_blob< Allocator, SHARING > |
A hand-optimized and API-tweaked replacement for vector<uint8_t>, i.e., buffer of bytes inside an allocated area of equal or larger size; also optionally supports limited garbage-collected memory pool functionality and SHM-friendly custom-allocator support. More... | |
Namespaces | |
| namespace | flow |
| Catch-all namespace for the Flow project: A collection of various production-quality modules written in modern C++17, originally by ygoldfel. | |
| namespace | flow::util |
| Flow module containing miscellaneous general-use facilities that don't fit into any other Flow module. | |
Functions | |
| template<typename Allocator , bool SHARING> | |
| void | flow::util::swap (Basic_blob< Allocator, SHARING > &blob1, Basic_blob< Allocator, SHARING > &blob2, log::Logger *logger_ptr=nullptr) noexcept |
Equivalent to blob1.swap(blob2). More... | |
| template<typename Allocator , bool SHARING> | |
| bool | flow::util::blobs_sharing (const Basic_blob< Allocator, SHARING > &blob1, const Basic_blob< Allocator, SHARING > &blob2) |
Returns true if and only if both given objects are not zero() == true, and they either co-own a common underlying buffer, or are the same object. More... | |