ilasynth  1.0
ILASynth: Template-based ILA Synthesis Engine
bvinrange.hpp
Go to the documentation of this file.
1 #ifndef __BVINRANGE_HPP_DEFINED__
2 #define __BVINRANGE_HPP_DEFINED__
3 
5 #include <ilasynth/ast/bool.hpp>
6 #include <ilasynth/ast/node.hpp>
7 #include <ilasynth/common.hpp>
8 #include <ilasynth/type.hpp>
9 
10 namespace ilasynth {
11 class Abstraction;
12 
13 class BVInRange : public BitvectorExpr {
14 protected:
17 
18 public:
19  // constructor.
20  BVInRange(const std::string& name, const nptr_t& lo, const nptr_t& hi);
21  // copy constructor.
22  BVInRange(const BVInRange& that);
23  // destructor.
24  virtual ~BVInRange();
25 
26  // clone.
27  virtual Node* clone() const;
28  // equal.
29  virtual bool equal(const Node* that) const;
30  // stream output.
31  virtual std::ostream& write(std::ostream& out) const;
32  // # of args.
33  virtual unsigned nArgs() const;
34  // arg i.
35  virtual nptr_t arg(unsigned i) const;
36 };
37 } // namespace ilasynth
38 
39 #endif
virtual std::ostream & write(std::ostream &out) const
virtual nptr_t arg(unsigned i) const
std::string name
Definition: node.hpp:67
virtual unsigned nArgs() const
virtual bool equal(const Node *that) const
nptr_t lo
Definition: bvinrange.hpp:15
nptr_t hi
Definition: bvinrange.hpp:16
BVInRange(const std::string &name, const nptr_t &lo, const nptr_t &hi)
boost::shared_ptr< Node > nptr_t
Definition: node.hpp:24
virtual Node * clone() const
Definition: abstraction.hpp:21
Definition: bitvec.hpp:26
Definition: node.hpp:55
Definition: bvinrange.hpp:13