emplaceAndMoveToFrontDispatch overloads

Synopses

Declared in <bslalg_dequeprimitives.h>

Insert at the specified position a newly created VALUE_TYPE object, constructed by forwarding the specified allocator (if required) and the specified (variable number of) arguments to the corresponding constructor of VALUE_TYPE, and move the elements in the range [fromBegin .. position)] backward by 1 position. Load into the specified toBegin an iterator to the inserted element (i.e., fromBegin ‐ 1). The behavior is undefined unless fromBegin ‐ 1 is a valid iterator (i.e., the block pointer array holds enough room before the fromBegin position to insert 1 element). Note that the next to last argument is for removing overload ambiguities and is not used.

template<
    class ALLOCATOR,
    class... Args>
static
void
emplaceAndMoveToFrontDispatch(
    Iterator* toBegin,
    Iterator fromBegin,
    Iterator position,
    ALLOCATOR allocator,
    bsl::integral_constant<int, BSLALG_DEQUEPRIMITIVES_BITWISE_COPYABLE_TRAITS>,
    Args&&... arguments);

Same as the related overload above for emplaceAndMoveToFrontDispatch.

template<
    class ALLOCATOR,
    class... Args>
static
void
emplaceAndMoveToFrontDispatch(
    Iterator* toBegin,
    Iterator fromBegin,
    Iterator position,
    ALLOCATOR allocator,
    bsl::integral_constant<int, BSLALG_DEQUEPRIMITIVES_BITWISE_MOVEABLE_TRAITS>,
    Args&&... arguments);

Same as the related overload above for emplaceAndMoveToFrontDispatch.

template<
    class ALLOCATOR,
    class... Args>
static
void
emplaceAndMoveToFrontDispatch(
    Iterator* toBegin,
    Iterator fromBegin,
    Iterator position,
    ALLOCATOR allocator,
    bsl::integral_constant<int, BSLALG_DEQUEPRIMITIVES_NIL_TRAITS>,
    Args&&... arguments);

Created with MrDocs