Union.hpp

Go to the documentation of this file.
00001 #ifndef wali_regex_UNION_GUARD
00002 #define wali_regex_UNION_GUARD 1
00003 
00004 /*!
00005  * @author Nicholas Kidd
00006  */
00007 
00008 #include "wali/regex/Regex.hpp"
00009 
00010 #include <list>
00011 
00012 namespace wali 
00013 {
00014   namespace regex 
00015   {
00016     class Union : public Regex 
00017     {
00018       public:
00019         Union();
00020 
00021         virtual ~Union();
00022 
00023         void add(regex_t r);
00024 
00025         virtual std::ostream& print_recurse( std::ostream& o ) const;
00026 
00027         virtual void to_mona_recurse(std::ostream& o, const std::string& prefix ) const;
00028         virtual std::ostream& write_dot_recurse( std::ostream& o ) const;
00029         virtual wali::sem_elem_t solve_recurse();
00030 
00031         virtual void reset_marks() const;
00032       public:
00033         std::list<regex_t> children;
00034     };
00035 
00036   } // namespace regex 
00037 
00038 } // namespace wali 
00039 
00040 #endif  // wali_regex_UNION_GUARD
00041