\hypertarget{class_ogre_1_1_memory_data_stream}{}\section{Ogre\+:\+:Memory\+Data\+Stream Class Reference}
\label{class_ogre_1_1_memory_data_stream}\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}


Common subclass of \hyperlink{class_ogre_1_1_data_stream}{Data\+Stream} for handling data from chunks of memory.  




{\ttfamily \#include $<$Ogre\+Data\+Stream.\+h$>$}



Inheritance diagram for Ogre\+:\+:Memory\+Data\+Stream\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=224pt]{class_ogre_1_1_memory_data_stream__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{class_ogre_1_1_data_stream_a81856582e643b4a560e6c3d3ad05e08c}{Access\+Mode} \{ \hyperlink{class_ogre_1_1_data_stream_a81856582e643b4a560e6c3d3ad05e08cac5f9d1587e9cc7dd1577af114dcba50e}{R\+E\+AD} = 1, 
\hyperlink{class_ogre_1_1_data_stream_a81856582e643b4a560e6c3d3ad05e08ca8e221ca82d405d21d275997fbd3eb900}{W\+R\+I\+TE} = 2
 \}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_memory_data_stream_a7a5fae42889b71b7c1999c315af508cb}{Memory\+Data\+Stream} (void $\ast$p\+Mem, size\+\_\+t \hyperlink{class_ogre_1_1_data_stream_a9d5b5224e17b9fc9d9756d8156a77a5c}{size}, bool free\+On\+Close=false, bool read\+Only=false)
