% +------------------------------------------------------------------------+
% | Reference manual page: PDB.tex
% +------------------------------------------------------------------------+
% | 10.04.2009   Author
% | Package: PDB
% |
\RCSdef{\RCSPDBRev}{$Id: header.tex 40270 2007-09-07 15:29:10Z lsaboret $}
\RCSdefDate{\RCSPDBDate}{$Date: 2007-09-07 08:29:10 -0700 (Fri, 07 Sep 2007) $}
% |
\ccRefPageBegin
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+


\begin{ccRefClass}[PDB::]{PDB}  %% add template arg's if necessary

%% \ccHtmlCrossLink{}     %% add further rules for cross referencing links
%% \ccHtmlIndexC[class]{} %% add further index entries

\ccDefinition

% The section below is automatically generated. Do not edit!
%START-AUTO(\ccDefinition)

A class for representing a whole PDB file with possibly several models.

See \ccc{pdb_split}.cpp for an example manipulating a PDB by splitting it into parts.

%END-AUTO(\ccDefinition)
  
% The section below is automatically generated. Do not edit!
%START-AUTO(\ccInclude)

\ccInclude{CGAL/PDB/PDB.h}

%END-AUTO(\ccInclude)

\ccIsModel

\ccTypes

% The section below is automatically generated. Do not edit!
%START-AUTO(\ccTypes)

\ccNestedType{Model_key}
{
}
\ccGlue
\ccNestedType{Headers}
{
An iterator through the unparsed \ccc{std::string} lines of the header of the PDB.
}
\ccGlue
\ccNestedType{Models}
{
An iterator through the Model objects in the PDB.
}
\ccGlue
\ccNestedType{Model_consts}
{
}
\ccGlue
\ccNestedType{Chains}
{
An iterator through the \ccc{PDB::Chain} objects contained in the PDB.
}
\ccGlue
\ccNestedType{Chain_consts}
{
}
\ccGlue

%END-AUTO(\ccTypes)

\ccCreation
\ccCreationVariable{a}  %% choose variable name

% The section below is automatically generated. Do not edit!
%START-AUTO(\ccCreation)

\ccConstructor{PDB(std::istream& in, bool print_errors = false);}
{
Read a pdb file from the stream.
The optional bool controls whether errors (such as unparsable PDB lines). Set it to false to disable printing errors.
}
\ccGlue
\ccConstructor{PDB();}
{
Construct a empty PDB.
}
\ccGlue

%END-AUTO(\ccCreation)

\ccOperations

% The section below is automatically generated. Do not edit!
%START-AUTO(\ccOperations)

\ccMethod{std::ostream& write(std::ostream& out) const;}
{
Write a pdb file to the stream.
}
\ccGlue
\ccMethod{Model_key push_back(const Model& m);}
{
add a model with an automatically chosen number
}
\ccGlue
\ccMethod{bool empty() const;}
{
check if there are no models
}
\ccGlue
\ccMethod{void swap_with(PDB& o);}
{
}
\ccGlue
\ccMethod{template<class It> void set_header(It b, It e);}
{
Set the header.
}
\ccGlue
\ccMethod{Headers headers() const;}
{
}
\ccGlue
\ccMethod{Models models();}
{
}
\ccGlue
\ccMethod{Model_consts models() const;}
{
}
\ccGlue
\ccMethod{bool contains(Model_key k) const;}
{
Find a Model with the given key, return \ccc{models_end}() if none is found.
}
\ccGlue
\ccMethod{Models::iterator::reference get(Model_key k);}
{
}
\ccGlue
\ccMethod{Models::iterator find(Model_key k);}
{
}
\ccGlue
\ccMethod{Model_consts::const_iterator::value_type get(Model_key k) const;}
{
}
\ccGlue
\ccMethod{Model_consts::const_iterator find(Model_key k) const;}
{
}
\ccGlue
\ccMethod{void insert(Model_key k, const Model& m);}
{
Add a model (or change an existing one).
}
\ccGlue
\ccMethod{Chains chains();}
{
}
\ccGlue
\ccMethod{Chain_consts chains() const;}
{
}
\ccGlue

%END-AUTO(\ccOperations)

\ccSeeAlso

\ccExample

A short example program.
Instead of a short program fragment, a full running program can be
included using the 
\verb|\ccIncludeExampleCode{PDB/PDB.C}| 
macro. The program example would be part of the source code distribution and
also part of the automatic test suite.

\begin{ccExampleCode}
void your_example_code() {
}
\end{ccExampleCode}

%% \ccIncludeExampleCode{PDB/PDB.C}

\end{ccRefClass}

% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
\ccRefPageEnd
% EOF
% +------------------------------------------------------------------------+

