RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
TokenIter.h
1/***********************************************************************
2 * The rDock program was developed from 1998 - 2006 by the software team
3 * at RiboTargets (subsequently Vernalis (R&D) Ltd).
4 * In 2006, the software was licensed to the University of York for
5 * maintenance and distribution.
6 * In 2012, Vernalis and the University of York agreed to release the
7 * program as Open Source software.
8 * This version is licensed under GNU-LGPL version 3.0 with support from
9 * the University of Barcelona.
10 * http://rdock.sourceforge.net/
11 ***********************************************************************/
12
13// Abstract TokenIter class. Defines the interface for a token iterator
14// to be used by the parser.
15
16#ifndef _RBT_TOKENITER_H_
17#define _RBT_TOKENITER_H_
18
19#include "rxdock/Context.h"
20#include "rxdock/Token.h"
21
22namespace rxdock {
23
24class TokenIter {
25public:
26 // virtual void copy(const TokenIter &) = 0;
27 virtual void Next(ContextPtr) = 0;
28 virtual TokenPtr Current() = 0;
29 virtual ~TokenIter() {}
30
31 // virtual TokenPtr IsDone() const = 0;
32 // virtual void First() = 0;
33 // Bool operator==(const TokenIter&) const;
34 // std::ostream& Print(std::ostream&) const;
35 // friend std::ostream& operator<<(std::ostream& s, const TokenIter &p);
36};
37
38// Useful typedefs
39typedef SmartPtr<TokenIter> TokenIterPtr; // Smart pointer
40typedef std::vector<TokenIterPtr> TokenIterList; // Vector of smart pointers
41typedef TokenIterList::iterator TokenIterListIter;
42typedef TokenIterList::const_iterator TokenIterListConstIter;
43
44} // namespace rxdock
45
46#endif //_TokenIter_H_
Definition TokenIter.h:24