OpenStructure
minimal_compound_lib.hh
Go to the documentation of this file.
1 
2 #ifndef OST_CONOP_MINIMAL_COMPOUND_LIB_HH
3 #define OST_CONOP_MINIMAL_COMPOUND_LIB_HH
4 
5 #include "compound_lib_base.hh"
6 
7 namespace ost { namespace conop {
8 
9 class MinimalCompoundLib;
10 typedef boost::shared_ptr<MinimalCompoundLib> MinimalCompoundLibPtr;
11 
12 // a minimal compound lib containing the definitions of the 20 standard
13 // amino acids and standard nucleotides
15 public:
18  {}
19  virtual CompoundPtr FindCompound(const String& id,
20  Compound::Dialect dialect) const;
21 private:
22  static CompoundMap InitCompounds();
23  // since this information is never going to change, it is shared
24  // between instances of minimal compound lib.
25  static CompoundMap compounds_;
26 };
27 
28 
29 }}
30 #endif
virtual CompoundPtr FindCompound(const String &id, Compound::Dialect dialect) const
#define DLLEXPORT_OST_CONOP
std::string String
Definition: base.hh:54
boost::shared_ptr< Compound > CompoundPtr
Definition: compound.hh:134
boost::shared_ptr< MinimalCompoundLib > MinimalCompoundLibPtr
std::map< String, CompoundPtr > CompoundMap
Definition: compound.hh:322
Definition: base.dox:1