StrBuf::operator <<( const StrPtr * )
Append a StrPtr to a StrBuf. The string
pointed to by the StrPtr's buffer is logically
appended to the string pointed to by the StrBuf's
buffer.
|
Virtual? |
No |
|
|
Class |
||
|
Arguments |
|
(implied) pointer to the |
|
Returns |
|
reference of the |
Notes
Exactly the number of bytes specified by the StrPtr's
length are appended to the StrBuf. The
StrBuf's length is incremented by the
StrPtr's length.
If the memory for the StrBuf's buffer is not
large enough, new contiguous memory is allocated to contain the results
of appending the StrPtr. If new memory is allocated, the old
memory is freed. Any memory allocated is separate from the memory for the
StrPtr.
Example
#include <iostream>
#include <stdhdrs.h>
#include <strbuf.h>
int main( int argc, char **argv )
{
StrRef sr( "zy" );
StrPtr *sp = &sr;
StrBuf sb;
sb.Set( "xyz" );
cout << "sb.Text() prior to sb << sp returns ";
cout << "\"" << sb.Text() << "\"\n";
cout << "sb.Length() prior to sb << sp returns ";
cout << sb.Length() << "\n\n";
sb << sp; // append StrPtr * to StrBuf
cout << "sb.Text() after sb << sp returns ";
cout << "\"" << sb.Text() << "\"\n";
cout << "sb.Length() after sb << sp returns ";
cout << sb.Length() << "\n";
}
Executing the preceding code produces the following output:
sb.Text() prior to sb << sp returns "xyz" sb.Length() prior to sb << sp returns 3 sb.Text() after sb << sp returns "xyzzy" sb.Length() after sb << sp returns 5






