chsvlib
chsv helper source code

◆ copy()

OutputIterator Chusov::Memory::copy ( InputIterator  start,
InputIterator  end,
OutputIterator  output 
)
noexcept

Copy-assigns a sequence of elements addressed by a pair of input iterators to a destination specified by an output iterator.

Template Parameters
InputIteratorThe type of an input iterator which addresses the input sequence of elements to copy.
OutputIteratorThe type of an output iterator specifying the destination of the copy operation.
Parameters
startThe input iterator associated with the beginning of the input sequence of elements to copy.
endThe input iterator associated with the past-the-end position of the input sequence.
outputThe output iterator.
Returns
The output iterator after the copy operation, i.e. the iterator associated with the position in the destination after the last copied element, or output, if the input sequence is empty.
Exceptions
Anyexception that originates from copy-assignment of the sequence elements.

The function behaves exactly like the standard std::copy except that the input and output sequences must not overlap in memory.

If the copy-assignment is direct, i.e. dereferencing of the output iterator yields an actual address in memory rather than some proxy, and the assignment used is defined for two objects of the type T, then the output sequence must contain valid elements of the type T prior to the operation, i.e. the destination memory must not be uninitialized. To copy into uninitialized memory, use construct_copy.

Examples
chsvmath\algebraic_traits.cpp.