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