source: git/factory/cf_iter.h @ 86faff

spielwiese
Last change on this file since 86faff was 362fc67, checked in by Martin Lee <martinlee84@…>, 12 years ago
chg: remove $Id$
  • Property mode set to 100644
File size: 1.1 KB
Line 
1/* emacs edit mode for this file is -*- C++ -*- */
2
3#ifndef INCL_CF_ITER_H
4#define INCL_CF_ITER_H
5
6// #include "config.h"
7
8#include "canonicalform.h"
9
10/*BEGINPUBLIC*/
11
12#undef CF_INLINE
13#define CF_INLINE
14#undef CF_NO_INLINE
15#define CF_NO_INLINE
16
17/*ENDPUBLIC*/
18
19#ifdef CF_USE_INLINE
20#undef CF_INLINE
21#define CF_INLINE inline
22#else
23#undef CF_INLINE
24#define CF_INLINE
25#endif
26
27/*BEGINPUBLIC*/
28
29class term;
30typedef term * termList;
31
32class CFIterator {
33private:
34    CanonicalForm data;
35    termList cursor;
36    bool ispoly, hasterms;
37public:
38    CFIterator ();
39    CFIterator ( const CFIterator& );
40    CFIterator ( const CanonicalForm& );
41    CFIterator ( const CanonicalForm&, const Variable& );
42
43    ~CFIterator ();
44
45    CFIterator& operator= ( const CFIterator& );
46    CFIterator& operator= ( const CanonicalForm& );
47
48    CF_NO_INLINE CFIterator& operator++ ();
49    CF_NO_INLINE CFIterator& operator++ ( int );
50    CF_NO_INLINE int hasTerms () const;
51    CF_NO_INLINE CanonicalForm coeff () const;
52    CF_NO_INLINE int exp () const;
53};
54
55/*ENDPUBLIC*/
56
57#ifdef CF_USE_INLINE
58#include "cf_iter_inline.cc"
59#endif
60
61#endif /* ! INCL_CF_ITER_H */
Note: See TracBrowser for help on using the repository browser.