Flow 1.0.1
Flow project: Full implementation reference.
Namespaces | Typedefs | Functions
blob_fwd.hpp File Reference
#include "flow/log/log_fwd.hpp"
#include <memory>

Go to the source code of this file.

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.
 

Typedefs

using flow::util::Blob_sans_log_context = Basic_blob<>
 Short-hand for a Basic_blob that allocates/deallocates in regular heap and is itself assumed to be stored in heap or on stack; sharing feature compile-time-disabled (with perf boost as a result). More...
 
using flow::util::Sharing_blob_sans_log_context = Basic_blob< std::allocator< uint8_t >, true >
 Identical to Blob_sans_log_context but with sharing feature compile-time-enabled. More...
 
using flow::util::Blob = Blob_with_log_context<>
 A concrete Blob_with_log_context that compile-time-disables Basic_blob::share() and the sharing API derived from it. More...
 
using flow::util::Sharing_blob = Blob_with_log_context< true >
 A concrete Blob_with_log_context that compile-time-enables Basic_blob::share() and the sharing API derived from it. More...
 

Functions

template<typename Allocator , bool S_SHARING_ALLOWED>
bool flow::util::blobs_sharing (const Basic_blob< Allocator, S_SHARING_ALLOWED > &blob1, const Basic_blob< Allocator, S_SHARING_ALLOWED > &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...
 
template<typename Allocator , bool S_SHARING_ALLOWED>
void flow::util::swap (Basic_blob< Allocator, S_SHARING_ALLOWED > &blob1, Basic_blob< Allocator, S_SHARING_ALLOWED > &blob2, log::Logger *logger_ptr=0)
 Equivalent to blob1.swap(blob2). More...
 
template<bool S_SHARING_ALLOWED>
void flow::util::swap (Blob_with_log_context< S_SHARING_ALLOWED > &blob1, Blob_with_log_context< S_SHARING_ALLOWED > &blob2)
 On top of the similar Basic_blob related function, logs using the stored log context of blob1. More...