pstore2
Classes | Functions
chunked_sequence.hpp File Reference

Defines the chunked_sequence<> container. More...

#include <algorithm>
#include <array>
#include <cassert>
#include <list>
#include "pstore/adt/pointer_based_iterator.hpp"
#include "pstore/support/assert.hpp"
#include "pstore/support/inherit_const.hpp"
Include dependency graph for chunked_sequence.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  pstore::chunked_sequence< T, ElementsPerChunk, ActualSize, ActualAlign >
 Chunked-sequence is a sequence-container which uses a list of large blocks ("chunks") to ensure very fast append times at the expense of only permitting bi-directional iterators: random access is not supported, unlike std::deque<> or std::vector<>. More...
 
struct  pstore::details::value_type< T, IsConst >
 Yields either 'T' or 'T const' depending on the value is IsConst. More...
 
class  pstore::chunked_sequence< T, ElementsPerChunk, ActualSize, ActualAlign >::chunk
 

Functions

template<typename T , std::size_t ElementsPerChunk, std::size_t ActualSize, std::size_t ActualAlign>
void std::swap (pstore::chunked_sequence< T, ElementsPerChunk, ActualSize, ActualAlign > &lhs, pstore::chunked_sequence< T, ElementsPerChunk, ActualSize, ActualAlign > &rhs) noexcept
 

Detailed Description

Defines the chunked_sequence<> container.

chunked_sequence<> ensures very fast append times at the expense of only permitting bi-directional iterators. Insertion preserves iterators.