00001 00003 #ifndef _DIVINE_PROCESS_DECOMPOSITION_HH_ 00004 #define _DIVINE_PROCESS_DECOMPOSITION_HH_ 00005 00006 #include <cstddef> 00007 00008 #ifndef DOXYGEN_PROCESSING 00009 namespace divine { 00010 #endif 00011 class explicit_system_t; 00012 class state_t; 00013 00018 class process_decomposition_t 00019 { 00020 public: 00022 virtual void parse_process(std::size_t) = 0; 00023 00025 virtual int get_process_scc_id(state_t&) = 0; 00026 00030 virtual int get_process_scc_type(state_t&) = 0; 00031 00032 virtual int get_scc_type_for_gid(int) = 0; 00033 00037 virtual int get_scc_type(int) = 0; 00038 00040 virtual int get_scc_count() = 0; 00041 00043 virtual bool is_weak() = 0; 00044 00045 virtual ~process_decomposition_t() {}; 00046 }; 00047 00048 00049 #ifndef DOXYGEN_PROCESSING 00050 } 00051 #endif 00052 #endif 00053 00054 00055 00056 00057 00058 00059