\hypertarget{class_d_d4hep_1_1_path}{\section{D\-D4hep\-:\-:Path Class Reference}
\label{class_d_d4hep_1_1_path}\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}}
}


\hyperlink{class_d_d4hep_1_1_path}{Path} handling class.  




{\ttfamily \#include $<$Path.\-h$>$}

Inheritance diagram for D\-D4hep\-:\-:Path\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{class_d_d4hep_1_1_path}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{class_d_d4hep_1_1_path_1_1detail}{detail}
\begin{DoxyCompactList}\small\item\em Helpers. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_d_d4hep_1_1_path_a43d8eda2bc0394eca5d44ded6556d434}{Path} ()
\begin{DoxyCompactList}\small\item\em Default constructor. \end{DoxyCompactList}\item 
\hyperlink{class_d_d4hep_1_1_path_a29df9b52c07dfecc7015aec057ffe113}{Path} (const std\-::string \&c)
\begin{DoxyCompactList}\small\item\em Initializing constructor. \end{DoxyCompactList}\item 
\hyperlink{class_d_d4hep_1_1_path_aacc0beb72c34b440b89ef40eeec0fe97}{Path} (const \hyperlink{class_d_d4hep_1_1_path}{Path} \&c)
\begin{DoxyCompactList}\small\item\em Copy constructor. \end{DoxyCompactList}\item 
{\footnotesize template$<$class Iter $>$ }\\\hyperlink{class_d_d4hep_1_1_path_ad172701df31032c89397b47832fc5a31}{Path} (Iter \-\_\-begin, Iter \-\_\-end)
\begin{DoxyCompactList}\small\item\em Assigning constructor. \end{DoxyCompactList}\item 
\hyperlink{class_d_d4hep_1_1_path_ac39064d1578702ce969c7b1e1bcb5912}{$\sim$\-Path} ()
\begin{DoxyCompactList}\small\item\em Default destructor. \end{DoxyCompactList}\item 
\hyperlink{class_d_d4hep_1_1_path}{Path} \& \hyperlink{class_d_d4hep_1_1_path_a9d22ed81a818b6d7e982af1c4ea01dc4}{operator=} (const \hyperlink{class_d_d4hep_1_1_path}{Path} \&c)
\begin{DoxyCompactList}\small\item\em Assignment operator from \hyperlink{class_d_d4hep_1_1_path}{Path} object. \end{DoxyCompactList}\item 
\hyperlink{class_d_d4hep_1_1_path}{Path} \& \hyperlink{class_d_d4hep_1_1_path_aa1a61f3b3eab565724525f423fe465e6}{operator=} (const std\-::string \&c)
\begin{DoxyCompactList}\small\item\em Assignment operator from string object. \end{DoxyCompactList}\item 
\hyperlink{class_d_d4hep_1_1_path}{Path} \& \hyperlink{class_d_d4hep_1_1_path_aede85dabc3b61fe22482f3fcf4fd8fad}{append} (const std\-::string \&c)
\begin{DoxyCompactList}\small\item\em Append operation. \end{DoxyCompactList}\item 
\hyperlink{class_d_d4hep_1_1_path}{Path} \& \hyperlink{class_d_d4hep_1_1_path_aeaa34e8637a1d259e32e28691f6baef6}{operator/=} (const \hyperlink{class_d_d4hep_1_1_path}{Path} \&c)
\begin{DoxyCompactList}\small\item\em Append operation. \end{DoxyCompactList}\item 
\hyperlink{class_d_d4hep_1_1_path}{Path} \& \hyperlink{class_d_d4hep_1_1_path_a523dd8b394e298b16ec54d602b85a87d}{operator/=} (const std\-::string \&c)
\begin{DoxyCompactList}\small\item\em Append operation. \end{DoxyCompactList}\item 
\hyperlink{class_d_d4hep_1_1_path}{Path} \hyperlink{class_d_d4hep_1_1_path_a3e3d682aa7c70d1c644d67f9e26465e9}{normalize} () const 
\begin{DoxyCompactList}\small\item\em Normalize path name. \end{DoxyCompactList}\item 
\hyperlink{class_d_d4hep_1_1_path}{Path} \hyperlink{class_d_d4hep_1_1_path_a0d758ba490f36635b39a7e2e8c6102b2}{parent\-\_\-path} () const 
\begin{DoxyCompactList}\small\item\em Parent's path. \end{DoxyCompactList}\item 
\hyperlink{class_d_d4hep_1_1_path}{Path} \hyperlink{class_d_d4hep_1_1_path_af8ae8422a7922589ff46d82e222658d0}{filename} () const 
\begin{DoxyCompactList}\small\item\em The file name of the path. \end{DoxyCompactList}\item 
\hyperlink{class_d_d4hep_1_1_path}{Path} \hyperlink{class_d_d4hep_1_1_path_a82c9926859aafdb6b107001787f6fecb}{file\-\_\-path} () const 
\begin{DoxyCompactList}\small\item\em The full file path of the object. \end{DoxyCompactList}\item 
\hyperlink{class_d_d4hep_1_1_path}{Path} \& \hyperlink{class_d_d4hep_1_1_path_aa969a2f648dce5181c569478cd69c0be}{remove\-\_\-filename} ()
\begin{DoxyCompactList}\small\item\em Manipulator\-: remove the file name part. Leaves the parent path. \end{DoxyCompactList}\item 
const std\-::string \& \hyperlink{class_d_d4hep_1_1_path_a7d991762025ef6fe125386880be1f690}{native} () const 
\begin{DoxyCompactList}\small\item\em String representation of thre \hyperlink{class_d_d4hep_1_1_path}{Path} object. \end{DoxyCompactList}\item 
const char $\ast$ \hyperlink{class_d_d4hep_1_1_path_aac27606d4acb5641d6a5b3e4a4c2f3bb}{string\-\_\-data} () const 
\begin{DoxyCompactList}\small\item\em String representation of thre \hyperlink{class_d_d4hep_1_1_path}{Path} object. \end{DoxyCompactList}\item 
size\-\_\-t \hyperlink{class_d_d4hep_1_1_path_a5f107fe34944be1f0ee85b0e886232b7}{parent\-\_\-path\-\_\-end} () const 
\begin{DoxyCompactList}\small\item\em Index of the parent's path end. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{class_d_d4hep_1_1_path}{Path} handling class. 

