NwaFwd.hpp

Go to the documentation of this file.
00001 #ifndef wali_nwa_NWAFWD_GUARD
00002 #define wali_nwa_NWAFWD_GUARD 1
00003 
00004 /// This file defines forward declarations for various useful NWA-related
00005 /// types.
00006 
00007 #include <set>
00008 
00009 #include "opennwa/deprecate.h"
00010 
00011 // ::wali
00012 #include "wali/Key.hpp"
00013 #include "wali/Common.hpp"
00014 #include "wali/ref_ptr.hpp"
00015 
00016 namespace opennwa
00017 {
00018   using wali::ref_ptr;
00019   
00020     /// Globally (within a process) unique ID of a state
00021     ///
00022     typedef wali::Key State;
00023     /// Globally (within a process) unique ID of a symbol
00024     ///
00025     typedef wali::Key Symbol;
00026 
00027   const Symbol EPSILON = wali::WALI_EPSILON;
00028   const Symbol WILD = wali::WALI_WILD;
00029 
00030   using wali::getKey;
00031 
00032 
00033     // Forward decl
00034     class Nwa;
00035 
00036     /// A reference-counted smart pointer to an NWA
00037     ///
00038     typedef ref_ptr<Nwa> NwaRefPtr;
00039 
00040     // Forward decl
00041     class NestedWord;
00042     typedef ref_ptr<NestedWord> NestedWordRefPtr;
00043 
00044     /// A set of States.
00045     ///
00046     /// (Do not depend on the details of std::set; the type could
00047     /// change to an unordered_set or other type with a similar
00048     /// interface in future versions.)
00049     typedef std::set<State> StateSet;
00050     /// A set of Symbols
00051     ///
00052     /// (Do not depend on the details of std::set; the type could
00053     /// change to an unordered_set or other type with a similar
00054     /// interface in future versions.)
00055     typedef std::set<Symbol> SymbolSet;
00056 
00057     // Forward decl
00058     class ClientInfo;
00059 
00060     typedef ref_ptr<ClientInfo> ClientInfoRefPtr;
00061 }
00062 
00063 // Yo, Emacs!
00064 // Local Variables:
00065 //   c-file-style: "ellemtel"
00066 //   c-basic-offset: 2
00067 // End:
00068 
00069 #endif