mirror of
https://github.com/slsdetectorgroup/aare.git
synced 2025-06-07 21:20:40 +02:00
226 lines
14 KiB
TeX
226 lines
14 KiB
TeX
\doxysection{aare\+::File Class Reference}
|
|
\hypertarget{classaare_1_1File}{}\label{classaare_1_1File}\index{aare::File@{aare::File}}
|
|
|
|
|
|
RAII \doxylink{classaare_1_1File_1_1File}{File} class for reading and writing image files in various formats wrapper on a \doxylink{classaare_1_1FileInterface}{File\+Interface} to abstract the underlying file format.
|
|
|
|
|
|
|
|
|
|
{\ttfamily \#include $<$File.\+hpp$>$}
|
|
|
|
\doxysubsubsection*{Public Member Functions}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
\mbox{\hyperlink{classaare_1_1File_a9bdd1ad48e0eb476d8ff44e8d113ed0e}{File}} (std\+::filesystem\+::path fname, std\+::string mode, \mbox{\hyperlink{structaare_1_1FileConfig}{File\+Config}} cfg=\{\})
|
|
\begin{DoxyCompactList}\small\item\em Construct a new \doxylink{classaare_1_1File_1_1File}{File} object. \end{DoxyCompactList}\item
|
|
void \mbox{\hyperlink{classaare_1_1File_a53d2397c69b01f8aaf972b68f470b781}{write}} (\mbox{\hyperlink{classaare_1_1Frame}{Frame}} \&frame)
|
|
\item
|
|
\mbox{\hyperlink{classaare_1_1Frame}{Frame}} \mbox{\hyperlink{classaare_1_1File_a3a10c5eb34627b0badddd43121eb1d83}{read}} ()
|
|
\item
|
|
\mbox{\hyperlink{classaare_1_1Frame}{Frame}} \mbox{\hyperlink{classaare_1_1File_a27dd0920d959676a8936f42998d9aebc}{iread}} (size\+\_\+t frame\+\_\+number)
|
|
\item
|
|
std\+::vector$<$ \mbox{\hyperlink{classaare_1_1Frame}{Frame}} $>$ \mbox{\hyperlink{classaare_1_1File_a7f1e7f601e748a5bfd99497c948f47ee}{read}} (size\+\_\+t n\+\_\+frames)
|
|
\item
|
|
void \mbox{\hyperlink{classaare_1_1File_a66ee1d36d4d2f6683aa46ca93768d07d}{read\+\_\+into}} (std\+::byte \texorpdfstring{$\ast$}{*}image\+\_\+buf)
|
|
\item
|
|
void \mbox{\hyperlink{classaare_1_1File_aabea27aefdae51a29dcc86433bec9fdb}{read\+\_\+into}} (std\+::byte \texorpdfstring{$\ast$}{*}image\+\_\+buf, size\+\_\+t n\+\_\+frames)
|
|
\item
|
|
size\+\_\+t \mbox{\hyperlink{classaare_1_1File_a207aae034a1794ea2b1092afcc17756f}{frame\+\_\+number}} (size\+\_\+t frame\+\_\+index)
|
|
\item
|
|
size\+\_\+t \mbox{\hyperlink{classaare_1_1File_a32a13788fc0a1cadd2ebc8ed2aaa4ac9}{bytes\+\_\+per\+\_\+frame}} ()
|
|
\item
|
|
size\+\_\+t \mbox{\hyperlink{classaare_1_1File_a5b527f5d8cef1cee5ed9297e36fee8c6}{pixels}} ()
|
|
\item
|
|
void \mbox{\hyperlink{classaare_1_1File_ac6a40444bb5124484bafcd522f3ff49e}{seek}} (size\+\_\+t frame\+\_\+number)
|
|
\item
|
|
size\+\_\+t \mbox{\hyperlink{classaare_1_1File_a79bb952679193b02ee83a622c15a599c}{tell}} () const
|
|
\item
|
|
size\+\_\+t \mbox{\hyperlink{classaare_1_1File_a706409a694455040034b431fedff9172}{total\+\_\+frames}} () const
|
|
\item
|
|
ssize\+\_\+t \mbox{\hyperlink{classaare_1_1File_a79cf93d8fc08366dedf9e52a25a23010}{rows}} () const
|
|
\item
|
|
ssize\+\_\+t \mbox{\hyperlink{classaare_1_1File_a4da675b97939fba070cfe42a17936a66}{cols}} () const
|
|
\item
|
|
ssize\+\_\+t \mbox{\hyperlink{classaare_1_1File_a344c27c3dba3e4bd24dad2c29de9dae1}{bitdepth}} () const
|
|
\item
|
|
\mbox{\hyperlink{classaare_1_1File_aba1a27e7fa3fcfd62564925583b70ae6}{File}} (\mbox{\hyperlink{classaare_1_1File}{File}} \&\&other)
|
|
\begin{DoxyCompactList}\small\item\em Move constructor. \end{DoxyCompactList}\item
|
|
\mbox{\hyperlink{classaare_1_1File_ad53f1dda26609290e30fcaba9d2020dc}{\texorpdfstring{$\sim$}{\string~}\+File}} ()
|
|
\begin{DoxyCompactList}\small\item\em destructor\+: will only delete the \doxylink{classaare_1_1FileInterface}{File\+Interface} object \end{DoxyCompactList}\end{DoxyCompactItemize}
|
|
\doxysubsubsection*{Private Attributes}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
\mbox{\hyperlink{classaare_1_1FileInterface}{File\+Interface}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{classaare_1_1File_ac2c569dfd6c15c1f5b19f5f1a5e38abf}{file\+\_\+impl}}
|
|
\end{DoxyCompactItemize}
|
|
|
|
|
|
\doxysubsection{Detailed Description}
|
|
RAII \doxylink{classaare_1_1File_1_1File}{File} class for reading and writing image files in various formats wrapper on a \doxylink{classaare_1_1FileInterface}{File\+Interface} to abstract the underlying file format.
|
|
|
|
\begin{DoxyNote}{Note}
|
|
documentation for each function is in the \doxylink{classaare_1_1FileInterface}{File\+Interface} class
|
|
\end{DoxyNote}
|
|
|
|
|
|
\doxysubsection{Constructor \& Destructor Documentation}
|
|
\Hypertarget{classaare_1_1File_a9bdd1ad48e0eb476d8ff44e8d113ed0e}\label{classaare_1_1File_a9bdd1ad48e0eb476d8ff44e8d113ed0e}
|
|
\index{aare::File@{aare::File}!File@{File}}
|
|
\index{File@{File}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{File()}{File()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
|
|
{\footnotesize\ttfamily \mbox{\hyperlink{classaare_1_1File_1_1File}{aare\+::\+File\+::\+File}} (\begin{DoxyParamCaption}\item[{std\+::filesystem\+::path}]{fname, }\item[{std\+::string}]{mode, }\item[{\mbox{\hyperlink{structaare_1_1FileConfig}{File\+Config}}}]{cfg = {\ttfamily \{\}} }\end{DoxyParamCaption})}
|
|
|
|
|
|
|
|
Construct a new \doxylink{classaare_1_1File_1_1File}{File} object.
|
|
|
|
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em fname} & path to the file \\
|
|
\hline
|
|
{\em mode} & file mode (r, w, a) \\
|
|
\hline
|
|
{\em cfg} & file configuration \\
|
|
\hline
|
|
\end{DoxyParams}
|
|
|
|
\begin{DoxyExceptions}{Exceptions}
|
|
{\em std\+::runtime\+\_\+error} & if the file cannot be opened \\
|
|
\hline
|
|
{\em std\+::invalid\+\_\+argument} & if the file mode is not supported \\
|
|
\hline
|
|
\end{DoxyExceptions}
|
|
\Hypertarget{classaare_1_1File_aba1a27e7fa3fcfd62564925583b70ae6}\label{classaare_1_1File_aba1a27e7fa3fcfd62564925583b70ae6}
|
|
\index{aare::File@{aare::File}!File@{File}}
|
|
\index{File@{File}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{File()}{File()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
|
|
{\footnotesize\ttfamily \mbox{\hyperlink{classaare_1_1File_1_1File}{aare\+::\+File\+::\+File}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classaare_1_1File}{File}} \&\&}]{other }\end{DoxyParamCaption})}
|
|
|
|
|
|
|
|
Move constructor.
|
|
|
|
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em other} & \doxylink{classaare_1_1File_1_1File}{File} object to move from \\
|
|
\hline
|
|
\end{DoxyParams}
|
|
\Hypertarget{classaare_1_1File_ad53f1dda26609290e30fcaba9d2020dc}\label{classaare_1_1File_ad53f1dda26609290e30fcaba9d2020dc}
|
|
\index{aare::File@{aare::File}!````~File@{\texorpdfstring{$\sim$}{\string~}File}}
|
|
\index{````~File@{\texorpdfstring{$\sim$}{\string~}File}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{\texorpdfstring{$\sim$}{\string~}File()}{\string~File()}}
|
|
{\footnotesize\ttfamily aare\+::\+File\+::\texorpdfstring{$\sim$}{\string~}\+File (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
|
|
|
|
|
|
|
|
destructor\+: will only delete the \doxylink{classaare_1_1FileInterface}{File\+Interface} object
|
|
|
|
|
|
|
|
\doxysubsection{Member Function Documentation}
|
|
\Hypertarget{classaare_1_1File_a344c27c3dba3e4bd24dad2c29de9dae1}\label{classaare_1_1File_a344c27c3dba3e4bd24dad2c29de9dae1}
|
|
\index{aare::File@{aare::File}!bitdepth@{bitdepth}}
|
|
\index{bitdepth@{bitdepth}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{bitdepth()}{bitdepth()}}
|
|
{\footnotesize\ttfamily ssize\+\_\+t aare\+::\+File\+::bitdepth (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
|
|
|
|
\Hypertarget{classaare_1_1File_a32a13788fc0a1cadd2ebc8ed2aaa4ac9}\label{classaare_1_1File_a32a13788fc0a1cadd2ebc8ed2aaa4ac9}
|
|
\index{aare::File@{aare::File}!bytes\_per\_frame@{bytes\_per\_frame}}
|
|
\index{bytes\_per\_frame@{bytes\_per\_frame}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{bytes\_per\_frame()}{bytes\_per\_frame()}}
|
|
{\footnotesize\ttfamily size\+\_\+t aare\+::\+File\+::bytes\+\_\+per\+\_\+frame (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
|
|
|
|
\Hypertarget{classaare_1_1File_a4da675b97939fba070cfe42a17936a66}\label{classaare_1_1File_a4da675b97939fba070cfe42a17936a66}
|
|
\index{aare::File@{aare::File}!cols@{cols}}
|
|
\index{cols@{cols}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{cols()}{cols()}}
|
|
{\footnotesize\ttfamily ssize\+\_\+t aare\+::\+File\+::cols (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
|
|
|
|
\Hypertarget{classaare_1_1File_a207aae034a1794ea2b1092afcc17756f}\label{classaare_1_1File_a207aae034a1794ea2b1092afcc17756f}
|
|
\index{aare::File@{aare::File}!frame\_number@{frame\_number}}
|
|
\index{frame\_number@{frame\_number}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{frame\_number()}{frame\_number()}}
|
|
{\footnotesize\ttfamily size\+\_\+t aare\+::\+File\+::frame\+\_\+number (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{frame\+\_\+index }\end{DoxyParamCaption})}
|
|
|
|
\Hypertarget{classaare_1_1File_a27dd0920d959676a8936f42998d9aebc}\label{classaare_1_1File_a27dd0920d959676a8936f42998d9aebc}
|
|
\index{aare::File@{aare::File}!iread@{iread}}
|
|
\index{iread@{iread}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{iread()}{iread()}}
|
|
{\footnotesize\ttfamily \mbox{\hyperlink{classaare_1_1Frame}{Frame}} aare\+::\+File\+::iread (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{frame\+\_\+number }\end{DoxyParamCaption})}
|
|
|
|
\Hypertarget{classaare_1_1File_a5b527f5d8cef1cee5ed9297e36fee8c6}\label{classaare_1_1File_a5b527f5d8cef1cee5ed9297e36fee8c6}
|
|
\index{aare::File@{aare::File}!pixels@{pixels}}
|
|
\index{pixels@{pixels}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{pixels()}{pixels()}}
|
|
{\footnotesize\ttfamily size\+\_\+t aare\+::\+File\+::pixels (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
|
|
|
|
\Hypertarget{classaare_1_1File_a3a10c5eb34627b0badddd43121eb1d83}\label{classaare_1_1File_a3a10c5eb34627b0badddd43121eb1d83}
|
|
\index{aare::File@{aare::File}!read@{read}}
|
|
\index{read@{read}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{read()}{read()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
|
|
{\footnotesize\ttfamily \mbox{\hyperlink{classaare_1_1Frame}{Frame}} aare\+::\+File\+::read (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
|
|
|
|
\Hypertarget{classaare_1_1File_a7f1e7f601e748a5bfd99497c948f47ee}\label{classaare_1_1File_a7f1e7f601e748a5bfd99497c948f47ee}
|
|
\index{aare::File@{aare::File}!read@{read}}
|
|
\index{read@{read}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{read()}{read()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
|
|
{\footnotesize\ttfamily std\+::vector$<$ \mbox{\hyperlink{classaare_1_1Frame}{Frame}} $>$ aare\+::\+File\+::read (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{n\+\_\+frames }\end{DoxyParamCaption})}
|
|
|
|
\Hypertarget{classaare_1_1File_a66ee1d36d4d2f6683aa46ca93768d07d}\label{classaare_1_1File_a66ee1d36d4d2f6683aa46ca93768d07d}
|
|
\index{aare::File@{aare::File}!read\_into@{read\_into}}
|
|
\index{read\_into@{read\_into}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{read\_into()}{read\_into()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
|
|
{\footnotesize\ttfamily void aare\+::\+File\+::read\+\_\+into (\begin{DoxyParamCaption}\item[{std\+::byte \texorpdfstring{$\ast$}{*}}]{image\+\_\+buf }\end{DoxyParamCaption})}
|
|
|
|
\Hypertarget{classaare_1_1File_aabea27aefdae51a29dcc86433bec9fdb}\label{classaare_1_1File_aabea27aefdae51a29dcc86433bec9fdb}
|
|
\index{aare::File@{aare::File}!read\_into@{read\_into}}
|
|
\index{read\_into@{read\_into}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{read\_into()}{read\_into()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
|
|
{\footnotesize\ttfamily void aare\+::\+File\+::read\+\_\+into (\begin{DoxyParamCaption}\item[{std\+::byte \texorpdfstring{$\ast$}{*}}]{image\+\_\+buf, }\item[{size\+\_\+t}]{n\+\_\+frames }\end{DoxyParamCaption})}
|
|
|
|
\Hypertarget{classaare_1_1File_a79cf93d8fc08366dedf9e52a25a23010}\label{classaare_1_1File_a79cf93d8fc08366dedf9e52a25a23010}
|
|
\index{aare::File@{aare::File}!rows@{rows}}
|
|
\index{rows@{rows}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{rows()}{rows()}}
|
|
{\footnotesize\ttfamily ssize\+\_\+t aare\+::\+File\+::rows (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
|
|
|
|
\Hypertarget{classaare_1_1File_ac6a40444bb5124484bafcd522f3ff49e}\label{classaare_1_1File_ac6a40444bb5124484bafcd522f3ff49e}
|
|
\index{aare::File@{aare::File}!seek@{seek}}
|
|
\index{seek@{seek}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{seek()}{seek()}}
|
|
{\footnotesize\ttfamily void aare\+::\+File\+::seek (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{frame\+\_\+number }\end{DoxyParamCaption})}
|
|
|
|
\Hypertarget{classaare_1_1File_a79bb952679193b02ee83a622c15a599c}\label{classaare_1_1File_a79bb952679193b02ee83a622c15a599c}
|
|
\index{aare::File@{aare::File}!tell@{tell}}
|
|
\index{tell@{tell}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{tell()}{tell()}}
|
|
{\footnotesize\ttfamily size\+\_\+t aare\+::\+File\+::tell (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
|
|
|
|
\Hypertarget{classaare_1_1File_a706409a694455040034b431fedff9172}\label{classaare_1_1File_a706409a694455040034b431fedff9172}
|
|
\index{aare::File@{aare::File}!total\_frames@{total\_frames}}
|
|
\index{total\_frames@{total\_frames}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{total\_frames()}{total\_frames()}}
|
|
{\footnotesize\ttfamily size\+\_\+t aare\+::\+File\+::total\+\_\+frames (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
|
|
|
|
\Hypertarget{classaare_1_1File_a53d2397c69b01f8aaf972b68f470b781}\label{classaare_1_1File_a53d2397c69b01f8aaf972b68f470b781}
|
|
\index{aare::File@{aare::File}!write@{write}}
|
|
\index{write@{write}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{write()}{write()}}
|
|
{\footnotesize\ttfamily void aare\+::\+File\+::write (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classaare_1_1Frame}{Frame}} \&}]{frame }\end{DoxyParamCaption})}
|
|
|
|
|
|
|
|
\doxysubsection{Field Documentation}
|
|
\Hypertarget{classaare_1_1File_ac2c569dfd6c15c1f5b19f5f1a5e38abf}\label{classaare_1_1File_ac2c569dfd6c15c1f5b19f5f1a5e38abf}
|
|
\index{aare::File@{aare::File}!file\_impl@{file\_impl}}
|
|
\index{file\_impl@{file\_impl}!aare::File@{aare::File}}
|
|
\doxysubsubsection{\texorpdfstring{file\_impl}{file\_impl}}
|
|
{\footnotesize\ttfamily \mbox{\hyperlink{classaare_1_1FileInterface}{File\+Interface}}\texorpdfstring{$\ast$}{*} aare\+::\+File\+::file\+\_\+impl\hspace{0.3cm}{\ttfamily [private]}}
|
|
|
|
|
|
|
|
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
|
|
\item
|
|
file\+\_\+io/include/aare/file\+\_\+io/\mbox{\hyperlink{File_8hpp}{File.\+hpp}}\item
|
|
file\+\_\+io/src/\mbox{\hyperlink{File_8cpp}{File.\+cpp}}\end{DoxyCompactItemize}
|