\begin{DoxyCompactList}\small\item\em Wrap an existing memory chunk in a stream. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_memory_data_stream_a49b01916cba4bf6a67142bee5819f2ad}{Memory\+Data\+Stream} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name, void $\ast$p\+Mem, size\+\_\+t \hyperlink{class_ogre_1_1_data_stream_a9d5b5224e17b9fc9d9756d8156a77a5c}{size}, bool free\+On\+Close=false, bool read\+Only=false)
\begin{DoxyCompactList}\small\item\em Wrap an existing memory chunk in a named stream. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_memory_data_stream_a53b6dc1c5c5e5f08b9e65daa1ac00e54}{Memory\+Data\+Stream} (\hyperlink{class_ogre_1_1_data_stream}{Data\+Stream} \&source\+Stream, bool free\+On\+Close=true, bool read\+Only=false)
\begin{DoxyCompactList}\small\item\em Create a stream which pre-\/buffers the contents of another stream. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_memory_data_stream_a7749b0a93c1aef312cc0052622519bc9}{Memory\+Data\+Stream} (const \hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&source\+Stream, bool free\+On\+Close=true, bool read\+Only=false)
\begin{DoxyCompactList}\small\item\em Create a stream which pre-\/buffers the contents of another stream. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_memory_data_stream_a61b438f44ad973bdc345638e3328ff2d}{Memory\+Data\+Stream} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name, \hyperlink{class_ogre_1_1_data_stream}{Data\+Stream} \&source\+Stream, bool free\+On\+Close=true, bool read\+Only=false)
\begin{DoxyCompactList}\small\item\em Create a named stream which pre-\/buffers the contents of another stream. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_memory_data_stream_ac00699a01f393f0004ac6024421debb9}{Memory\+Data\+Stream} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name, const \hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&source\+Stream, bool free\+On\+Close=true, bool read\+Only=false)
\begin{DoxyCompactList}\small\item\em Create a named stream which pre-\/buffers the contents of another stream. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_memory_data_stream_ae1ab30cab7a3e7affe728583b5eba4f4}{Memory\+Data\+Stream} (size\+\_\+t \hyperlink{class_ogre_1_1_data_stream_a9d5b5224e17b9fc9d9756d8156a77a5c}{size}, bool free\+On\+Close=true, bool read\+Only=false)
\begin{DoxyCompactList}\small\item\em Create a stream with a brand new empty memory chunk. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_memory_data_stream_aa087cdb21a8a33bc68ab06e2e2ef24fc}{Memory\+Data\+Stream} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name, size\+\_\+t \hyperlink{class_ogre_1_1_data_stream_a9d5b5224e17b9fc9d9756d8156a77a5c}{size}, bool free\+On\+Close=true, bool read\+Only=false)
\begin{DoxyCompactList}\small\item\em Create a named stream with a brand new empty memory chunk. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_memory_data_stream_afffeeea1e906ef13aac0fdde018d3194}{$\sim$\+Memory\+Data\+Stream} ()
\item 
void \hyperlink{class_ogre_1_1_memory_data_stream_a47ba6c03cb7bf3182b31c63753729be3}{close} (void)
\begin{DoxyCompactList}\small\item\em Close the stream; this makes further operations invalid. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_memory_data_stream_ad913ebc50c943dfe79df79c7be14ba3d}{eof} (void) const
\begin{DoxyCompactList}\small\item\em Returns true if the stream has reached the end. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16} \hyperlink{class_ogre_1_1_data_stream_a560b07ced4d47d31315d8d7f51638a8f}{get\+Access\+Mode} () const
\begin{DoxyCompactList}\small\item\em Gets the access mode of the stream. \end{DoxyCompactList}\item 
virtual \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \hyperlink{class_ogre_1_1_data_stream_a022f49c9313deffc5da4383d59d1f32d}{get\+As\+String} (void)
\begin{DoxyCompactList}\small\item\em Returns a String containing the entire stream. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_a07f1f7c1d84d58c9beae02e1ebb945e4}{uchar} $\ast$ \hyperlink{class_ogre_1_1_memory_data_stream_ac753e2375fcdf5e137210339350b5f21}{get\+Current\+Ptr} (void)
\begin{DoxyCompactList}\small\item\em Get a pointer to the current position in the memory block this stream holds. \end{DoxyCompactList}\item 
virtual \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \hyperlink{class_ogre_1_1_data_stream_a86d2ff5dff63ce4b689dd1d486d3243f}{get\+Line} (bool trim\+After=true)
\begin{DoxyCompactList}\small\item\em Returns a String containing the next line of data, optionally trimmed for whitespace. \end{DoxyCompactList}\item 
const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \& \hyperlink{class_ogre_1_1_data_stream_a7ebd86825f86b7114024d168e9751395}{get\+Name} (void)
\begin{DoxyCompactList}\small\item\em Returns the name of the stream, if it has one. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_a07f1f7c1d84d58c9beae02e1ebb945e4}{uchar} $\ast$ \hyperlink{class_ogre_1_1_memory_data_stream_a9d866cd1bbe58bbc59fdbc1dba024b9f}{get\+Ptr} (void)
\begin{DoxyCompactList}\small\item\em Get a pointer to the start of the memory block this stream holds. \end{DoxyCompactList}\item 
virtual bool \hyperlink{class_ogre_1_1_data_stream_a3a99b8b9b4ce6cce64322ba89ea45e43}{is\+Readable} () const
\begin{DoxyCompactList}\small\item\em Reports whether this stream is readable. \end{DoxyCompactList}\item 
virtual bool \hyperlink{class_ogre_1_1_data_stream_aff0243c8ad8f5de00bf8e0887d0f034f}{is\+Writeable} () const
\begin{DoxyCompactList}\small\item\em Reports whether this stream is writeable. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename T $>$ }\\\hyperlink{class_ogre_1_1_data_stream}{Data\+Stream} \& \hyperlink{class_ogre_1_1_data_stream_a49bfe5809b50735b5ce49e7df9615e5a}{operator$>$$>$} (T \&val)
\item 
size\+\_\+t \hyperlink{class_ogre_1_1_memory_data_stream_ab3ee46ce477d58f8945340a4e2117820}{read} (void $\ast$buf, size\+\_\+t count)
\begin{DoxyCompactList}\small\item\em Read the requisite number of bytes from the stream, stopping at the end of the file. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{class_ogre_1_1_memory_data_stream_a5307278a62aa4367a57a44ddb2478480}{read\+Line} (char $\ast$buf, size\+\_\+t max\+Count, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&delim=\char`\"{}\textbackslash{})
\begin{DoxyCompactList}\small\item\em Get a single line from the stream. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_memory_data_stream_a264956cfd878b1c12f28a37e492fc0bb}{seek} (size\+\_\+t pos)
\begin{DoxyCompactList}\small\item\em Repositions the read point to a specified byte. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_memory_data_stream_acee80421c052bd3c6452141f067cfa13}{set\+Free\+On\+Close} (bool free)
\begin{DoxyCompactList}\small\item\em Sets whether or not to free the encapsulated memory on close. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{class_ogre_1_1_data_stream_a9d5b5224e17b9fc9d9756d8156a77a5c}{size} (void) const
\begin{DoxyCompactList}\small\item\em Returns the total size of the data to be read from the stream, or 0 if this is indeterminate for this stream. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_memory_data_stream_abc0369bcd83740cf03cb27a11665486f}{skip} (long count)
\begin{DoxyCompactList}\small\item\em Skip a defined number of bytes. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{class_ogre_1_1_memory_data_stream_a4ef45c52f7540173aafdfd2ff0de7062}{skip\+Line} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&delim=\char`\"{}\textbackslash{})
\begin{DoxyCompactList}\small\item\em Skip a single line from the stream. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{class_ogre_1_1_memory_data_stream_ad2d1e981292d50c71b94b4c5fb6b38dd}{tell} (void) const
\begin{DoxyCompactList}\small\item\em Returns the current byte offset from beginning. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{class_ogre_1_1_memory_data_stream_accd65733ea1317c49c5fdf7263ff4cc7}{write} (const void $\ast$buf, size\+\_\+t count)
\begin{DoxyCompactList}\small\item\em Write the requisite number of bytes from the stream (only applicable to streams that are not read-\/only) \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Common subclass of \hyperlink{class_ogre_1_1_data_stream}{Data\+Stream} for handling data from chunks of memory. 

\subsection{Member Enumeration Documentation}
\mbox{\Hypertarget{class_ogre_1_1_data_stream_a81856582e643b4a560e6c3d3ad05e08c}\label{class_ogre_1_1_data_stream_a81856582e643b4a560e6c3d3ad05e08c}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!Access\+Mode@{Access\+Mode}}
\index{Access\+Mode@{Access\+Mode}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{Access\+Mode}{AccessMode}}
{\footnotesize\ttfamily enum \hyperlink{class_ogre_1_1_data_stream_a81856582e643b4a560e6c3d3ad05e08c}{Ogre\+::\+Data\+Stream\+::\+Access\+Mode}\hspace{0.3cm}{\ttfamily [inherited]}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{R\+E\+AD@{R\+E\+AD}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!R\+E\+AD@{R\+E\+AD}}}\mbox{\Hypertarget{class_ogre_1_1_data_stream_a81856582e643b4a560e6c3d3ad05e08cac5f9d1587e9cc7dd1577af114dcba50e}\label{class_ogre_1_1_data_stream_a81856582e643b4a560e6c3d3ad05e08cac5f9d1587e9cc7dd1577af114dcba50e}} 
R\+E\+AD&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{W\+R\+I\+TE@{W\+R\+I\+TE}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!W\+R\+I\+TE@{W\+R\+I\+TE}}}\mbox{\Hypertarget{class_ogre_1_1_data_stream_a81856582e643b4a560e6c3d3ad05e08ca8e221ca82d405d21d275997fbd3eb900}\label{class_ogre_1_1_data_stream_a81856582e643b4a560e6c3d3ad05e08ca8e221ca82d405d21d275997fbd3eb900}} 
W\+R\+I\+TE&\\
\hline