Normally this could as well be replaced by boost\-::filesystem\-::path.

However, the L\-C folks do not like the additional link-\/dependency. Hence this small extraction. The main code comes from the boost implementation.

See \href{http://www.boost.org/LICENSE_1_0.txt}{\tt http\-://www.\-boost.\-org/\-L\-I\-C\-E\-N\-S\-E\-\_\-1\-\_\-0.\-txt} for the license and the filesystem library home page\-: \href{http://www.boost.org/libs/filesystem}{\tt http\-://www.\-boost.\-org/libs/filesystem}

\begin{DoxyAuthor}{Author}
M.\-Frank 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}
1.\-0 
\end{DoxyVersion}


Definition at line 45 of file Path.\-h.



\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_d_d4hep_1_1_path_a43d8eda2bc0394eca5d44ded6556d434}{\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}!Path@{Path}}
\index{Path@{Path}!DD4hep::Path@{D\-D4hep\-::\-Path}}
\subsubsection[{Path}]{\setlength{\rightskip}{0pt plus 5cm}D\-D4hep\-::\-Path\-::\-Path (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_path_a43d8eda2bc0394eca5d44ded6556d434}


Default constructor. 



Definition at line 48 of file Path.\-h.

\hypertarget{class_d_d4hep_1_1_path_a29df9b52c07dfecc7015aec057ffe113}{\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}!Path@{Path}}
\index{Path@{Path}!DD4hep::Path@{D\-D4hep\-::\-Path}}
\subsubsection[{Path}]{\setlength{\rightskip}{0pt plus 5cm}D\-D4hep\-::\-Path\-::\-Path (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{c}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_path_a29df9b52c07dfecc7015aec057ffe113}


Initializing constructor. 



Definition at line 50 of file Path.\-h.

\hypertarget{class_d_d4hep_1_1_path_aacc0beb72c34b440b89ef40eeec0fe97}{\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}!Path@{Path}}
\index{Path@{Path}!DD4hep::Path@{D\-D4hep\-::\-Path}}
\subsubsection[{Path}]{\setlength{\rightskip}{0pt plus 5cm}D\-D4hep\-::\-Path\-::\-Path (
\begin{DoxyParamCaption}
\item[{const {\bf Path} \&}]{c}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_path_aacc0beb72c34b440b89ef40eeec0fe97}


Copy constructor. 



Definition at line 52 of file Path.\-h.

\hypertarget{class_d_d4hep_1_1_path_ad172701df31032c89397b47832fc5a31}{\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}!Path@{Path}}
\index{Path@{Path}!DD4hep::Path@{D\-D4hep\-::\-Path}}
\subsubsection[{Path}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Iter $>$ D\-D4hep\-::\-Path\-::\-Path (
\begin{DoxyParamCaption}
\item[{Iter}]{\-\_\-begin, }
\item[{Iter}]{\-\_\-end}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_path_ad172701df31032c89397b47832fc5a31}


Assigning constructor. 



Definition at line 54 of file Path.\-h.



References s.

\hypertarget{class_d_d4hep_1_1_path_ac39064d1578702ce969c7b1e1bcb5912}{\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}!$\sim$\-Path@{$\sim$\-Path}}
\index{$\sim$\-Path@{$\sim$\-Path}!DD4hep::Path@{D\-D4hep\-::\-Path}}
\subsubsection[{$\sim$\-Path}]{\setlength{\rightskip}{0pt plus 5cm}D\-D4hep\-::\-Path\-::$\sim$\-Path (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_path_ac39064d1578702ce969c7b1e1bcb5912}


Default destructor. 



Definition at line 61 of file Path.\-h.



\subsection{Member Function Documentation}
\hypertarget{class_d_d4hep_1_1_path_aede85dabc3b61fe22482f3fcf4fd8fad}{\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}!append@{append}}
\index{append@{append}!DD4hep::Path@{D\-D4hep\-::\-Path}}
\subsubsection[{append}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Path} \& Path\-::append (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{c}
\end{DoxyParamCaption}
)}}\label{class_d_d4hep_1_1_path_aede85dabc3b61fe22482f3fcf4fd8fad}


