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


Common subclass of \mbox{\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=225pt]{class_ogre_1_1_memory_data_stream__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{class_ogre_1_1_data_stream_a81856582e643b4a560e6c3d3ad05e08c}{Access\+Mode}} \{ \mbox{\hyperlink{class_ogre_1_1_data_stream_a81856582e643b4a560e6c3d3ad05e08cac5f9d1587e9cc7dd1577af114dcba50e}{R\+E\+AD}} = 1, 
\mbox{\hyperlink{class_ogre_1_1_data_stream_a81856582e643b4a560e6c3d3ad05e08ca8e221ca82d405d21d275997fbd3eb900}{W\+R\+I\+TE}} = 2
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_memory_data_stream_a7749b0a93c1aef312cc0052622519bc9}{Memory\+Data\+Stream}} (const \mbox{\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 
\mbox{\hyperlink{class_ogre_1_1_memory_data_stream_ac00699a01f393f0004ac6024421debb9}{Memory\+Data\+Stream}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name, const \mbox{\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 
\mbox{\hyperlink{class_ogre_1_1_memory_data_stream_a61b438f44ad973bdc345638e3328ff2d}{Memory\+Data\+Stream}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name, \mbox{\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 
\mbox{\hyperlink{class_ogre_1_1_memory_data_stream_aa087cdb21a8a33bc68ab06e2e2ef24fc}{Memory\+Data\+Stream}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name, size\+\_\+t \mbox{\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 
\mbox{\hyperlink{class_ogre_1_1_memory_data_stream_a49b01916cba4bf6a67142bee5819f2ad}{Memory\+Data\+Stream}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name, void $\ast$p\+Mem, size\+\_\+t \mbox{\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 
\mbox{\hyperlink{class_ogre_1_1_memory_data_stream_a53b6dc1c5c5e5f08b9e65daa1ac00e54}{Memory\+Data\+Stream}} (\mbox{\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 
\mbox{\hyperlink{class_ogre_1_1_memory_data_stream_ae1ab30cab7a3e7affe728583b5eba4f4}{Memory\+Data\+Stream}} (size\+\_\+t \mbox{\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 
\mbox{\hyperlink{class_ogre_1_1_memory_data_stream_a7a5fae42889b71b7c1999c315af508cb}{Memory\+Data\+Stream}} (void $\ast$p\+Mem, size\+\_\+t \mbox{\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 
\mbox{\hyperlink{class_ogre_1_1_memory_data_stream_afffeeea1e906ef13aac0fdde018d3194}{$\sim$\+Memory\+Data\+Stream}} ()
\item 
void \mbox{\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 \mbox{\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 
\mbox{\hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16}} \mbox{\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 \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \mbox{\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 
\mbox{\hyperlink{namespace_ogre_a07f1f7c1d84d58c9beae02e1ebb945e4}{uchar}} $\ast$ \mbox{\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 \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \mbox{\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 \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \& \mbox{\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 
\mbox{\hyperlink{namespace_ogre_a07f1f7c1d84d58c9beae02e1ebb945e4}{uchar}} $\ast$ \mbox{\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 \mbox{\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 \mbox{\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 $>$ }\\\mbox{\hyperlink{class_ogre_1_1_data_stream}{Data\+Stream}} \& \mbox{\hyperlink{class_ogre_1_1_data_stream_a49bfe5809b50735b5ce49e7df9615e5a}{operator$>$$>$}} (T \&val)
\item 
size\+\_\+t \mbox{\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 \mbox{\hyperlink{class_ogre_1_1_memory_data_stream_a398aa1ba9f58276dc868d2c3968953c4}{read\+Line}} (char $\ast$buf, size\+\_\+t max\+Count, const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&delim=\char`\"{}\textbackslash{}n\char`\"{})
\begin{DoxyCompactList}\small\item\em Get a single line from the stream. \end{DoxyCompactList}\item 
void \mbox{\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 \mbox{\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 \mbox{\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 \mbox{\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 \mbox{\hyperlink{class_ogre_1_1_memory_data_stream_a581ccd32944288808f7602b29a0218e9}{skip\+Line}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&delim=\char`\"{}\textbackslash{}n\char`\"{})
\begin{DoxyCompactList}\small\item\em Skip a single line from the stream. \end{DoxyCompactList}\item 
size\+\_\+t \mbox{\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 \mbox{\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}


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

\doxysubsection{Member Enumeration Documentation}
\mbox{\Hypertarget{class_ogre_1_1_data_stream_a81856582e643b4a560e6c3d3ad05e08c}\label{class_ogre_1_1_data_stream_a81856582e643b4a560e6c3d3ad05e08c}} 
\index{Ogre::MemoryDataStream@{Ogre::MemoryDataStream}!AccessMode@{AccessMode}}
\index{AccessMode@{AccessMode}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{AccessMode}{AccessMode}}
{\footnotesize\ttfamily enum \mbox{\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{READ@{READ}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}\index{Ogre::MemoryDataStream@{Ogre::MemoryDataStream}!READ@{READ}}}\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{WRITE@{WRITE}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}\index{Ogre::MemoryDataStream@{Ogre::MemoryDataStream}!WRITE@{WRITE}}}\mbox{\Hypertarget{class_ogre_1_1_data_stream_a81856582e643b4a560e6c3d3ad05e08ca8e221ca82d405d21d275997fbd3eb900}\label{class_ogre_1_1_data_stream_a81856582e643b4a560e6c3d3ad05e08ca8e221ca82d405d21d275997fbd3eb900}} 
W\+R\+I\+TE&\\
\hline

\end{DoxyEnumFields}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_a7a5fae42889b71b7c1999c315af508cb}\label{class_ogre_1_1_memory_data_stream_a7a5fae42889b71b7c1999c315af508cb}} 
\index{Ogre::MemoryDataStream@{Ogre::MemoryDataStream}!MemoryDataStream@{MemoryDataStream}}
\index{MemoryDataStream@{MemoryDataStream}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{MemoryDataStream()}{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::MemoryDataStream@{Ogre::MemoryDataStream}!MemoryDataStream@{MemoryDataStream}}
\index{MemoryDataStream@{MemoryDataStream}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{MemoryDataStream()}{MemoryDataStream()}\hspace{0.1cm}{\footnotesize\ttfamily [2/8]}}
{\footnotesize\ttfamily Ogre\+::\+Memory\+Data\+Stream\+::\+Memory\+Data\+Stream (\begin{DoxyParamCaption}\item[{const \mbox{\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::MemoryDataStream@{Ogre::MemoryDataStream}!MemoryDataStream@{MemoryDataStream}}
\index{MemoryDataStream@{MemoryDataStream}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{MemoryDataStream()}{MemoryDataStream()}\hspace{0.1cm}{\footnotesize\ttfamily [3/8]}}
{\footnotesize\ttfamily Ogre\+::\+Memory\+Data\+Stream\+::\+Memory\+Data\+Stream (\begin{DoxyParamCaption}\item[{\mbox{\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 \mbox{\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::MemoryDataStream@{Ogre::MemoryDataStream}!MemoryDataStream@{MemoryDataStream}}
\index{MemoryDataStream@{MemoryDataStream}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{MemoryDataStream()}{MemoryDataStream()}\hspace{0.1cm}{\footnotesize\ttfamily [4/8]}}
{\footnotesize\ttfamily Ogre\+::\+Memory\+Data\+Stream\+::\+Memory\+Data\+Stream (\begin{DoxyParamCaption}\item[{const \mbox{\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 \mbox{\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::MemoryDataStream@{Ogre::MemoryDataStream}!MemoryDataStream@{MemoryDataStream}}
\index{MemoryDataStream@{MemoryDataStream}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{MemoryDataStream()}{MemoryDataStream()}\hspace{0.1cm}{\footnotesize\ttfamily [5/8]}}
{\footnotesize\ttfamily Ogre\+::\+Memory\+Data\+Stream\+::\+Memory\+Data\+Stream (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{name,  }\item[{\mbox{\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 \mbox{\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::MemoryDataStream@{Ogre::MemoryDataStream}!MemoryDataStream@{MemoryDataStream}}
\index{MemoryDataStream@{MemoryDataStream}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{MemoryDataStream()}{MemoryDataStream()}\hspace{0.1cm}{\footnotesize\ttfamily [6/8]}}
{\footnotesize\ttfamily Ogre\+::\+Memory\+Data\+Stream\+::\+Memory\+Data\+Stream (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{name,  }\item[{const \mbox{\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 \mbox{\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::MemoryDataStream@{Ogre::MemoryDataStream}!MemoryDataStream@{MemoryDataStream}}
\index{MemoryDataStream@{MemoryDataStream}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{MemoryDataStream()}{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::MemoryDataStream@{Ogre::MemoryDataStream}!MemoryDataStream@{MemoryDataStream}}
\index{MemoryDataStream@{MemoryDataStream}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{MemoryDataStream()}{MemoryDataStream()}\hspace{0.1cm}{\footnotesize\ttfamily [8/8]}}
{\footnotesize\ttfamily Ogre\+::\+Memory\+Data\+Stream\+::\+Memory\+Data\+Stream (\begin{DoxyParamCaption}\item[{const \mbox{\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::MemoryDataStream@{Ogre::MemoryDataStream}!````~MemoryDataStream@{$\sim$MemoryDataStream}}
\index{````~MemoryDataStream@{$\sim$MemoryDataStream}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{$\sim$MemoryDataStream()}{~MemoryDataStream()}}
{\footnotesize\ttfamily Ogre\+::\+Memory\+Data\+Stream\+::$\sim$\+Memory\+Data\+Stream (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_a9d866cd1bbe58bbc59fdbc1dba024b9f}\label{class_ogre_1_1_memory_data_stream_a9d866cd1bbe58bbc59fdbc1dba024b9f}} 
\index{Ogre::MemoryDataStream@{Ogre::MemoryDataStream}!getPtr@{getPtr}}
\index{getPtr@{getPtr}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{getPtr()}{getPtr()}}
{\footnotesize\ttfamily \mbox{\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::MemoryDataStream@{Ogre::MemoryDataStream}!getCurrentPtr@{getCurrentPtr}}
\index{getCurrentPtr@{getCurrentPtr}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{getCurrentPtr()}{getCurrentPtr()}}
{\footnotesize\ttfamily \mbox{\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. 

\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_ab3ee46ce477d58f8945340a4e2117820}\label{class_ogre_1_1_memory_data_stream_ab3ee46ce477d58f8945340a4e2117820}} 
\index{Ogre::MemoryDataStream@{Ogre::MemoryDataStream}!read@{read}}
\index{read@{read}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\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 \mbox{\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::MemoryDataStream@{Ogre::MemoryDataStream}!write@{write}}
\index{write@{write}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\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 \mbox{\hyperlink{class_ogre_1_1_data_stream_a68cde598ee9c2694e16931134fe5c136}{Ogre\+::\+Data\+Stream}}.

\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_a398aa1ba9f58276dc868d2c3968953c4}\label{class_ogre_1_1_memory_data_stream_a398aa1ba9f58276dc868d2c3968953c4}} 
\index{Ogre::MemoryDataStream@{Ogre::MemoryDataStream}!readLine@{readLine}}
\index{readLine@{readLine}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{readLine()}{readLine()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Memory\+Data\+Stream\+::read\+Line (\begin{DoxyParamCaption}\item[{char $\ast$}]{buf,  }\item[{size\+\_\+t}]{max\+Count,  }\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{delim = {\ttfamily \char`\"{}\textbackslash{}n\char`\"{}} }\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 \mbox{\hyperlink{class_ogre_1_1_data_stream_aedc53a8cff5334563283a4557d423b25}{Ogre\+::\+Data\+Stream}}.

\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_a581ccd32944288808f7602b29a0218e9}\label{class_ogre_1_1_memory_data_stream_a581ccd32944288808f7602b29a0218e9}} 
\index{Ogre::MemoryDataStream@{Ogre::MemoryDataStream}!skipLine@{skipLine}}
\index{skipLine@{skipLine}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{skipLine()}{skipLine()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Memory\+Data\+Stream\+::skip\+Line (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{delim = {\ttfamily \char`\"{}\textbackslash{}n\char`\"{}} }\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 \mbox{\hyperlink{class_ogre_1_1_data_stream_a32966ad5a814f8c72fe0affbefcc6f55}{Ogre\+::\+Data\+Stream}}.

\mbox{\Hypertarget{class_ogre_1_1_memory_data_stream_abc0369bcd83740cf03cb27a11665486f}\label{class_ogre_1_1_memory_data_stream_abc0369bcd83740cf03cb27a11665486f}} 
\index{Ogre::MemoryDataStream@{Ogre::MemoryDataStream}!skip@{skip}}
\index{skip@{skip}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\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 \mbox{\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::MemoryDataStream@{Ogre::MemoryDataStream}!seek@{seek}}
\index{seek@{seek}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\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 \mbox{\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::MemoryDataStream@{Ogre::MemoryDataStream}!tell@{tell}}
\index{tell@{tell}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\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 \mbox{\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::MemoryDataStream@{Ogre::MemoryDataStream}!eof@{eof}}
\index{eof@{eof}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\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 \mbox{\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::MemoryDataStream@{Ogre::MemoryDataStream}!close@{close}}
\index{close@{close}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\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 \mbox{\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::MemoryDataStream@{Ogre::MemoryDataStream}!setFreeOnClose@{setFreeOnClose}}
\index{setFreeOnClose@{setFreeOnClose}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{setFreeOnClose()}{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::MemoryDataStream@{Ogre::MemoryDataStream}!getName@{getName}}
\index{getName@{getName}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{getName()}{getName()}}
{\footnotesize\ttfamily const \mbox{\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::MemoryDataStream@{Ogre::MemoryDataStream}!getAccessMode@{getAccessMode}}
\index{getAccessMode@{getAccessMode}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{getAccessMode()}{getAccessMode()}}
{\footnotesize\ttfamily \mbox{\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::MemoryDataStream@{Ogre::MemoryDataStream}!isReadable@{isReadable}}
\index{isReadable@{isReadable}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{isReadable()}{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::MemoryDataStream@{Ogre::MemoryDataStream}!isWriteable@{isWriteable}}
\index{isWriteable@{isWriteable}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{isWriteable()}{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::MemoryDataStream@{Ogre::MemoryDataStream}!operator$>$$>$@{operator$>$$>$}}
\index{operator$>$$>$@{operator$>$$>$}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{operator$>$$>$()}{operator>>()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\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::MemoryDataStream@{Ogre::MemoryDataStream}!getLine@{getLine}}
\index{getLine@{getLine}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{getLine()}{getLine()}}
{\footnotesize\ttfamily virtual \mbox{\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::MemoryDataStream@{Ogre::MemoryDataStream}!getAsString@{getAsString}}
\index{getAsString@{getAsString}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\texorpdfstring{getAsString()}{getAsString()}}
{\footnotesize\ttfamily virtual \mbox{\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::MemoryDataStream@{Ogre::MemoryDataStream}!size@{size}}
\index{size@{size}!Ogre::MemoryDataStream@{Ogre::MemoryDataStream}}
\doxysubsubsection{\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 
\mbox{\hyperlink{_ogre_data_stream_8h}{Ogre\+Data\+Stream.\+h}}\end{DoxyCompactItemize}