\end{DoxyEnumFields}


\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_a7a5fae42889b71b7c1999c315af508cb}\label{class_ogre_1_1_memory_data_stream_a7a5fae42889b71b7c1999c315af508cb}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!Memory\+Data\+Stream@{Memory\+Data\+Stream}}
\index{Memory\+Data\+Stream@{Memory\+Data\+Stream}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{Memory\+Data\+Stream()}{MemoryDataStream()}\hspace{0.1cm}{\footnotesize\ttfamily [1/8]}}
{\footnotesize\ttfamily Ogre\+::\+Memory\+Data\+Stream\+::\+Memory\+Data\+Stream (\begin{DoxyParamCaption}\item[{void $\ast$}]{p\+Mem,  }\item[{size\+\_\+t}]{size,  }\item[{bool}]{free\+On\+Close = {\ttfamily false},  }\item[{bool}]{read\+Only = {\ttfamily false} }\end{DoxyParamCaption})}



Wrap an existing memory chunk in a stream. 


\begin{DoxyParams}{Parameters}
{\em p\+Mem} & Pointer to the existing memory \\
\hline
{\em size} & The size of the memory chunk in bytes \\
\hline
{\em free\+On\+Close} & If true, the memory associated will be destroyed when the stream is closed. Note\+: it\textquotesingle{}s important that if you set this option to true, that you allocated the memory using O\+G\+R\+E\+\_\+\+A\+L\+L\+O\+C\+\_\+T with a category of M\+E\+M\+C\+A\+T\+E\+G\+O\+R\+Y\+\_\+\+G\+E\+N\+E\+R\+AL to ensure the freeing of memory matches up. \\
\hline
{\em read\+Only} & Whether to make the stream on this memory read-\/only once created \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_a49b01916cba4bf6a67142bee5819f2ad}\label{class_ogre_1_1_memory_data_stream_a49b01916cba4bf6a67142bee5819f2ad}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!Memory\+Data\+Stream@{Memory\+Data\+Stream}}
\index{Memory\+Data\+Stream@{Memory\+Data\+Stream}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{Memory\+Data\+Stream()}{MemoryDataStream()}\hspace{0.1cm}{\footnotesize\ttfamily [2/8]}}
{\footnotesize\ttfamily Ogre\+::\+Memory\+Data\+Stream\+::\+Memory\+Data\+Stream (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name,  }\item[{void $\ast$}]{p\+Mem,  }\item[{size\+\_\+t}]{size,  }\item[{bool}]{free\+On\+Close = {\ttfamily false},  }\item[{bool}]{read\+Only = {\ttfamily false} }\end{DoxyParamCaption})}



