clingo
|
Stores two sequences in one contiguous memory block. More...
#include <left_right_sequence.h>
Public Types | |
typedef bk_lib::detail::select_base< L, R, i >::type | base_type |
typedef base_type::left_type | left_type |
typedef base_type::right_type | right_type |
typedef base_type::size_type | size_type |
typedef base_type::align_type | align_type |
typedef base_type::max_type | max_type |
typedef base_type::buf_type | buf_type |
typedef base_type::left_iterator | left_iterator |
typedef base_type::const_left_iterator | const_left_iterator |
typedef base_type::right_iterator | right_iterator |
typedef base_type::const_right_iterator | const_right_iterator |
Public Member Functions | |
left_right_sequence () | |
left_right_sequence (const left_right_sequence &other) | |
~left_right_sequence () | |
left_right_sequence & | operator= (const left_right_sequence &) |
void | try_shrink () |
void | move (left_right_sequence &other) |
Stores two sequences in one contiguous memory block.
The left sequence grows from left to right, while the right sequence grows from right to left. On overlap, the memory block is automatically extended.
L | value type of left sequence |
R | value type of right sequence |
i | max size on stack |
typedef base_type::align_type bk_lib::left_right_sequence< L, R, i >::align_type |
typedef bk_lib::detail::select_base<L, R, i>::type bk_lib::left_right_sequence< L, R, i >::base_type |
typedef base_type::buf_type bk_lib::left_right_sequence< L, R, i >::buf_type |
typedef base_type::const_left_iterator bk_lib::left_right_sequence< L, R, i >::const_left_iterator |
typedef base_type::const_right_iterator bk_lib::left_right_sequence< L, R, i >::const_right_iterator |
typedef base_type::left_iterator bk_lib::left_right_sequence< L, R, i >::left_iterator |
typedef base_type::left_type bk_lib::left_right_sequence< L, R, i >::left_type |
typedef base_type::max_type bk_lib::left_right_sequence< L, R, i >::max_type |
typedef base_type::right_iterator bk_lib::left_right_sequence< L, R, i >::right_iterator |
typedef base_type::right_type bk_lib::left_right_sequence< L, R, i >::right_type |
typedef base_type::size_type bk_lib::left_right_sequence< L, R, i >::size_type |
|
inline |
bk_lib::left_right_sequence< L, R, i >::left_right_sequence | ( | const left_right_sequence< L, R, i > & | other | ) |
|
inline |
|
inline |
left_right_sequence< L, R, i > & bk_lib::left_right_sequence< L, R, i >::operator= | ( | const left_right_sequence< L, R, i > & | other | ) |
|
inline |