Frobby
0.9.0
src
CanonicalCoefTermConsumer.h
Go to the documentation of this file.
1
/* Frobby: Software for monomial ideal computations.
2
Copyright (C) 2007 Bjarke Hammersholt Roune (www.broune.com)
3
4
This program is free software; you can redistribute it and/or modify
5
it under the terms of the GNU General Public License as published by
6
the Free Software Foundation; either version 2 of the License, or
7
(at your option) any later version.
8
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU General Public License for more details.
13
14
You should have received a copy of the GNU General Public License
15
along with this program. If not, see http://www.gnu.org/licenses/.
16
*/
17
#ifndef CANONICAL_COEF_TERM_CONSUMER_GUARD
18
#define CANONICAL_COEF_TERM_CONSUMER_GUARD
19
20
#include "
CoefTermConsumer.h
"
21
#include "
Polynomial.h
"
22
#include "
VarNames.h
"
23
24
class
Term
;
25
26
// Passes consumed items on in a canonical order. This requires
27
// storing all items before any can be passed on.
28
class
CanonicalCoefTermConsumer
:
public
CoefTermConsumer
{
29
public
:
30
CanonicalCoefTermConsumer
(auto_ptr<CoefTermConsumer> consumer);
31
32
virtual
void
consumeRing
(
const
VarNames
& names);
33
34
virtual
void
beginConsuming
();
35
virtual
void
consume
(
const
mpz_class& coef,
const
Term
& term);
36
virtual
void
doneConsuming
();
37
38
private
:
39
auto_ptr<CoefTermConsumer>
_consumer
;
40
Polynomial
_polynomial
;
41
VarNames
_names
;
42
};
43
44
#endif
CanonicalCoefTermConsumer::doneConsuming
virtual void doneConsuming()
Definition:
CanonicalCoefTermConsumer.cpp:43
CanonicalCoefTermConsumer::consume
virtual void consume(const mpz_class &coef, const Term &term)
Definition:
CanonicalCoefTermConsumer.cpp:37
CanonicalCoefTermConsumer::CanonicalCoefTermConsumer
CanonicalCoefTermConsumer(auto_ptr< CoefTermConsumer > consumer)
Definition:
CanonicalCoefTermConsumer.cpp:23
CoefTermConsumer.h
CanonicalCoefTermConsumer
Definition:
CanonicalCoefTermConsumer.h:28
CanonicalCoefTermConsumer::consumeRing
virtual void consumeRing(const VarNames &names)
Definition:
CanonicalCoefTermConsumer.cpp:28
CanonicalCoefTermConsumer::beginConsuming
virtual void beginConsuming()
Definition:
CanonicalCoefTermConsumer.cpp:33
CanonicalCoefTermConsumer::_names
VarNames _names
Definition:
CanonicalCoefTermConsumer.h:41
VarNames.h
Term
Term represents a product of variables which does not include a coefficient.
Definition:
Term.h:49
CanonicalCoefTermConsumer::_polynomial
Polynomial _polynomial
Definition:
CanonicalCoefTermConsumer.h:40
CoefTermConsumer
Definition:
CoefTermConsumer.h:24
Polynomial.h
Polynomial
Definition:
Polynomial.h:23
CanonicalCoefTermConsumer::_consumer
auto_ptr< CoefTermConsumer > _consumer
Definition:
CanonicalCoefTermConsumer.h:39
VarNames
Defines the variables of a polynomial ring and facilities IO involving them.
Definition:
VarNames.h:40
Generated by
1.8.17