Append operation. 



Definition at line 106 of file Path.\-cpp.



Referenced by operator/=().

\hypertarget{class_d_d4hep_1_1_path_a82c9926859aafdb6b107001787f6fecb}{\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}!file\-\_\-path@{file\-\_\-path}}
\index{file\-\_\-path@{file\-\_\-path}!DD4hep::Path@{D\-D4hep\-::\-Path}}
\subsubsection[{file\-\_\-path}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Path} Path\-::file\-\_\-path (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{class_d_d4hep_1_1_path_a82c9926859aafdb6b107001787f6fecb}


The full file path of the object. 



Definition at line 220 of file Path.\-cpp.

\hypertarget{class_d_d4hep_1_1_path_af8ae8422a7922589ff46d82e222658d0}{\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}!filename@{filename}}
\index{filename@{filename}!DD4hep::Path@{D\-D4hep\-::\-Path}}
\subsubsection[{filename}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Path} Path\-::filename (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{class_d_d4hep_1_1_path_af8ae8422a7922589ff46d82e222658d0}


The file name of the path. 



Definition at line 209 of file Path.\-cpp.



Referenced by normalize().

\hypertarget{class_d_d4hep_1_1_path_a7d991762025ef6fe125386880be1f690}{\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}!native@{native}}
\index{native@{native}!DD4hep::Path@{D\-D4hep\-::\-Path}}
\subsubsection[{native}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::string\& D\-D4hep\-::\-Path\-::native (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_path_a7d991762025ef6fe125386880be1f690}


String representation of thre \hyperlink{class_d_d4hep_1_1_path}{Path} object. 



Definition at line 90 of file Path.\-h.



Referenced by normalize().

\hypertarget{class_d_d4hep_1_1_path_a3e3d682aa7c70d1c644d67f9e26465e9}{\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}!normalize@{normalize}}
\index{normalize@{normalize}!DD4hep::Path@{D\-D4hep\-::\-Path}}
\subsubsection[{normalize}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Path} Path\-::normalize (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{class_d_d4hep_1_1_path_a3e3d682aa7c70d1c644d67f9e26465e9}


Normalize path name. 



Definition at line 112 of file Path.\-cpp.



References filename(), native(), and remove\-\_\-filename().

\hypertarget{class_d_d4hep_1_1_path_aeaa34e8637a1d259e32e28691f6baef6}{\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}!operator/=@{operator/=}}
\index{operator/=@{operator/=}!DD4hep::Path@{D\-D4hep\-::\-Path}}
\subsubsection[{operator/=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Path}\& D\-D4hep\-::\-Path\-::operator/= (
\begin{DoxyParamCaption}
\item[{const {\bf Path} \&}]{c}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_path_aeaa34e8637a1d259e32e28691f6baef6}


Append operation. 



Definition at line 75 of file Path.\-h.



References append().

\hypertarget{class_d_d4hep_1_1_path_a523dd8b394e298b16ec54d602b85a87d}{\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}!operator/=@{operator/=}}
\index{operator/=@{operator/=}!DD4hep::Path@{D\-D4hep\-::\-Path}}
\subsubsection[{operator/=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Path}\& D\-D4hep\-::\-Path\-::operator/= (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{c}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_path_a523dd8b394e298b16ec54d602b85a87d}


Append operation. 



Definition at line 77 of file Path.\-h.



References append().

\hypertarget{class_d_d4hep_1_1_path_a9d22ed81a818b6d7e982af1c4ea01dc4}{\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}!operator=@{operator=}}
\index{operator=@{operator=}!DD4hep::Path@{D\-D4hep\-::\-Path}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Path}\& D\-D4hep\-::\-Path\-::operator= (
\begin{DoxyParamCaption}
\item[{const {\bf Path} \&}]{c}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_path_a9d22ed81a818b6d7e982af1c4ea01dc4}


