File: pdbTemplateItem.h

/* DUCTAPE Version 2.0                                                   */
/* Copyright (C) 2001                                                    */
/* Forschungszentrum Juelich, Zentralinstitut fuer Angewandte Mathematik */


#include "pdbFatItem.h"
#include "pdbTemplateArg.h"

class pdbTemplateItem: public pdbFatItem {
  pdbTemplateItem(int id);
  pdbTemplateItem(const string& name, int id);
  virtual ~pdbTemplateItem();

  virtual ostream& print(ostream& ostr) const;
  virtual void adjustPtrs(PDB* p);

  static const pdbTemplate* TE_UNKNOWN;

  typedef vector<pdbTemplateArg> targvec;

  const pdbTemplate *isTemplate() const;
  bool isSpecialized() const;
  const targvec& speclArguments() const;

  void isTemplate(const pdbTemplate *templ);
  void isSpecialized(bool s);
  void addSpeclArgument(const pdbTemplateArg& targ);

  const pdbTemplate *tmpl;
  bool               isSpecl;
  targvec            sargs;

#ifndef NO_INLINE
#  include "pdbTemplateItem.inl"

Back to Index
Key to Colors and Styles