Frobby  0.9.5
IdealOrderer.h
Go to the documentation of this file.
1 /* Frobby: Software for monomial ideal computations.
2  Copyright (C) 2010 University of Aarhus
3  Contact Bjarke Hammersholt Roune for license information (www.broune.com)
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program. If not, see http://www.gnu.org/licenses/.
17 */
18 #ifndef IDEAL_ORDERER_GUARD
19 #define IDEAL_ORDERER_GUARD
20 
21 class Ideal;
22 
23 class IdealOrderer {
24  public:
25  virtual ~IdealOrderer();
26 
27  void order(Ideal& ideal) const {doOrder(ideal);}
28 
29  private:
30  virtual void doOrder(Ideal& ideal) const = 0;
31 };
32 
33 auto_ptr<IdealOrderer> createIdealOrderer(const string& name);
34 
35 #endif
auto_ptr< IdealOrderer > createIdealOrderer(const string &name)
virtual ~IdealOrderer()
void order(Ideal &ideal) const
Definition: IdealOrderer.h:27
virtual void doOrder(Ideal &ideal) const =0
Represents a monomial ideal with int exponents.
Definition: Ideal.h:27