|
Flow
Documentation for the Flow C++ Library
|
#include <cassert>#include <iterator>#include <memory>Go to the source code of this file.
Namespaces | |
| namespace | flow |
Functions | |
| template<typename AllocatorType, std::input_iterator InputIt, std::forward_iterator OutputIt> | |
| OutputIt | flow::uninitializedForward (AllocatorType &allocator, InputIt first, InputIt last, OutputIt dest) |
| Forward elements from a source range to uninitialized memory. | |
| template<typename AllocatorType, std::input_iterator InputIt, std::forward_iterator OutputIt> | |
| OutputIt | flow::uninitializedMove (AllocatorType &allocator, InputIt first, InputIt last, OutputIt dest) noexcept |
| Moves elements from a source range to uninitialized memory. | |
| template<typename AllocatorType, std::forward_iterator OutputIt, typename ... Args> | |
| OutputIt | flow::uninitializedEmplace (AllocatorType &allocator, OutputIt first, OutputIt last, const Args &... args) |
| Constructs objects in uninitialized memory by copying arguments to their constructor. Intentional copy of arguments to prevent reuse of moved objects. | |
| template<typename AllocatorType, std::forward_iterator OutputIt, typename T> | |
| OutputIt | flow::uninitializedFill (AllocatorType &allocator, OutputIt first, OutputIt last, const T &value) |
| Fills uninitialized memory with copies of a value. | |
| template<typename AllocatorType, std::forward_iterator InputIt> | |
| void | flow::destroyElements (AllocatorType &allocator, InputIt first, InputIt last) noexcept |
| Destroys a range of constructed objects in memory. | |
| template<typename AllocatorType, std::input_iterator InputIt, std::forward_iterator OutputIt> | |
| OutputIt | flow::uninitializedForwardN (AllocatorType &allocator, InputIt first, std::size_t count, OutputIt dest) |
| Forward count elements from a source range to uninitialized memory. | |
| template<typename AllocatorType, std::input_iterator InputIt, std::forward_iterator OutputIt> | |
| OutputIt | flow::uninitializedMoveN (AllocatorType &allocator, InputIt first, std::size_t count, OutputIt dest) noexcept |
| Moves count elements from a source range to uninitialized memory. | |
| template<typename AllocatorType, std::forward_iterator OutputIt, typename ... Args> | |
| OutputIt | flow::uninitializedEmplaceN (AllocatorType &allocator, OutputIt first, std::size_t count, const Args &... args) |
| Constructs a specified number of objects in uninitialized memory by copying constructor arguments. Intentional copy of arguments to prevent reuse of moved objects. | |
| template<typename AllocatorType, std::forward_iterator OutputIt, typename T> | |
| OutputIt | flow::uninitializedFillN (AllocatorType &allocator, OutputIt first, std::size_t count, const T &value) |
| Fills count elements in uninitialized memory with a value. | |
| template<typename AllocatorType, std::forward_iterator InputIt> | |
| void | flow::destroyElementsN (AllocatorType &allocator, InputIt first, std::size_t count) noexcept |
| Destroys count objects in a range. | |
| template<typename AllocatorType, typename T> | |
| void | flow::deleteBuffer (AllocatorType &allocator, T *buffer, std::size_t size, std::size_t capacity) noexcept |
| Destroys and deallocates the buffer. | |
| template<typename T, typename U> | |
| std::size_t | flow::pointerDistance (const T *first, const U *last) |
| Calculate the distance in bytes from the first pointer to the last pointer. | |
| template<typename Header> | |
| Header * | flow::alignWithHeader (std::size_t alignment, std::size_t size, void *&buffer, std::size_t &capacity) noexcept |
| Align the header + buffer to their corresponding alignments. If the capacity is not big enough, returns nullptr. | |