Wrap an existing memory chunk in a named stream. 


\begin{DoxyParams}{Parameters}
{\em name} & The name to give the stream \\
\hline
{\em p\+Mem} & Pointer to the existing memory \\
\hline
{\em size} & The size of the memory chunk in bytes \\
\hline
{\em free\+On\+Close} & If true, the memory associated will be destroyed when the stream is destroyed. Note\+: it\textquotesingle{}s important that if you set this option to true, that you allocated the memory using O\+G\+R\+E\+\_\+\+A\+L\+L\+O\+C\+\_\+T with a category of M\+E\+M\+C\+A\+T\+E\+G\+O\+R\+Y\+\_\+\+G\+E\+N\+E\+R\+AL ensure the freeing of memory matches up. \\
\hline
{\em read\+Only} & Whether to make the stream on this memory read-\/only once created \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_a53b6dc1c5c5e5f08b9e65daa1ac00e54}\label{class_ogre_1_1_memory_data_stream_a53b6dc1c5c5e5f08b9e65daa1ac00e54}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!Memory\+Data\+Stream@{Memory\+Data\+Stream}}
\index{Memory\+Data\+Stream@{Memory\+Data\+Stream}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{Memory\+Data\+Stream()}{MemoryDataStream()}\hspace{0.1cm}{\footnotesize\ttfamily [3/8]}}
{\footnotesize\ttfamily Ogre\+::\+Memory\+Data\+Stream\+::\+Memory\+Data\+Stream (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_data_stream}{Data\+Stream} \&}]{source\+Stream,  }\item[{bool}]{free\+On\+Close = {\ttfamily true},  }\item[{bool}]{read\+Only = {\ttfamily false} }\end{DoxyParamCaption})}



Create a stream which pre-\/buffers the contents of another stream. 

\begin{DoxyRemark}{Remarks}
This constructor can be used to intentionally read in the entire contents of another stream, copying them to the internal buffer and thus making them available in memory as a single unit. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em source\+Stream} & Another \hyperlink{class_ogre_1_1_data_stream}{Data\+Stream} which will provide the source of data \\
\hline
{\em free\+On\+Close} & If true, the memory associated will be destroyed when the stream is destroyed. \\
\hline
{\em read\+Only} & Whether to make the stream on this memory read-\/only once created \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_a7749b0a93c1aef312cc0052622519bc9}\label{class_ogre_1_1_memory_data_stream_a7749b0a93c1aef312cc0052622519bc9}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!Memory\+Data\+Stream@{Memory\+Data\+Stream}}
\index{Memory\+Data\+Stream@{Memory\+Data\+Stream}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{Memory\+Data\+Stream()}{MemoryDataStream()}\hspace{0.1cm}{\footnotesize\ttfamily [4/8]}}
{\footnotesize\ttfamily Ogre\+::\+Memory\+Data\+Stream\+::\+Memory\+Data\+Stream (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&}]{source\+Stream,  }\item[{bool}]{free\+On\+Close = {\ttfamily true},  }\item[{bool}]{read\+Only = {\ttfamily false} }\end{DoxyParamCaption})}



Create a stream which pre-\/buffers the contents of another stream. 

\begin{DoxyRemark}{Remarks}
This constructor can be used to intentionally read in the entire contents of another stream, copying them to the internal buffer and thus making them available in memory as a single unit. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em source\+Stream} & Another \hyperlink{class_ogre_1_1_data_stream}{Data\+Stream} which will provide the source of data \\
\hline
{\em free\+On\+Close} & If true, the memory associated will be destroyed when the stream is destroyed. \\
\hline
{\em read\+Only} & Whether to make the stream on this memory read-\/only once created \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_a61b438f44ad973bdc345638e3328ff2d}\label{class_ogre_1_1_memory_data_stream_a61b438f44ad973bdc345638e3328ff2d}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!Memory\+Data\+Stream@{Memory\+Data\+Stream}}
\index{Memory\+Data\+Stream@{Memory\+Data\+Stream}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{Memory\+Data\+Stream()}{MemoryDataStream()}\hspace{0.1cm}{\footnotesize\ttfamily [5/8]}}
{\footnotesize\ttfamily Ogre\+::\+Memory\+Data\+Stream\+::\+Memory\+Data\+Stream (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name,  }\item[{\hyperlink{class_ogre_1_1_data_stream}{Data\+Stream} \&}]{source\+Stream,  }\item[{bool}]{free\+On\+Close = {\ttfamily true},  }\item[{bool}]{read\+Only = {\ttfamily false} }\end{DoxyParamCaption})}