Assignment operator from \hyperlink{class_d_d4hep_1_1_path}{Path} object. 



Definition at line 63 of file Path.\-h.

\hypertarget{class_d_d4hep_1_1_path_aa1a61f3b3eab565724525f423fe465e6}{\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}!operator=@{operator=}}
\index{operator=@{operator=}!DD4hep::Path@{D\-D4hep\-::\-Path}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Path}\& D\-D4hep\-::\-Path\-::operator= (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{c}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_path_aa1a61f3b3eab565724525f423fe465e6}


Assignment operator from string object. 



Definition at line 68 of file Path.\-h.

\hypertarget{class_d_d4hep_1_1_path_a0d758ba490f36635b39a7e2e8c6102b2}{\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}!parent\-\_\-path@{parent\-\_\-path}}
\index{parent\-\_\-path@{parent\-\_\-path}!DD4hep::Path@{D\-D4hep\-::\-Path}}
\subsubsection[{parent\-\_\-path}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Path} Path\-::parent\-\_\-path (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{class_d_d4hep_1_1_path_a0d758ba490f36635b39a7e2e8c6102b2}


Parent's path. 



Definition at line 204 of file Path.\-cpp.

\hypertarget{class_d_d4hep_1_1_path_a5f107fe34944be1f0ee85b0e886232b7}{\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}!parent\-\_\-path\-\_\-end@{parent\-\_\-path\-\_\-end}}
\index{parent\-\_\-path\-\_\-end@{parent\-\_\-path\-\_\-end}!DD4hep::Path@{D\-D4hep\-::\-Path}}
\subsubsection[{parent\-\_\-path\-\_\-end}]{\setlength{\rightskip}{0pt plus 5cm}size\-\_\-t Path\-::parent\-\_\-path\-\_\-end (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{class_d_d4hep_1_1_path_a5f107fe34944be1f0ee85b0e886232b7}


Index of the parent's path end. 



Definition at line 183 of file Path.\-cpp.

\hypertarget{class_d_d4hep_1_1_path_aa969a2f648dce5181c569478cd69c0be}{\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}!remove\-\_\-filename@{remove\-\_\-filename}}
\index{remove\-\_\-filename@{remove\-\_\-filename}!DD4hep::Path@{D\-D4hep\-::\-Path}}
\subsubsection[{remove\-\_\-filename}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Path} \& Path\-::remove\-\_\-filename (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{class_d_d4hep_1_1_path_aa969a2f648dce5181c569478cd69c0be}


Manipulator\-: remove the file name part. Leaves the parent path. 



Definition at line 199 of file Path.\-cpp.



Referenced by normalize().

\hypertarget{class_d_d4hep_1_1_path_aac27606d4acb5641d6a5b3e4a4c2f3bb}{\index{D\-D4hep\-::\-Path@{D\-D4hep\-::\-Path}!string\-\_\-data@{string\-\_\-data}}
\index{string\-\_\-data@{string\-\_\-data}!DD4hep::Path@{D\-D4hep\-::\-Path}}
\subsubsection[{string\-\_\-data}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ D\-D4hep\-::\-Path\-::string\-\_\-data (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_d_d4hep_1_1_path_aac27606d4acb5641d6a5b3e4a4c2f3bb}


String representation of thre \hyperlink{class_d_d4hep_1_1_path}{Path} object. 



Definition at line 92 of file Path.\-h.



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
/opt/ilcsoft/\-H\-E\-A\-D-\/2016-\/12-\/02/\-D\-D4hep/\-H\-E\-A\-D/\-D\-D\-Core/include/\-D\-D4hep/\hyperlink{_path_8h}{Path.\-h}\item 
/opt/ilcsoft/\-H\-E\-A\-D-\/2016-\/12-\/02/\-D\-D4hep/\-H\-E\-A\-D/\-D\-D\-Core/src/\hyperlink{_path_8cpp}{Path.\-cpp}\end{DoxyCompactItemize}
