statebdd.hh 616 Bytes
Newer Older
1
2
3
4
5
6
7
8
#ifndef SPOT_TGBA_STATEBDD_HH
# define SPOT_TGBA_STATEBDD_HH

#include <bdd.h>
#include "state.hh"

namespace spot
{
9
  /// A state whose representation is a BDD.
10
11
12
13
14
15
16
17
  class state_bdd: public state
  {
  public:
    state_bdd(bdd s)
      : state_(s)
    {
    }

18
    /// Return the BDD part of the state.
19
    virtual bdd
20
21
22
23
    as_bdd() const
    {
      return state_;
    }
24

25
    virtual int compare(const state* other) const;
26
27
    virtual void translate(bddPair* rewrite);
    virtual state_bdd* clone() const;
28
29

  protected:
30
    bdd state_;			///< BDD representation of the state.
31
32
33
34
  };
}

#endif // SPOT_TGBA_STATEBDD_HH