#include <String_IOStream.h>


Public Types | |
| typedef BasicBufferedStreamBuffer < ACE_CHAR_T, TR > | super |
| typedef super::char_type | char_type |
| typedef super::openmode | openmode |
| typedef ACE_String_Base < ACE_CHAR_T > | string_type |
| typedef string_type::size_type | size_type |
| typedef super::pos_type | pos_type |
| typedef super::off_type | off_type |
| typedef super::seekdir | seekdir |
Public Member Functions | |
| String_StreamBufferBase (openmode mode) | |
| String_StreamBufferBase (string_type &string, openmode mode) | |
| virtual | ~String_StreamBufferBase () |
| const string_type & | str () const |
| void | close_string () |
| void | clear_string () |
Protected Member Functions | |
| virtual int | read_from_stream (char_type *buffer, std::streamsize length) |
| virtual int | write_to_stream (const char_type *buffer, std::streamsize length) |
| virtual pos_type | seekoff (off_type off, seekdir way, openmode which) |
| virtual pos_type | seekpos (pos_type pos, openmode which) |
Private Types | |
| enum | { BUFFER_SIZE = 1024 } |
Private Attributes | |
| string_type | string_ |
| string_type * | string_ref_ |
| size_type | rd_ptr_ |
Definition at line 33 of file String_IOStream.h.
| typedef super::char_type ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::char_type |
Reimplemented from ACE::IOS::BasicBufferedStreamBuffer< ACE_CHAR_T, TR >.
Definition at line 38 of file String_IOStream.h.
| typedef super::off_type ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::off_type |
Reimplemented from ACE::IOS::BasicBufferedStreamBuffer< ACE_CHAR_T, TR >.
Definition at line 43 of file String_IOStream.h.
| typedef super::openmode ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::openmode |
Reimplemented from ACE::IOS::BasicBufferedStreamBuffer< ACE_CHAR_T, TR >.
Definition at line 39 of file String_IOStream.h.
| typedef super::pos_type ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::pos_type |
Reimplemented from ACE::IOS::BasicBufferedStreamBuffer< ACE_CHAR_T, TR >.
Definition at line 42 of file String_IOStream.h.
| typedef super::seekdir ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::seekdir |
Reimplemented from ACE::IOS::BasicBufferedStreamBuffer< ACE_CHAR_T, TR >.
Definition at line 44 of file String_IOStream.h.
| typedef string_type::size_type ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::size_type |
Definition at line 41 of file String_IOStream.h.
| typedef ACE_String_Base<ACE_CHAR_T> ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::string_type |
Definition at line 40 of file String_IOStream.h.
| typedef BasicBufferedStreamBuffer<ACE_CHAR_T, TR> ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::super |
Definition at line 37 of file String_IOStream.h.
anonymous enum [private] |
| ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::String_StreamBufferBase | ( | openmode | mode | ) |
Definition at line 18 of file String_IOStream.cpp.
: BasicBufferedStreamBuffer<ACE_CHAR_T, TR> (BUFFER_SIZE, mode),
string_ref_ (&string_),
rd_ptr_ (0)
{
}
| ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::String_StreamBufferBase | ( | string_type & | string, | |
| openmode | mode | |||
| ) |
Definition at line 26 of file String_IOStream.cpp.
: BasicBufferedStreamBuffer<ACE_CHAR_T, TR> (BUFFER_SIZE, mode),
string_ref_ (&string),
rd_ptr_ (0)
{
}
| ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::~String_StreamBufferBase | ( | ) | [virtual] |
Definition at line 34 of file String_IOStream.cpp.
{
}
| void ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::clear_string | ( | ) |
Definition at line 89 of file String_IOStream.cpp.
{
this->sync ();
this->string_ref_->clear ();
}
| void ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::close_string | ( | ) |
Definition at line 82 of file String_IOStream.cpp.
{
this->sync ();
this->string_ref_ = 0;
}
| int ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::read_from_stream | ( | char_type * | buffer, | |
| std::streamsize | length | |||
| ) | [protected, virtual] |
Reimplemented from ACE::IOS::BasicBufferedStreamBuffer< ACE_CHAR_T, TR >.
Definition at line 96 of file String_IOStream.cpp.
{
int n = 0;
if (this->string_ref_)
{
if ((this->rd_ptr_ + length) > this->string_ref_->length ())
{
length = this->string_ref_->length () - this->rd_ptr_;
}
ACE_OS::memmove (buffer, &(*this->string_ref_)[this->rd_ptr_], length * sizeof (char_type));
this->rd_ptr_ += length;
n = ACE_Utils::truncate_cast<int> (length);
}
return n;
}
| String_StreamBufferBase< ACE_CHAR_T, TR >::pos_type ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::seekoff | ( | off_type | off, | |
| seekdir | way, | |||
| openmode | which | |||
| ) | [protected, virtual] |
Definition at line 40 of file String_IOStream.cpp.
{
if (which != this->get_mode () || which == std::ios::out)
return pos_type (-1);
size_type spos = 0;
if (way == std::ios::cur)
spos = this->rd_ptr_;
else if (way == std::ios::end)
spos = this->string_ref_->length ();
spos += off;
if (spos < this->string_ref_->length ())
this->rd_ptr_ = spos;
else
this->rd_ptr_ = this->string_ref_->length ();
this->setg (this->eback (), this->eback (), this->eback ());
return pos_type (this->rd_ptr_);
}
| String_StreamBufferBase< ACE_CHAR_T, TR >::pos_type ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::seekpos | ( | pos_type | pos, | |
| openmode | which | |||
| ) | [protected, virtual] |
Definition at line 66 of file String_IOStream.cpp.
| const String_StreamBufferBase< ACE_CHAR_T, TR >::string_type & ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::str | ( | ) | const |
Definition at line 75 of file String_IOStream.cpp.
{
const_cast<String_StreamBufferBase<ACE_CHAR_T, TR>*> (this)->sync ();
return *this->string_ref_;
}
| int ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::write_to_stream | ( | const char_type * | buffer, | |
| std::streamsize | length | |||
| ) | [protected, virtual] |
Reimplemented from ACE::IOS::BasicBufferedStreamBuffer< ACE_CHAR_T, TR >.
Definition at line 113 of file String_IOStream.cpp.
{
int n = 0;
if (this->string_ref_)
{
this->string_ref_->append (buffer, length);
n = ACE_Utils::truncate_cast<int> (length);
}
return n;
}
size_type ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::rd_ptr_ [private] |
Definition at line 76 of file String_IOStream.h.
string_type ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::string_ [private] |
Definition at line 74 of file String_IOStream.h.
string_type* ACE::IOS::String_StreamBufferBase< ACE_CHAR_T, TR >::string_ref_ [private] |
Definition at line 75 of file String_IOStream.h.
1.7.0