30class EXPCL_PANDA_EXPRESS ISubStream :
public std::istream {
33 INLINE
explicit ISubStream(
IStreamWrapper *source, std::streampos start, std::streampos end);
36 INLINE ISubStream(
const ISubStream ©) =
delete;
39 INLINE ISubStream &
open(
IStreamWrapper *source, std::streampos start, std::streampos end);
40 INLINE ISubStream &
close();
55class EXPCL_PANDA_EXPRESS OSubStream :
public std::ostream {
58 INLINE
explicit OSubStream(
OStreamWrapper *dest, std::streampos start, std::streampos end,
bool append =
false);
61 INLINE OSubStream(
const OSubStream ©) =
delete;
64 INLINE OSubStream &
open(
OStreamWrapper *dest, std::streampos start, std::streampos end,
bool append =
false);
65 INLINE OSubStream &
close();
74class EXPCL_PANDA_EXPRESS SubStream :
public std::iostream {
77 INLINE
explicit SubStream(
StreamWrapper *nested, std::streampos start, std::streampos end,
bool append =
false);
80 INLINE SubStream(
const SubStream ©) =
delete;
83 INLINE SubStream &
open(
StreamWrapper *nested, std::streampos start, std::streampos end,
bool append =
false);
84 INLINE SubStream &
close();
This class provides a locking wrapper around an arbitrary istream pointer.
ISubStream & open(IStreamWrapper *source, std::streampos start, std::streampos end)
Starts the SubStream reading from the indicated source, with the first character being the character ...
ISubStream & close()
Resets the SubStream to empty, but does not actually close the source istream.
This class provides a locking wrapper around an arbitrary ostream pointer.
OSubStream & close()
Resets the SubStream to empty, but does not actually close the dest ostream.
OSubStream & open(OStreamWrapper *dest, std::streampos start, std::streampos end, bool append=false)
Starts the SubStream reading from the indicated dest, with the first character being the character at...
This class provides a locking wrapper around a combination ostream/istream pointer.
The streambuf object that implements ISubStream.
SubStream & close()
Resets the SubStream to empty, but does not actually close the nested ostream.
SubStream & open(StreamWrapper *nested, std::streampos start, std::streampos end, bool append=false)
Starts the SubStream reading and writing from the indicated nested stream, within the indicated range...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.