Create a named stream which pre-\/buffers the contents of another stream. 

\begin{DoxyRemark}{Remarks}
This constructor can be used to intentionally read in the entire contents of another stream, copying them to the internal buffer and thus making them available in memory as a single unit. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em name} & The name to give the stream \\
\hline
{\em source\+Stream} & Another \hyperlink{class_ogre_1_1_data_stream}{Data\+Stream} which will provide the source of data \\
\hline
{\em free\+On\+Close} & If true, the memory associated will be destroyed when the stream is destroyed. \\
\hline
{\em read\+Only} & Whether to make the stream on this memory read-\/only once created \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_ac00699a01f393f0004ac6024421debb9}\label{class_ogre_1_1_memory_data_stream_ac00699a01f393f0004ac6024421debb9}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!Memory\+Data\+Stream@{Memory\+Data\+Stream}}
\index{Memory\+Data\+Stream@{Memory\+Data\+Stream}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{Memory\+Data\+Stream()}{MemoryDataStream()}\hspace{0.1cm}{\footnotesize\ttfamily [6/8]}}
{\footnotesize\ttfamily Ogre\+::\+Memory\+Data\+Stream\+::\+Memory\+Data\+Stream (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name,  }\item[{const \hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&}]{source\+Stream,  }\item[{bool}]{free\+On\+Close = {\ttfamily true},  }\item[{bool}]{read\+Only = {\ttfamily false} }\end{DoxyParamCaption})}



Create a named stream which pre-\/buffers the contents of another stream. 

\begin{DoxyRemark}{Remarks}
This constructor can be used to intentionally read in the entire contents of another stream, copying them to the internal buffer and thus making them available in memory as a single unit. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em name} & The name to give the stream \\
\hline
{\em source\+Stream} & Another \hyperlink{class_ogre_1_1_data_stream}{Data\+Stream} which will provide the source of data \\
\hline
{\em free\+On\+Close} & If true, the memory associated will be destroyed when the stream is destroyed. \\
\hline
{\em read\+Only} & Whether to make the stream on this memory read-\/only once created \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_ae1ab30cab7a3e7affe728583b5eba4f4}\label{class_ogre_1_1_memory_data_stream_ae1ab30cab7a3e7affe728583b5eba4f4}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!Memory\+Data\+Stream@{Memory\+Data\+Stream}}
\index{Memory\+Data\+Stream@{Memory\+Data\+Stream}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{Memory\+Data\+Stream()}{MemoryDataStream()}\hspace{0.1cm}{\footnotesize\ttfamily [7/8]}}
{\footnotesize\ttfamily Ogre\+::\+Memory\+Data\+Stream\+::\+Memory\+Data\+Stream (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{size,  }\item[{bool}]{free\+On\+Close = {\ttfamily true},  }\item[{bool}]{read\+Only = {\ttfamily false} }\end{DoxyParamCaption})}



Create a stream with a brand new empty memory chunk. 


\begin{DoxyParams}{Parameters}
{\em size} & The size of the memory chunk to create in bytes \\
\hline
{\em free\+On\+Close} & If true, the memory associated will be destroyed when the stream is destroyed. \\
\hline
{\em read\+Only} & Whether to make the stream on this memory read-\/only once created \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_aa087cdb21a8a33bc68ab06e2e2ef24fc}\label{class_ogre_1_1_memory_data_stream_aa087cdb21a8a33bc68ab06e2e2ef24fc}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!Memory\+Data\+Stream@{Memory\+Data\+Stream}}
\index{Memory\+Data\+Stream@{Memory\+Data\+Stream}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{Memory\+Data\+Stream()}{MemoryDataStream()}\hspace{0.1cm}{\footnotesize\ttfamily [8/8]}}
{\footnotesize\ttfamily Ogre\+::\+Memory\+Data\+Stream\+::\+Memory\+Data\+Stream (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name,  }\item[{size\+\_\+t}]{size,  }\item[{bool}]{free\+On\+Close = {\ttfamily true},  }\item[{bool}]{read\+Only = {\ttfamily false} }\end{DoxyParamCaption})}



Create a named stream with a brand new empty memory chunk. 


