\doxysection{aare\+::File\+Interface Class Reference} \hypertarget{classaare_1_1FileInterface}{}\label{classaare_1_1FileInterface}\index{aare::FileInterface@{aare::FileInterface}} \doxylink{classaare_1_1FileInterface}{File\+Interface} class to define the interface for file operations. {\ttfamily \#include $<$File\+Interface.\+hpp$>$} Inheritance diagram for aare\+::File\+Interface\+:\begin{figure}[H] \begin{center} \leavevmode \includegraphics[height=2.000000cm]{classaare_1_1FileInterface} \end{center} \end{figure} \doxysubsubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item virtual void \mbox{\hyperlink{classaare_1_1FileInterface_a5d39033c9d218d53d51413b99bf7d1f4}{write}} (\mbox{\hyperlink{classaare_1_1Frame}{Frame}} \&frame)=0 \begin{DoxyCompactList}\small\item\em write a frame to the file \end{DoxyCompactList}\item virtual \mbox{\hyperlink{classaare_1_1Frame}{Frame}} \mbox{\hyperlink{classaare_1_1FileInterface_a9cb196de2bee8638578e4ba3ce46532e}{read}} ()=0 \begin{DoxyCompactList}\small\item\em write a vector of frames to the file \end{DoxyCompactList}\item virtual std\+::vector$<$ \mbox{\hyperlink{classaare_1_1Frame}{Frame}} $>$ \mbox{\hyperlink{classaare_1_1FileInterface_a1624d72f0feb1c19d507cc91c4cb414a}{read}} (size\+\_\+t n\+\_\+frames)=0 \begin{DoxyCompactList}\small\item\em read n\+\_\+frames from the file at the current position \end{DoxyCompactList}\item virtual void \mbox{\hyperlink{classaare_1_1FileInterface_a4ac0f4e63ccf90af9f0d5b9b44db856c}{read\+\_\+into}} (std\+::byte \texorpdfstring{$\ast$}{*}image\+\_\+buf)=0 \begin{DoxyCompactList}\small\item\em read one frame from the file at the current position and store it in the provided buffer \end{DoxyCompactList}\item virtual void \mbox{\hyperlink{classaare_1_1FileInterface_a580c71b3eecf45ce2140cd65103cfd43}{read\+\_\+into}} (std\+::byte \texorpdfstring{$\ast$}{*}image\+\_\+buf, size\+\_\+t n\+\_\+frames)=0 \begin{DoxyCompactList}\small\item\em read n\+\_\+frames from the file at the current position and store them in the provided buffer \end{DoxyCompactList}\item virtual size\+\_\+t \mbox{\hyperlink{classaare_1_1FileInterface_ac6d10d468f79e855a3334cd1347c1178}{frame\+\_\+number}} (size\+\_\+t frame\+\_\+index)=0 \begin{DoxyCompactList}\small\item\em get the frame number at the given frame index \end{DoxyCompactList}\item virtual size\+\_\+t \mbox{\hyperlink{classaare_1_1FileInterface_aab236d5b808f2acc44266281274ed93a}{bytes\+\_\+per\+\_\+frame}} ()=0 \begin{DoxyCompactList}\small\item\em get the size of one frame in bytes \end{DoxyCompactList}\item virtual size\+\_\+t \mbox{\hyperlink{classaare_1_1FileInterface_a99da51594609984efe62bb64a88a3fa6}{pixels}} ()=0 \begin{DoxyCompactList}\small\item\em get the number of pixels in one frame \end{DoxyCompactList}\item virtual void \mbox{\hyperlink{classaare_1_1FileInterface_a49510fb96eaa245fd5d2be7f25a40b74}{seek}} (size\+\_\+t \mbox{\hyperlink{classaare_1_1FileInterface_ac6d10d468f79e855a3334cd1347c1178}{frame\+\_\+number}})=0 \begin{DoxyCompactList}\small\item\em seek to the given frame number \end{DoxyCompactList}\item virtual size\+\_\+t \mbox{\hyperlink{classaare_1_1FileInterface_abd01811dcf904625b4dbd78dd9188de4}{tell}} ()=0 \begin{DoxyCompactList}\small\item\em get the current position of the file pointer \end{DoxyCompactList}\item virtual size\+\_\+t \mbox{\hyperlink{classaare_1_1FileInterface_ad4391bafd11f77f807114ba5108071d3}{total\+\_\+frames}} () const =0 \begin{DoxyCompactList}\small\item\em get the total number of frames in the file \end{DoxyCompactList}\item virtual ssize\+\_\+t \mbox{\hyperlink{classaare_1_1FileInterface_a8a5bc2d9b7b9ec1a9a100bf8a114d909}{rows}} () const =0 \begin{DoxyCompactList}\small\item\em get the number of rows in the file \end{DoxyCompactList}\item virtual ssize\+\_\+t \mbox{\hyperlink{classaare_1_1FileInterface_a2927ba0e6a564bcd0da139a552c09b76}{cols}} () const =0 \begin{DoxyCompactList}\small\item\em get the number of columns in the file \end{DoxyCompactList}\item virtual ssize\+\_\+t \mbox{\hyperlink{classaare_1_1FileInterface_a8bfd7abf4271210000b2ef8d1c0d6149}{bitdepth}} () const =0 \begin{DoxyCompactList}\small\item\em get the bitdepth of the file \end{DoxyCompactList}\item \mbox{\hyperlink{classaare_1_1Frame}{Frame}} \mbox{\hyperlink{classaare_1_1FileInterface_aad0827f2dad4403cebdce417243d842c}{iread}} (size\+\_\+t \mbox{\hyperlink{classaare_1_1FileInterface_ac6d10d468f79e855a3334cd1347c1178}{frame\+\_\+number}}) \begin{DoxyCompactList}\small\item\em read one frame from the file at the given frame number \end{DoxyCompactList}\item std\+::vector$<$ \mbox{\hyperlink{classaare_1_1Frame}{Frame}} $>$ \mbox{\hyperlink{classaare_1_1FileInterface_a1a304e356f3c1d100544d6ceeb35c0fb}{iread}} (size\+\_\+t \mbox{\hyperlink{classaare_1_1FileInterface_ac6d10d468f79e855a3334cd1347c1178}{frame\+\_\+number}}, size\+\_\+t n\+\_\+frames) \begin{DoxyCompactList}\small\item\em read n\+\_\+frames from the file starting at the given frame number \end{DoxyCompactList}\item virtual \mbox{\hyperlink{classaare_1_1FileInterface_a7546e2d2dec365bee91cbf5607278e80}{\texorpdfstring{$\sim$}{\string~}\+File\+Interface}} () \end{DoxyCompactItemize} \doxysubsubsection*{Data Fields} \begin{DoxyCompactItemize} \item std\+::string \mbox{\hyperlink{classaare_1_1FileInterface_ab1d0e6de947affd5af9740eb06888fc6}{m\+\_\+mode}} \item std\+::filesystem\+::path \mbox{\hyperlink{classaare_1_1FileInterface_a325f6603f564fb42f8f28f1136b5e329}{m\+\_\+fname}} \item std\+::filesystem\+::path \mbox{\hyperlink{classaare_1_1FileInterface_afdd0a1a75618ad5db2f4794e0900b2f4}{m\+\_\+base\+\_\+path}} \item std\+::string \mbox{\hyperlink{classaare_1_1FileInterface_adae2b35fc6a3f185e9eb263c97bc024b}{m\+\_\+base\+\_\+name}} \item std\+::string \mbox{\hyperlink{classaare_1_1FileInterface_a5fffaf9a7c8ae2b3a2ebe89b9c94ed34}{m\+\_\+ext}} \item int \mbox{\hyperlink{classaare_1_1FileInterface_a30e926a897b534ab9a327d40594ff191}{m\+\_\+findex}} \item size\+\_\+t \mbox{\hyperlink{classaare_1_1FileInterface_a91551fada444b231294c095f3f5fb768}{m\+\_\+total\+\_\+frames}} \{\} \item size\+\_\+t \mbox{\hyperlink{classaare_1_1FileInterface_ab0762d7652c9a4e1afe6dbb7d7325ac9}{max\+\_\+frames\+\_\+per\+\_\+file}} \{\} \item std\+::string \mbox{\hyperlink{classaare_1_1FileInterface_a44cbe933bbd2cae1f48213121d15bce2}{version}} \item \mbox{\hyperlink{namespaceaare_a5b95afba95553c1e118e1478c69042f7}{Detector\+Type}} \mbox{\hyperlink{classaare_1_1FileInterface_a9476a299cea6b4e97605135a28d0cb60}{m\+\_\+type}} \item ssize\+\_\+t \mbox{\hyperlink{classaare_1_1FileInterface_ae29d98625cf56989e2c5237ace0d0f4c}{m\+\_\+rows}} \{\} \item ssize\+\_\+t \mbox{\hyperlink{classaare_1_1FileInterface_ad4c9991c30a71ba83cbaab283bc756b5}{m\+\_\+cols}} \{\} \item ssize\+\_\+t \mbox{\hyperlink{classaare_1_1FileInterface_a252d27cbbfcdfc528b86925eaac55bb7}{m\+\_\+bitdepth}} \{\} \item size\+\_\+t \mbox{\hyperlink{classaare_1_1FileInterface_ab96f5dd0c99fb7b5a527da812368d736}{current\+\_\+frame}} \{\} \end{DoxyCompactItemize} \doxysubsection{Detailed Description} \doxylink{classaare_1_1FileInterface}{File\+Interface} class to define the interface for file operations. \begin{DoxyNote}{Note} parent class for \doxylink{classaare_1_1NumpyFile}{Numpy\+File} and \doxylink{classaare_1_1RawFile}{Raw\+File} all functions are pure virtual and must be implemented by the derived classes \end{DoxyNote} \doxysubsection{Constructor \& Destructor Documentation} \Hypertarget{classaare_1_1FileInterface_a7546e2d2dec365bee91cbf5607278e80}\label{classaare_1_1FileInterface_a7546e2d2dec365bee91cbf5607278e80} \index{aare::FileInterface@{aare::FileInterface}!````~FileInterface@{\texorpdfstring{$\sim$}{\string~}FileInterface}} \index{````~FileInterface@{\texorpdfstring{$\sim$}{\string~}FileInterface}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{\texorpdfstring{$\sim$}{\string~}FileInterface()}{\string~FileInterface()}} {\footnotesize\ttfamily virtual aare\+::\+File\+Interface\+::\texorpdfstring{$\sim$}{\string~}\+File\+Interface (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} \doxysubsection{Member Function Documentation} \Hypertarget{classaare_1_1FileInterface_a8bfd7abf4271210000b2ef8d1c0d6149}\label{classaare_1_1FileInterface_a8bfd7abf4271210000b2ef8d1c0d6149} \index{aare::FileInterface@{aare::FileInterface}!bitdepth@{bitdepth}} \index{bitdepth@{bitdepth}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{bitdepth()}{bitdepth()}} {\footnotesize\ttfamily virtual ssize\+\_\+t aare\+::\+File\+Interface\+::bitdepth (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}} get the bitdepth of the file \begin{DoxyReturn}{Returns} bitdepth of the file \end{DoxyReturn} Implemented in \mbox{\hyperlink{classaare_1_1NumpyFile_afcdc40fcc15f5a3a470e23033ad1323c}{aare\+::\+Numpy\+File}}, and \mbox{\hyperlink{classaare_1_1RawFile_ae880a6c07caaca176028936a29162ff2}{aare\+::\+Raw\+File}}. \Hypertarget{classaare_1_1FileInterface_aab236d5b808f2acc44266281274ed93a}\label{classaare_1_1FileInterface_aab236d5b808f2acc44266281274ed93a} \index{aare::FileInterface@{aare::FileInterface}!bytes\_per\_frame@{bytes\_per\_frame}} \index{bytes\_per\_frame@{bytes\_per\_frame}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{bytes\_per\_frame()}{bytes\_per\_frame()}} {\footnotesize\ttfamily virtual size\+\_\+t aare\+::\+File\+Interface\+::bytes\+\_\+per\+\_\+frame (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} get the size of one frame in bytes \begin{DoxyReturn}{Returns} size of one frame \end{DoxyReturn} Implemented in \mbox{\hyperlink{classaare_1_1NumpyFile_a35c1b49a469ba8e261d4e675a816b5f2}{aare\+::\+Numpy\+File}}, and \mbox{\hyperlink{classaare_1_1RawFile_ac20d32d75330d179554c2c69292332f0}{aare\+::\+Raw\+File}}. \Hypertarget{classaare_1_1FileInterface_a2927ba0e6a564bcd0da139a552c09b76}\label{classaare_1_1FileInterface_a2927ba0e6a564bcd0da139a552c09b76} \index{aare::FileInterface@{aare::FileInterface}!cols@{cols}} \index{cols@{cols}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{cols()}{cols()}} {\footnotesize\ttfamily virtual ssize\+\_\+t aare\+::\+File\+Interface\+::cols (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}} get the number of columns in the file \begin{DoxyReturn}{Returns} number of columns in the file \end{DoxyReturn} Implemented in \mbox{\hyperlink{classaare_1_1NumpyFile_ae1558b1ab6fbea54f853cdfad9363d31}{aare\+::\+Numpy\+File}}, and \mbox{\hyperlink{classaare_1_1RawFile_a8b646fd35e7b19740f6358804bba2bce}{aare\+::\+Raw\+File}}. \Hypertarget{classaare_1_1FileInterface_ac6d10d468f79e855a3334cd1347c1178}\label{classaare_1_1FileInterface_ac6d10d468f79e855a3334cd1347c1178} \index{aare::FileInterface@{aare::FileInterface}!frame\_number@{frame\_number}} \index{frame\_number@{frame\_number}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{frame\_number()}{frame\_number()}} {\footnotesize\ttfamily virtual size\+\_\+t aare\+::\+File\+Interface\+::frame\+\_\+number (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{frame\+\_\+index }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} get the frame number at the given frame index \begin{DoxyParams}{Parameters} {\em frame\+\_\+index} & index of the frame \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} frame number \end{DoxyReturn} Implemented in \mbox{\hyperlink{classaare_1_1NumpyFile_abe5817c47fa552b7d6de72a4b59d290a}{aare\+::\+Numpy\+File}}, and \mbox{\hyperlink{classaare_1_1RawFile_a42972170354d7d9cde0b9b9509b63fee}{aare\+::\+Raw\+File}}. \Hypertarget{classaare_1_1FileInterface_aad0827f2dad4403cebdce417243d842c}\label{classaare_1_1FileInterface_aad0827f2dad4403cebdce417243d842c} \index{aare::FileInterface@{aare::FileInterface}!iread@{iread}} \index{iread@{iread}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{iread()}{iread()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily \mbox{\hyperlink{classaare_1_1Frame}{Frame}} aare\+::\+File\+Interface\+::iread (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{frame\+\_\+number }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} read one frame from the file at the given frame number \begin{DoxyParams}{Parameters} {\em frame\+\_\+number} & frame number to read \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} frame \end{DoxyReturn} \Hypertarget{classaare_1_1FileInterface_a1a304e356f3c1d100544d6ceeb35c0fb}\label{classaare_1_1FileInterface_a1a304e356f3c1d100544d6ceeb35c0fb} \index{aare::FileInterface@{aare::FileInterface}!iread@{iread}} \index{iread@{iread}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{iread()}{iread()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily std\+::vector$<$ \mbox{\hyperlink{classaare_1_1Frame}{Frame}} $>$ aare\+::\+File\+Interface\+::iread (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{frame\+\_\+number, }\item[{size\+\_\+t}]{n\+\_\+frames }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} read n\+\_\+frames from the file starting at the given frame number \begin{DoxyParams}{Parameters} {\em frame\+\_\+number} & frame number to start reading from \\ \hline {\em n\+\_\+frames} & number of frames to read \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} vector of frames \end{DoxyReturn} \Hypertarget{classaare_1_1FileInterface_a99da51594609984efe62bb64a88a3fa6}\label{classaare_1_1FileInterface_a99da51594609984efe62bb64a88a3fa6} \index{aare::FileInterface@{aare::FileInterface}!pixels@{pixels}} \index{pixels@{pixels}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{pixels()}{pixels()}} {\footnotesize\ttfamily virtual size\+\_\+t aare\+::\+File\+Interface\+::pixels (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} get the number of pixels in one frame \begin{DoxyReturn}{Returns} number of pixels in one frame \end{DoxyReturn} Implemented in \mbox{\hyperlink{classaare_1_1NumpyFile_a2a40aebcb9b25ad36f1ecd75699c47d0}{aare\+::\+Numpy\+File}}, and \mbox{\hyperlink{classaare_1_1RawFile_ab8935d47a8482c36532ff5cdd91c78da}{aare\+::\+Raw\+File}}. \Hypertarget{classaare_1_1FileInterface_a9cb196de2bee8638578e4ba3ce46532e}\label{classaare_1_1FileInterface_a9cb196de2bee8638578e4ba3ce46532e} \index{aare::FileInterface@{aare::FileInterface}!read@{read}} \index{read@{read}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{read()}{read()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily virtual \mbox{\hyperlink{classaare_1_1Frame}{Frame}} aare\+::\+File\+Interface\+::read (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} write a vector of frames to the file \begin{DoxyParams}{Parameters} {\em frames} & vector of frames to write \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} void \end{DoxyReturn} read one frame from the file at the current position \begin{DoxyReturn}{Returns} \doxylink{classaare_1_1Frame}{Frame} \end{DoxyReturn} Implemented in \mbox{\hyperlink{classaare_1_1NumpyFile_a81e1a331ece6681bbfe9437e049d3b3a}{aare\+::\+Numpy\+File}}, and \mbox{\hyperlink{classaare_1_1RawFile_afc6d881b6d2f246f09a595e637afd58c}{aare\+::\+Raw\+File}}. \Hypertarget{classaare_1_1FileInterface_a1624d72f0feb1c19d507cc91c4cb414a}\label{classaare_1_1FileInterface_a1624d72f0feb1c19d507cc91c4cb414a} \index{aare::FileInterface@{aare::FileInterface}!read@{read}} \index{read@{read}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{read()}{read()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily virtual std\+::vector$<$ \mbox{\hyperlink{classaare_1_1Frame}{Frame}} $>$ aare\+::\+File\+Interface\+::read (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{n\+\_\+frames }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} read n\+\_\+frames from the file at the current position \begin{DoxyParams}{Parameters} {\em n\+\_\+frames} & number of frames to read \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} vector of frames \end{DoxyReturn} Implemented in \mbox{\hyperlink{classaare_1_1NumpyFile_a4cc861469a9dd388a937c318d3b6a13b}{aare\+::\+Numpy\+File}}, and \mbox{\hyperlink{classaare_1_1RawFile_a1adf18bc4fd91c620edfc5c9477ad11f}{aare\+::\+Raw\+File}}. \Hypertarget{classaare_1_1FileInterface_a4ac0f4e63ccf90af9f0d5b9b44db856c}\label{classaare_1_1FileInterface_a4ac0f4e63ccf90af9f0d5b9b44db856c} \index{aare::FileInterface@{aare::FileInterface}!read\_into@{read\_into}} \index{read\_into@{read\_into}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{read\_into()}{read\_into()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily virtual void aare\+::\+File\+Interface\+::read\+\_\+into (\begin{DoxyParamCaption}\item[{std\+::byte \texorpdfstring{$\ast$}{*}}]{image\+\_\+buf }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} read one frame from the file at the current position and store it in the provided buffer \begin{DoxyParams}{Parameters} {\em image\+\_\+buf} & buffer to store the frame \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} void \end{DoxyReturn} Implemented in \mbox{\hyperlink{classaare_1_1NumpyFile_a8b25fc8fa2e0ab9e38b0388504d60962}{aare\+::\+Numpy\+File}}, and \mbox{\hyperlink{classaare_1_1RawFile_afa0228d53554cf5cc192e97474361269}{aare\+::\+Raw\+File}}. \Hypertarget{classaare_1_1FileInterface_a580c71b3eecf45ce2140cd65103cfd43}\label{classaare_1_1FileInterface_a580c71b3eecf45ce2140cd65103cfd43} \index{aare::FileInterface@{aare::FileInterface}!read\_into@{read\_into}} \index{read\_into@{read\_into}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{read\_into()}{read\_into()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily virtual void aare\+::\+File\+Interface\+::read\+\_\+into (\begin{DoxyParamCaption}\item[{std\+::byte \texorpdfstring{$\ast$}{*}}]{image\+\_\+buf, }\item[{size\+\_\+t}]{n\+\_\+frames }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} read n\+\_\+frames from the file at the current position and store them in the provided buffer \begin{DoxyParams}{Parameters} {\em image\+\_\+buf} & buffer to store the frames \\ \hline {\em n\+\_\+frames} & number of frames to read \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} void \end{DoxyReturn} Implemented in \mbox{\hyperlink{classaare_1_1NumpyFile_a88f0fbdd9cf61f517d925a37854d82f8}{aare\+::\+Numpy\+File}}, and \mbox{\hyperlink{classaare_1_1RawFile_ad8dc6726891e1100035631b7365e8d31}{aare\+::\+Raw\+File}}. \Hypertarget{classaare_1_1FileInterface_a8a5bc2d9b7b9ec1a9a100bf8a114d909}\label{classaare_1_1FileInterface_a8a5bc2d9b7b9ec1a9a100bf8a114d909} \index{aare::FileInterface@{aare::FileInterface}!rows@{rows}} \index{rows@{rows}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{rows()}{rows()}} {\footnotesize\ttfamily virtual ssize\+\_\+t aare\+::\+File\+Interface\+::rows (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}} get the number of rows in the file \begin{DoxyReturn}{Returns} number of rows in the file \end{DoxyReturn} Implemented in \mbox{\hyperlink{classaare_1_1NumpyFile_a24c0cad439c52b77886c862b8093b91a}{aare\+::\+Numpy\+File}}, and \mbox{\hyperlink{classaare_1_1RawFile_a432c1b1f9a922e9951aaed0d221f5ea6}{aare\+::\+Raw\+File}}. \Hypertarget{classaare_1_1FileInterface_a49510fb96eaa245fd5d2be7f25a40b74}\label{classaare_1_1FileInterface_a49510fb96eaa245fd5d2be7f25a40b74} \index{aare::FileInterface@{aare::FileInterface}!seek@{seek}} \index{seek@{seek}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{seek()}{seek()}} {\footnotesize\ttfamily virtual void aare\+::\+File\+Interface\+::seek (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{frame\+\_\+number }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} seek to the given frame number \begin{DoxyParams}{Parameters} {\em frame\+\_\+number} & frame number to seek to \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} void \end{DoxyReturn} Implemented in \mbox{\hyperlink{classaare_1_1NumpyFile_ae4f669f86fb614e446540638d8efe1b8}{aare\+::\+Numpy\+File}}, and \mbox{\hyperlink{classaare_1_1RawFile_a5eef29c0377f5af2e18475e9ae66527c}{aare\+::\+Raw\+File}}. \Hypertarget{classaare_1_1FileInterface_abd01811dcf904625b4dbd78dd9188de4}\label{classaare_1_1FileInterface_abd01811dcf904625b4dbd78dd9188de4} \index{aare::FileInterface@{aare::FileInterface}!tell@{tell}} \index{tell@{tell}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{tell()}{tell()}} {\footnotesize\ttfamily virtual size\+\_\+t aare\+::\+File\+Interface\+::tell (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} get the current position of the file pointer \begin{DoxyReturn}{Returns} current position of the file pointer \end{DoxyReturn} Implemented in \mbox{\hyperlink{classaare_1_1NumpyFile_a022af0b9d792abb00a9dc661beb3e9a2}{aare\+::\+Numpy\+File}}, and \mbox{\hyperlink{classaare_1_1RawFile_aa0773872c1e6dd2ab86df2bfff35dee8}{aare\+::\+Raw\+File}}. \Hypertarget{classaare_1_1FileInterface_ad4391bafd11f77f807114ba5108071d3}\label{classaare_1_1FileInterface_ad4391bafd11f77f807114ba5108071d3} \index{aare::FileInterface@{aare::FileInterface}!total\_frames@{total\_frames}} \index{total\_frames@{total\_frames}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{total\_frames()}{total\_frames()}} {\footnotesize\ttfamily virtual size\+\_\+t aare\+::\+File\+Interface\+::total\+\_\+frames (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}} get the total number of frames in the file \begin{DoxyReturn}{Returns} total number of frames in the file \end{DoxyReturn} Implemented in \mbox{\hyperlink{classaare_1_1NumpyFile_afec228003225dcc91b16227d24c58d37}{aare\+::\+Numpy\+File}}, and \mbox{\hyperlink{classaare_1_1RawFile_a88a1e49617855a0984acf2bd70b3d209}{aare\+::\+Raw\+File}}. \Hypertarget{classaare_1_1FileInterface_a5d39033c9d218d53d51413b99bf7d1f4}\label{classaare_1_1FileInterface_a5d39033c9d218d53d51413b99bf7d1f4} \index{aare::FileInterface@{aare::FileInterface}!write@{write}} \index{write@{write}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{write()}{write()}} {\footnotesize\ttfamily virtual void aare\+::\+File\+Interface\+::write (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classaare_1_1Frame}{Frame}} \&}]{frame }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} write a frame to the file \begin{DoxyParams}{Parameters} {\em frame} & frame to write \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} void \end{DoxyReturn} \begin{DoxyExceptions}{Exceptions} {\em std\+::runtime\+\_\+error} & if the function is not implemented \\ \hline \end{DoxyExceptions} Implemented in \mbox{\hyperlink{classaare_1_1NumpyFile_a12b0ddf6334dfab4ac0993cd9c45f738}{aare\+::\+Numpy\+File}}, and \mbox{\hyperlink{classaare_1_1RawFile_ae9312684dfa014dede39e4c81d62abcd}{aare\+::\+Raw\+File}}. \doxysubsection{Field Documentation} \Hypertarget{classaare_1_1FileInterface_ab96f5dd0c99fb7b5a527da812368d736}\label{classaare_1_1FileInterface_ab96f5dd0c99fb7b5a527da812368d736} \index{aare::FileInterface@{aare::FileInterface}!current\_frame@{current\_frame}} \index{current\_frame@{current\_frame}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{current\_frame}{current\_frame}} {\footnotesize\ttfamily size\+\_\+t aare\+::\+File\+Interface\+::current\+\_\+frame \{\}} \Hypertarget{classaare_1_1FileInterface_adae2b35fc6a3f185e9eb263c97bc024b}\label{classaare_1_1FileInterface_adae2b35fc6a3f185e9eb263c97bc024b} \index{aare::FileInterface@{aare::FileInterface}!m\_base\_name@{m\_base\_name}} \index{m\_base\_name@{m\_base\_name}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{m\_base\_name}{m\_base\_name}} {\footnotesize\ttfamily std\+::string aare\+::\+File\+Interface\+::m\+\_\+base\+\_\+name} \Hypertarget{classaare_1_1FileInterface_afdd0a1a75618ad5db2f4794e0900b2f4}\label{classaare_1_1FileInterface_afdd0a1a75618ad5db2f4794e0900b2f4} \index{aare::FileInterface@{aare::FileInterface}!m\_base\_path@{m\_base\_path}} \index{m\_base\_path@{m\_base\_path}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{m\_base\_path}{m\_base\_path}} {\footnotesize\ttfamily std\+::filesystem\+::path aare\+::\+File\+Interface\+::m\+\_\+base\+\_\+path} \Hypertarget{classaare_1_1FileInterface_a252d27cbbfcdfc528b86925eaac55bb7}\label{classaare_1_1FileInterface_a252d27cbbfcdfc528b86925eaac55bb7} \index{aare::FileInterface@{aare::FileInterface}!m\_bitdepth@{m\_bitdepth}} \index{m\_bitdepth@{m\_bitdepth}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{m\_bitdepth}{m\_bitdepth}} {\footnotesize\ttfamily ssize\+\_\+t aare\+::\+File\+Interface\+::m\+\_\+bitdepth \{\}} \Hypertarget{classaare_1_1FileInterface_ad4c9991c30a71ba83cbaab283bc756b5}\label{classaare_1_1FileInterface_ad4c9991c30a71ba83cbaab283bc756b5} \index{aare::FileInterface@{aare::FileInterface}!m\_cols@{m\_cols}} \index{m\_cols@{m\_cols}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{m\_cols}{m\_cols}} {\footnotesize\ttfamily ssize\+\_\+t aare\+::\+File\+Interface\+::m\+\_\+cols \{\}} \Hypertarget{classaare_1_1FileInterface_a5fffaf9a7c8ae2b3a2ebe89b9c94ed34}\label{classaare_1_1FileInterface_a5fffaf9a7c8ae2b3a2ebe89b9c94ed34} \index{aare::FileInterface@{aare::FileInterface}!m\_ext@{m\_ext}} \index{m\_ext@{m\_ext}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{m\_ext}{m\_ext}} {\footnotesize\ttfamily std\+::string aare\+::\+File\+Interface\+::m\+\_\+ext} \Hypertarget{classaare_1_1FileInterface_a30e926a897b534ab9a327d40594ff191}\label{classaare_1_1FileInterface_a30e926a897b534ab9a327d40594ff191} \index{aare::FileInterface@{aare::FileInterface}!m\_findex@{m\_findex}} \index{m\_findex@{m\_findex}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{m\_findex}{m\_findex}} {\footnotesize\ttfamily int aare\+::\+File\+Interface\+::m\+\_\+findex} \Hypertarget{classaare_1_1FileInterface_a325f6603f564fb42f8f28f1136b5e329}\label{classaare_1_1FileInterface_a325f6603f564fb42f8f28f1136b5e329} \index{aare::FileInterface@{aare::FileInterface}!m\_fname@{m\_fname}} \index{m\_fname@{m\_fname}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{m\_fname}{m\_fname}} {\footnotesize\ttfamily std\+::filesystem\+::path aare\+::\+File\+Interface\+::m\+\_\+fname} \Hypertarget{classaare_1_1FileInterface_ab1d0e6de947affd5af9740eb06888fc6}\label{classaare_1_1FileInterface_ab1d0e6de947affd5af9740eb06888fc6} \index{aare::FileInterface@{aare::FileInterface}!m\_mode@{m\_mode}} \index{m\_mode@{m\_mode}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{m\_mode}{m\_mode}} {\footnotesize\ttfamily std\+::string aare\+::\+File\+Interface\+::m\+\_\+mode} \Hypertarget{classaare_1_1FileInterface_ae29d98625cf56989e2c5237ace0d0f4c}\label{classaare_1_1FileInterface_ae29d98625cf56989e2c5237ace0d0f4c} \index{aare::FileInterface@{aare::FileInterface}!m\_rows@{m\_rows}} \index{m\_rows@{m\_rows}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{m\_rows}{m\_rows}} {\footnotesize\ttfamily ssize\+\_\+t aare\+::\+File\+Interface\+::m\+\_\+rows \{\}} \Hypertarget{classaare_1_1FileInterface_a91551fada444b231294c095f3f5fb768}\label{classaare_1_1FileInterface_a91551fada444b231294c095f3f5fb768} \index{aare::FileInterface@{aare::FileInterface}!m\_total\_frames@{m\_total\_frames}} \index{m\_total\_frames@{m\_total\_frames}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{m\_total\_frames}{m\_total\_frames}} {\footnotesize\ttfamily size\+\_\+t aare\+::\+File\+Interface\+::m\+\_\+total\+\_\+frames \{\}} \Hypertarget{classaare_1_1FileInterface_a9476a299cea6b4e97605135a28d0cb60}\label{classaare_1_1FileInterface_a9476a299cea6b4e97605135a28d0cb60} \index{aare::FileInterface@{aare::FileInterface}!m\_type@{m\_type}} \index{m\_type@{m\_type}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{m\_type}{m\_type}} {\footnotesize\ttfamily \mbox{\hyperlink{namespaceaare_a5b95afba95553c1e118e1478c69042f7}{Detector\+Type}} aare\+::\+File\+Interface\+::m\+\_\+type} \Hypertarget{classaare_1_1FileInterface_ab0762d7652c9a4e1afe6dbb7d7325ac9}\label{classaare_1_1FileInterface_ab0762d7652c9a4e1afe6dbb7d7325ac9} \index{aare::FileInterface@{aare::FileInterface}!max\_frames\_per\_file@{max\_frames\_per\_file}} \index{max\_frames\_per\_file@{max\_frames\_per\_file}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{max\_frames\_per\_file}{max\_frames\_per\_file}} {\footnotesize\ttfamily size\+\_\+t aare\+::\+File\+Interface\+::max\+\_\+frames\+\_\+per\+\_\+file \{\}} \Hypertarget{classaare_1_1FileInterface_a44cbe933bbd2cae1f48213121d15bce2}\label{classaare_1_1FileInterface_a44cbe933bbd2cae1f48213121d15bce2} \index{aare::FileInterface@{aare::FileInterface}!version@{version}} \index{version@{version}!aare::FileInterface@{aare::FileInterface}} \doxysubsubsection{\texorpdfstring{version}{version}} {\footnotesize\ttfamily std\+::string aare\+::\+File\+Interface\+::version} The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item file\+\_\+io/include/aare/file\+\_\+io/\mbox{\hyperlink{FileInterface_8hpp}{File\+Interface.\+hpp}}\end{DoxyCompactItemize}