DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

copy(3C++)


copy -- copy an array to a new location

Synopsis

   template <class *gt>
   void copy(T* b1,T* e1,T* b2);

Assumptions

(1) The output array has at least as many cells as the input array.

(2) T has operator=.

Description

Moves the contents of every cell in the array starting at b1 into the array starting at b2.

Complexity

If N is the size of the array, then complexity is O(N). Exactly N assignments are done unless b1 is equal to b2, in which case no assignments are done.

Notes

copy is the only function that allows input and output arrays to overlap; in particular, none of the "copy versions" (functions with their c suffix) allows overlap. Since copy allows the input array to be changed, the parameters b1 and e1 have type T*, rather than const T*.

Because a Block (see Block(3C++)) can always be used wherever an array is called for, Array Algorithms can also be used with Blocks. In fact, these two components were actually designed to be used together.

References

   Array_alg(3C++)
   Block(3C++)

© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004