\begin{DoxyParams}{Parameters}
{\em name} & The name to give the stream \\
\hline
{\em size} & The size of the memory chunk to create in bytes \\
\hline
{\em free\+On\+Close} & If true, the memory associated will be destroyed when the stream is destroyed. \\
\hline
{\em read\+Only} & Whether to make the stream on this memory read-\/only once created \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_afffeeea1e906ef13aac0fdde018d3194}\label{class_ogre_1_1_memory_data_stream_afffeeea1e906ef13aac0fdde018d3194}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!````~Memory\+Data\+Stream@{$\sim$\+Memory\+Data\+Stream}}
\index{````~Memory\+Data\+Stream@{$\sim$\+Memory\+Data\+Stream}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{$\sim$\+Memory\+Data\+Stream()}{~MemoryDataStream()}}
{\footnotesize\ttfamily Ogre\+::\+Memory\+Data\+Stream\+::$\sim$\+Memory\+Data\+Stream (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_a9d866cd1bbe58bbc59fdbc1dba024b9f}\label{class_ogre_1_1_memory_data_stream_a9d866cd1bbe58bbc59fdbc1dba024b9f}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!get\+Ptr@{get\+Ptr}}
\index{get\+Ptr@{get\+Ptr}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{get\+Ptr()}{getPtr()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_a07f1f7c1d84d58c9beae02e1ebb945e4}{uchar}$\ast$ Ogre\+::\+Memory\+Data\+Stream\+::get\+Ptr (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get a pointer to the start of the memory block this stream holds. 

\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_ac753e2375fcdf5e137210339350b5f21}\label{class_ogre_1_1_memory_data_stream_ac753e2375fcdf5e137210339350b5f21}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!get\+Current\+Ptr@{get\+Current\+Ptr}}
\index{get\+Current\+Ptr@{get\+Current\+Ptr}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{get\+Current\+Ptr()}{getCurrentPtr()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_a07f1f7c1d84d58c9beae02e1ebb945e4}{uchar}$\ast$ Ogre\+::\+Memory\+Data\+Stream\+::get\+Current\+Ptr (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get a pointer to the current position in the memory block this stream holds. 



References Ogre\+::\+Static\+Cache$<$ cache\+Size $>$\+::read().

\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_ab3ee46ce477d58f8945340a4e2117820}\label{class_ogre_1_1_memory_data_stream_ab3ee46ce477d58f8945340a4e2117820}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!read@{read}}
\index{read@{read}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{read()}{read()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Memory\+Data\+Stream\+::read (\begin{DoxyParamCaption}\item[{void $\ast$}]{buf,  }\item[{size\+\_\+t}]{count }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Read the requisite number of bytes from the stream, stopping at the end of the file. 


\begin{DoxyParams}{Parameters}
{\em buf} & Reference to a buffer pointer \\
\hline
{\em count} & Number of bytes to read \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number of bytes read 
\end{DoxyReturn}


Implements \hyperlink{class_ogre_1_1_data_stream_aebedb14c79369be5b8750d834b128b9b}{Ogre\+::\+Data\+Stream}.

\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_accd65733ea1317c49c5fdf7263ff4cc7}\label{class_ogre_1_1_memory_data_stream_accd65733ea1317c49c5fdf7263ff4cc7}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!write@{write}}
\index{write@{write}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{write()}{write()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Memory\+Data\+Stream\+::write (\begin{DoxyParamCaption}\item[{const void $\ast$}]{buf,  }\item[{size\+\_\+t}]{count }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Write the requisite number of bytes from the stream (only applicable to streams that are not read-\/only) 


\begin{DoxyParams}{Parameters}
{\em buf} & Pointer to a buffer containing the bytes to write \\
\hline
{\em count} & Number of bytes to write \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number of bytes written 
\end{DoxyReturn}


Reimplemented from \hyperlink{class_ogre_1_1_data_stream_a68cde598ee9c2694e16931134fe5c136}{Ogre\+::\+Data\+Stream}.

\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_a5307278a62aa4367a57a44ddb2478480}\label{class_ogre_1_1_memory_data_stream_a5307278a62aa4367a57a44ddb2478480}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!read\+Line@{read\+Line}}
\index{read\+Line@{read\+Line}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{read\+Line()}{readLine()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Memory\+Data\+Stream\+::read\+Line (\begin{DoxyParamCaption}\item[{char $\ast$}]{buf,  }\item[{size\+\_\+t}]{max\+Count }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get a single line from the stream. 

\begin{DoxyRemark}{Remarks}
The delimiter character is not included in the data returned, and it is skipped over so the next read will occur after it. The buffer contents will include a terminating character. 
\end{DoxyRemark}
\begin{DoxyNote}{Note}
If you used this function, you {\bfseries must} open the stream in {\bfseries binary mode}, otherwise, it\textquotesingle{}ll produce unexpected results. 
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em buf} & Reference to a buffer pointer \\
\hline
{\em max\+Count} & The maximum length of data to be read, excluding the terminating character \\
\hline
{\em delim} & The delimiter to stop at \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number of bytes read, excluding the terminating character 
\end{DoxyReturn}


Reimplemented from \hyperlink{class_ogre_1_1_data_stream_a74192c2a217b0093f1e05d1ce4db12a4}{Ogre\+::\+Data\+Stream}.

\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_a4ef45c52f7540173aafdfd2ff0de7062}\label{class_ogre_1_1_memory_data_stream_a4ef45c52f7540173aafdfd2ff0de7062}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!skip\+Line@{skip\+Line}}
\index{skip\+Line@{skip\+Line}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{skip\+Line()}{skipLine()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Memory\+Data\+Stream\+::skip\+Line (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Skip a single line from the stream. 

\begin{DoxyNote}{Note}
If you used this function, you {\bfseries must} open the stream in {\bfseries binary mode}, otherwise, it\textquotesingle{}ll produce unexpected results. 
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em delim} & The delimiter(s) to stop at \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number of bytes skipped 
\end{DoxyReturn}


Reimplemented from \hyperlink{class_ogre_1_1_data_stream_a5e46b5304e48aeee7403230c9f270769}{Ogre\+::\+Data\+Stream}.

\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_abc0369bcd83740cf03cb27a11665486f}\label{class_ogre_1_1_memory_data_stream_abc0369bcd83740cf03cb27a11665486f}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!skip@{skip}}
\index{skip@{skip}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{skip()}{skip()}}
{\footnotesize\ttfamily void Ogre\+::\+Memory\+Data\+Stream\+::skip (\begin{DoxyParamCaption}\item[{long}]{count }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Skip a defined number of bytes. 

This can also be a negative value, in which case the file pointer rewinds a defined number of bytes. 

Implements \hyperlink{class_ogre_1_1_data_stream_a776630c409195fdf118a6737571d3d07}{Ogre\+::\+Data\+Stream}.

\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_a264956cfd878b1c12f28a37e492fc0bb}\label{class_ogre_1_1_memory_data_stream_a264956cfd878b1c12f28a37e492fc0bb}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!seek@{seek}}
\index{seek@{seek}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{seek()}{seek()}}
{\footnotesize\ttfamily void Ogre\+::\+Memory\+Data\+Stream\+::seek (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{pos }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Repositions the read point to a specified byte. 



Implements \hyperlink{class_ogre_1_1_data_stream_adc4002e013c279625553ccc3f50ddae1}{Ogre\+::\+Data\+Stream}.

\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_ad2d1e981292d50c71b94b4c5fb6b38dd}\label{class_ogre_1_1_memory_data_stream_ad2d1e981292d50c71b94b4c5fb6b38dd}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!tell@{tell}}
\index{tell@{tell}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{tell()}{tell()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Memory\+Data\+Stream\+::tell (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Returns the current byte offset from beginning. 



Implements \hyperlink{class_ogre_1_1_data_stream_a2d9100f4e9167116fe280a7e7a1b6219}{Ogre\+::\+Data\+Stream}.

\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_ad913ebc50c943dfe79df79c7be14ba3d}\label{class_ogre_1_1_memory_data_stream_ad913ebc50c943dfe79df79c7be14ba3d}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!eof@{eof}}
\index{eof@{eof}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{eof()}{eof()}}
{\footnotesize\ttfamily bool Ogre\+::\+Memory\+Data\+Stream\+::eof (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Returns true if the stream has reached the end. 



Implements \hyperlink{class_ogre_1_1_data_stream_a81d740638618913333324663b2edb519}{Ogre\+::\+Data\+Stream}.

\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_a47ba6c03cb7bf3182b31c63753729be3}\label{class_ogre_1_1_memory_data_stream_a47ba6c03cb7bf3182b31c63753729be3}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!close@{close}}
\index{close@{close}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{close()}{close()}}
{\footnotesize\ttfamily void Ogre\+::\+Memory\+Data\+Stream\+::close (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Close the stream; this makes further operations invalid. 



Implements \hyperlink{class_ogre_1_1_data_stream_ace95bf415101e195a0c79838fdcb7e7d}{Ogre\+::\+Data\+Stream}.

\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_acee80421c052bd3c6452141f067cfa13}\label{class_ogre_1_1_memory_data_stream_acee80421c052bd3c6452141f067cfa13}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!set\+Free\+On\+Close@{set\+Free\+On\+Close}}
\index{set\+Free\+On\+Close@{set\+Free\+On\+Close}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{set\+Free\+On\+Close()}{setFreeOnClose()}}
{\footnotesize\ttfamily void Ogre\+::\+Memory\+Data\+Stream\+::set\+Free\+On\+Close (\begin{DoxyParamCaption}\item[{bool}]{free }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Sets whether or not to free the encapsulated memory on close. 

\mbox{\Hypertarget{class_ogre_1_1_data_stream_a7ebd86825f86b7114024d168e9751395}\label{class_ogre_1_1_data_stream_a7ebd86825f86b7114024d168e9751395}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!get\+Name@{get\+Name}}
\index{get\+Name@{get\+Name}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{get\+Name()}{getName()}}
{\footnotesize\ttfamily const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}\& Ogre\+::\+Data\+Stream\+::get\+Name (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Returns the name of the stream, if it has one. 

\mbox{\Hypertarget{class_ogre_1_1_data_stream_a560b07ced4d47d31315d8d7f51638a8f}\label{class_ogre_1_1_data_stream_a560b07ced4d47d31315d8d7f51638a8f}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!get\+Access\+Mode@{get\+Access\+Mode}}
\index{get\+Access\+Mode@{get\+Access\+Mode}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{get\+Access\+Mode()}{getAccessMode()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16} Ogre\+::\+Data\+Stream\+::get\+Access\+Mode (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Gets the access mode of the stream. 

\mbox{\Hypertarget{class_ogre_1_1_data_stream_a3a99b8b9b4ce6cce64322ba89ea45e43}\label{class_ogre_1_1_data_stream_a3a99b8b9b4ce6cce64322ba89ea45e43}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!is\+Readable@{is\+Readable}}
\index{is\+Readable@{is\+Readable}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{is\+Readable()}{isReadable()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Data\+Stream\+::is\+Readable (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Reports whether this stream is readable. 

\mbox{\Hypertarget{class_ogre_1_1_data_stream_aff0243c8ad8f5de00bf8e0887d0f034f}\label{class_ogre_1_1_data_stream_aff0243c8ad8f5de00bf8e0887d0f034f}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!is\+Writeable@{is\+Writeable}}
\index{is\+Writeable@{is\+Writeable}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{is\+Writeable()}{isWriteable()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Data\+Stream\+::is\+Writeable (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Reports whether this stream is writeable. 

\mbox{\Hypertarget{class_ogre_1_1_data_stream_a49bfe5809b50735b5ce49e7df9615e5a}\label{class_ogre_1_1_data_stream_a49bfe5809b50735b5ce49e7df9615e5a}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!operator$>$$>$@{operator$>$$>$}}
\index{operator$>$$>$@{operator$>$$>$}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{operator$>$$>$()}{operator>>()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\hyperlink{class_ogre_1_1_data_stream}{Data\+Stream}\& Ogre\+::\+Data\+Stream\+::operator$>$$>$ (\begin{DoxyParamCaption}\item[{T \&}]{val }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_data_stream_a86d2ff5dff63ce4b689dd1d486d3243f}\label{class_ogre_1_1_data_stream_a86d2ff5dff63ce4b689dd1d486d3243f}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!get\+Line@{get\+Line}}
\index{get\+Line@{get\+Line}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{get\+Line()}{getLine()}}
{\footnotesize\ttfamily virtual \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} Ogre\+::\+Data\+Stream\+::get\+Line (\begin{DoxyParamCaption}\item[{bool}]{trim\+After = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Returns a String containing the next line of data, optionally trimmed for whitespace. 

\begin{DoxyRemark}{Remarks}
This is a convenience method for text streams only, allowing you to retrieve a String object containing the next line of data. The data is read up to the next newline character and the result trimmed if required. 
\end{DoxyRemark}
\begin{DoxyNote}{Note}
If you used this function, you {\bfseries must} open the stream in {\bfseries binary mode}, otherwise, it\textquotesingle{}ll produce unexpected results. 
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em trim\+After} & If true, the line is trimmed for whitespace (as in String.\+trim(true,true)) \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_data_stream_a022f49c9313deffc5da4383d59d1f32d}\label{class_ogre_1_1_data_stream_a022f49c9313deffc5da4383d59d1f32d}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!get\+As\+String@{get\+As\+String}}
\index{get\+As\+String@{get\+As\+String}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{get\+As\+String()}{getAsString()}}
{\footnotesize\ttfamily virtual \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} Ogre\+::\+Data\+Stream\+::get\+As\+String (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Returns a String containing the entire stream. 

\begin{DoxyRemark}{Remarks}
This is a convenience method for text streams only, allowing you to retrieve a String object containing all the data in the stream. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_data_stream_a9d5b5224e17b9fc9d9756d8156a77a5c}\label{class_ogre_1_1_data_stream_a9d5b5224e17b9fc9d9756d8156a77a5c}} 
\index{Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}!size@{size}}
\index{size@{size}!Ogre\+::\+Memory\+Data\+Stream@{Ogre\+::\+Memory\+Data\+Stream}}
\subsubsection{\texorpdfstring{size()}{size()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Data\+Stream\+::size (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Returns the total size of the data to be read from the stream, or 0 if this is indeterminate for this stream. 



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{_ogre_data_stream_8h}{Ogre\+Data\+Stream.\+h}\end{DoxyCompactItemize}
