\section{S\-I\-O\-:\-:L\-C\-S\-I\-O Class Reference}
\label{classSIO_1_1LCSIO}\index{S\-I\-O\-::\-L\-C\-S\-I\-O@{S\-I\-O\-::\-L\-C\-S\-I\-O}}


Collection of static helper functions for reading and writing data with \doxyref{S\-I\-O}{p.}{namespaceSIO}.  




{\ttfamily \#include $<$S\-I\-O/\-L\-C\-S\-I\-O.\-h$>$}

\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static {\bf S\-I\-O\-Records} \& {\bfseries records} ()\label{classSIO_1_1LCSIO_a60826473c9c6091d1cb0cde8c5debd43}

\item 
static void {\bf check\-Version} (int version\-I\-D)\label{classSIO_1_1LCSIO_a6d9b5c3185f54f87dca3e3a48135c8e2}

\begin{DoxyCompactList}\small\item\em Checks the version of the file -\/ oldefile (version $<$ v00-\/08) are no longer supported. \end{DoxyCompactList}\item 
static unsigned int {\bf read} (S\-I\-O\-\_\-stream $\ast$stream, char $\ast$$\ast$c, int $\ast$len=0)
\begin{DoxyCompactList}\small\item\em Read a string from the stream into a dummy buffer. \end{DoxyCompactList}\item 
static unsigned int {\bf write} (S\-I\-O\-\_\-stream $\ast$stream, int i)
\begin{DoxyCompactList}\small\item\em This version checks the version\-Id to be able to read 'old' files with trailing '\textbackslash{}00' (version $<$= 00-\/02). \end{DoxyCompactList}\item 
static unsigned int {\bf write} (S\-I\-O\-\_\-stream $\ast$stream, unsigned int i)\label{classSIO_1_1LCSIO_aca3812ebe95ba7995a8fd516785972fa}

\begin{DoxyCompactList}\small\item\em Write an unsigned int to the stream. \end{DoxyCompactList}\item 
static unsigned int {\bf write} (S\-I\-O\-\_\-stream $\ast$stream, {\bf E\-V\-E\-N\-T\-::long64} i)
\begin{DoxyCompactList}\small\item\em Write a vector size to the stream (needed for A\-M\-D64 architectures) \end{DoxyCompactList}\item 
static unsigned int {\bf write} (S\-I\-O\-\_\-stream $\ast$stream, float f)\label{classSIO_1_1LCSIO_a8f7ded1e34efece10141cb39a792c01d}

\begin{DoxyCompactList}\small\item\em Write a float to the stream. \end{DoxyCompactList}\item 
static unsigned int {\bf write} (S\-I\-O\-\_\-stream $\ast$stream, const std\-::string \&s)
\begin{DoxyCompactList}\small\item\em Write a string to the stream. \end{DoxyCompactList}\item 
static std\-::string {\bf get\-Valid\-S\-I\-O\-Name} (const std\-::string \&a\-Name)
\begin{DoxyCompactList}\small\item\em Creates a valid \doxyref{S\-I\-O}{p.}{namespaceSIO} name (basically equivalent to a valid C++ name) by replacing every [. \end{DoxyCompactList}\item 
static void {\bf seek\-Stream} (S\-I\-O\-\_\-stream $\ast$stream, {\bf E\-V\-E\-N\-T\-::long64} pos)
\begin{DoxyCompactList}\small\item\em Seek stream to the given absolute position -\/ if pos$<$0 from end of file. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static const char $\ast$ {\bfseries F\-I\-L\-E\-\_\-\-E\-X\-T\-E\-N\-S\-I\-O\-N} =\char`\"{}.slcio\char`\"{}\label{classSIO_1_1LCSIO_ad6932ca39a9a7a426401714ea4d84581}

\item 
static const bool {\bf C\-O\-M\-P\-R\-E\-S\-S\-I\-O\-N} = true\label{classSIO_1_1LCSIO_a913f5b88afa33789f64ac47094cac6a5}

\begin{DoxyCompactList}\small\item\em the compression mode for \doxyref{S\-I\-O}{p.}{namespaceSIO} \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Collection of static helper functions for reading and writing data with \doxyref{S\-I\-O}{p.}{namespaceSIO}. 

Could go to the S\-I\-O\-\_\-functions class. Also defines some constant names for lcio-\/\-S\-I\-O.

\begin{DoxyAuthor}{Author}
gaede 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}
Mar 6, 2003 
\end{DoxyVersion}


\subsection{Member Function Documentation}
\index{S\-I\-O\-::\-L\-C\-S\-I\-O@{S\-I\-O\-::\-L\-C\-S\-I\-O}!get\-Valid\-S\-I\-O\-Name@{get\-Valid\-S\-I\-O\-Name}}
\index{get\-Valid\-S\-I\-O\-Name@{get\-Valid\-S\-I\-O\-Name}!SIO::LCSIO@{S\-I\-O\-::\-L\-C\-S\-I\-O}}
\subsubsection[{get\-Valid\-S\-I\-O\-Name}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string S\-I\-O\-::\-L\-C\-S\-I\-O\-::get\-Valid\-S\-I\-O\-Name (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{a\-Name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classSIO_1_1LCSIO_ad567efc3d3b8abe3d07b84c8922a4717}


Creates a valid \doxyref{S\-I\-O}{p.}{namespaceSIO} name (basically equivalent to a valid C++ name) by replacing every [. 

], [] and [/] with underscores and removing all nonalphanumeric characters and adding an 'A' to the beginning, if necessary. 

Referenced by S\-I\-O\-::\-S\-I\-O\-Reader\-::open(), and S\-I\-O\-::\-S\-I\-O\-Writer\-::open().

\index{S\-I\-O\-::\-L\-C\-S\-I\-O@{S\-I\-O\-::\-L\-C\-S\-I\-O}!read@{read}}
\index{read@{read}!SIO::LCSIO@{S\-I\-O\-::\-L\-C\-S\-I\-O}}
\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int S\-I\-O\-::\-L\-C\-S\-I\-O\-::read (
\begin{DoxyParamCaption}
\item[{S\-I\-O\-\_\-stream $\ast$}]{stream, }
\item[{char $\ast$$\ast$}]{c, }
\item[{int $\ast$}]{len = {\ttfamily 0}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classSIO_1_1LCSIO_a60a7052a1592646bdc34df45a88a36bf}


Read a string from the stream into a dummy buffer. 

Warning the same buffer is used for each call. So the return value needs to be copied to its final memory destination. len holds the length of the string (can contain '\textbackslash{}0'). \index{S\-I\-O\-::\-L\-C\-S\-I\-O@{S\-I\-O\-::\-L\-C\-S\-I\-O}!seek\-Stream@{seek\-Stream}}
\index{seek\-Stream@{seek\-Stream}!SIO::LCSIO@{S\-I\-O\-::\-L\-C\-S\-I\-O}}
\subsubsection[{seek\-Stream}]{\setlength{\rightskip}{0pt plus 5cm}void S\-I\-O\-::\-L\-C\-S\-I\-O\-::seek\-Stream (
\begin{DoxyParamCaption}
\item[{S\-I\-O\-\_\-stream $\ast$}]{stream, }
\item[{{\bf E\-V\-E\-N\-T\-::long64}}]{pos}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classSIO_1_1LCSIO_aff86818c19fd37c695f1f59ecb6edb3d}


Seek stream to the given absolute position -\/ if pos$<$0 from end of file. 


\begin{DoxyExceptions}{Exceptions}
{\em I\-O\-Exception} & \\
\hline
\end{DoxyExceptions}


Referenced by S\-I\-O\-::\-L\-C\-I\-O\-Random\-Access\-Mgr\-::create\-Event\-Map(), S\-I\-O\-::\-S\-I\-O\-Writer\-::open(), S\-I\-O\-::\-L\-C\-I\-O\-Random\-Access\-Mgr\-::read\-L\-C\-I\-O\-Index\-At(), S\-I\-O\-::\-L\-C\-I\-O\-Random\-Access\-Mgr\-::read\-L\-C\-I\-O\-Random\-Access\-At(), and S\-I\-O\-::\-L\-C\-I\-O\-Random\-Access\-Mgr\-::recreate\-Event\-Map().

\index{S\-I\-O\-::\-L\-C\-S\-I\-O@{S\-I\-O\-::\-L\-C\-S\-I\-O}!write@{write}}
\index{write@{write}!SIO::LCSIO@{S\-I\-O\-::\-L\-C\-S\-I\-O}}
\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int S\-I\-O\-::\-L\-C\-S\-I\-O\-::write (
\begin{DoxyParamCaption}
\item[{S\-I\-O\-\_\-stream $\ast$}]{stream, }
\item[{int}]{i}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classSIO_1_1LCSIO_a04f2effa4670b0147329159bd29f436c}


This version checks the version\-Id to be able to read 'old' files with trailing '\textbackslash{}00' (version $<$= 00-\/02). 

Remove this method after a reasonable transition period...Write an int to the stream. \index{S\-I\-O\-::\-L\-C\-S\-I\-O@{S\-I\-O\-::\-L\-C\-S\-I\-O}!write@{write}}
\index{write@{write}!SIO::LCSIO@{S\-I\-O\-::\-L\-C\-S\-I\-O}}
\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int S\-I\-O\-::\-L\-C\-S\-I\-O\-::write (
\begin{DoxyParamCaption}
\item[{S\-I\-O\-\_\-stream $\ast$}]{stream, }
\item[{{\bf E\-V\-E\-N\-T\-::long64}}]{i}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classSIO_1_1LCSIO_a2e104f3919dc13d79f9a317ac352bcf5}


Write a vector size to the stream (needed for A\-M\-D64 architectures) 

Write a 64bit integer to the stream \index{S\-I\-O\-::\-L\-C\-S\-I\-O@{S\-I\-O\-::\-L\-C\-S\-I\-O}!write@{write}}
\index{write@{write}!SIO::LCSIO@{S\-I\-O\-::\-L\-C\-S\-I\-O}}
\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int S\-I\-O\-::\-L\-C\-S\-I\-O\-::write (
\begin{DoxyParamCaption}
\item[{S\-I\-O\-\_\-stream $\ast$}]{stream, }
\item[{const std\-::string \&}]{s}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classSIO_1_1LCSIO_afa6f38a37b73baf14bd561f677c72ffb}


Write a string to the stream. 

Writes the length of the string first and adds '\textbackslash{}0' to the end. 

The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
L\-C\-S\-I\-O.\-h\item 
L\-C\-S\-I\-O.\-cc\end{DoxyCompactItemize}
