File: pdbTemplate.inl


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

inline pdbTemplate::pdbTemplate(int id)
       : pdbFatItem(id), knd(TE_NA), rproto(0), def(0), decl(0) {}
inline pdbTemplate::pdbTemplate(const string& name, int id)
       : pdbFatItem(name, id), knd(TE_NA), rproto(0), def(0), decl(0) {}

inline const char *pdbTemplate::desc() const { return "template"; }

inline pdbTemplate::templ_t pdbTemplate::kind() const { return knd; }
inline const string& pdbTemplate::text() const { return txt; }
inline const pdbTemplate::targvec& pdbTemplate::arguments() const {
  return args;
}
inline const pdbCRoutine* pdbTemplate::funcProtoInst() const {
  return (kind() == TE_FUNC || kind() == TE_MEMFUNC ? rproto : 0);
}
inline const pdbClass* pdbTemplate::classProtoInst() const {
  return (kind() == TE_CLASS || kind() == TE_MEMCLASS ? cproto : 0);
}
inline const pdbType* pdbTemplate::statMemType() const {
  return (kind() == TE_STATMEM ? stype : 0);
}
inline const pdbTemplate* pdbTemplate::declaration() const { return decl; }
inline const pdbTemplate* pdbTemplate::definition() const { return def; }
inline const pdbTemplate::targvec& pdbTemplate::speclArguments() const {
  return sargs;
}


inline void pdbTemplate::kind(templ_t kind) { knd = kind; }
inline void pdbTemplate::text(const string& text) { txt = text; }
inline void pdbTemplate::addArgument(const pdbTemplateArg& targ) {
  args.push_back(targ);
}
inline void pdbTemplate::funcProtoInst(const pdbCRoutine* ro) { rproto = ro; }
inline void pdbTemplate::classProtoInst(const pdbClass* cl) { cproto = cl; }
inline void pdbTemplate::statMemType(const pdbType* ty) { stype = ty; }
inline void pdbTemplate::declaration(const pdbTemplate* t) { decl = t; }
inline void pdbTemplate::definition(const pdbTemplate* t) { def = t; }
inline void pdbTemplate::addSpeclArgument(const pdbTemplateArg& targ) {
  sargs.push_back(targ);
}

Back to Index
Key to Colors and Styles