Chemical Data Processing Library C++ API - Version 1.4.0
AtomBondMapping.hpp
Go to the documentation of this file.
1 /*
2  * AtomBondMapping.hpp
3  *
4  * This file is part of the Chemical Data Processing Toolkit
5  *
6  * Copyright (C) 2003 Thomas Seidel <thomas.seidel@univie.ac.at>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public License
19  * along with this library; see the file COPYING. If not, write to
20  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21  * Boston, MA 02111-1307, USA.
22  */
23 
29 #ifndef CDPL_CHEM_ATOMBONDMAPPING_HPP
30 #define CDPL_CHEM_ATOMBONDMAPPING_HPP
31 
32 #include <memory>
33 
34 #include "CDPL/Chem/APIPrefix.hpp"
37 
38 
39 namespace CDPL
40 {
41 
42  namespace Chem
43  {
44 
55  {
56 
57  public:
61  typedef std::shared_ptr<AtomBondMapping> SharedPointer;
62 
68  const AtomMapping& getAtomMapping() const;
69 
75  const BondMapping& getBondMapping() const;
76 
83 
90 
94  void clear();
95 
102  bool operator==(const AtomBondMapping& mapping) const;
103 
114  bool operator!=(const AtomBondMapping& mapping) const;
115 
116  private:
117  AtomMapping atomMapping;
118  BondMapping bondMapping;
119  };
120  } // namespace Chem
121 } // namespace CDPL
122 
123 #endif // CDPL_CHEM_ATOMBONDMAPPING_HPP
Definition of the type CDPL::Chem::AtomMapping.
Definition of the type CDPL::Chem::BondMapping.
Definition of the preprocessor macro CDPL_CHEM_API.
#define CDPL_CHEM_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Data structure for the common storage of related atom to atom and bond to bond mappings.
Definition: AtomBondMapping.hpp:55
const BondMapping & getBondMapping() const
Returns a const reference to the Chem::BondMapping data member storing the bond to bond mappings.
bool operator==(const AtomBondMapping &mapping) const
Equality comparison operator.
std::shared_ptr< AtomBondMapping > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated AtomBondMapping instances.
Definition: AtomBondMapping.hpp:61
AtomMapping & getAtomMapping()
Returns a non-const reference to the Chem::AtomMapping data member storing the atom to atom mappings.
const AtomMapping & getAtomMapping() const
Returns a const reference to the Chem::AtomMapping data member storing the atom to atom mappings.
bool operator!=(const AtomBondMapping &mapping) const
Inequality comparison operator.
BondMapping & getBondMapping()
Returns a non-const reference to the Chem::BondMapping data member storing the bond to bond mappings.
void clear()
Removes all atom to atom and bond to bond mappings.
Data type for the storage and lookup of arbitrary atom to atom mappings.
Definition: AtomMapping.hpp:54
Data type for the storage and lookup of arbitrary bond to bond mappings.
Definition: BondMapping.hpp:54
The namespace of the Chemical Data Processing Library.