| Home | Libraries | People | FAQ | More

## Function erase_head_copy

boost::algorithm::erase_head_copy — Erase head algorithm.

## Synopsis

    template<typename OutputIteratorT, typename RangeT>
      OutputIteratorT
      erase_head_copy(OutputIteratorT Output, const RangeT & Input, int N);
    template<typename SequenceT>
      SequenceT erase_head_copy(const SequenceT & Input, int N);

## Description

Remove the head from the input. The head is a prefix of a sequence of given size. If the sequence is shorter then required, the whole string is considered to be the head. The result is a modified copy of the input. It is returned as a sequence or copied to the output iterator.

Parameters: |
`Input` | An input string
`N` | Length of the head. For N>=0, at most N characters are extracted. For N<0, size(Input)-|N| characters are extracted.
`Output` | An output iterator to which the result will be copied
Returns: | An output iterator pointing just after the last inserted character or a modified copy of the input
Notes: | The second variant of this function provides the strong exception-safety guarantee