metaSMT git
|
00001 #pragma once 00002 00003 #include "metaSMT/tags/Logics.hpp" 00004 00005 #define _BACKWARD_BACKWARD_WARNING_H 00006 #include <boost/graph/graph_traits.hpp> 00007 #include <boost/graph/adjacency_list.hpp> 00008 #undef _BACKWARD_BACKWARD_WARNING_H 00009 #include <boost/function.hpp> 00010 #include <boost/any.hpp> 00011 00012 namespace boost { 00013 enum edge_input_t { edge_input }; 00014 BOOST_INSTALL_PROPERTY (edge, input); 00015 00016 enum vertex_tag_t { vertex_tag }; 00017 BOOST_INSTALL_PROPERTY (vertex, tag); 00018 00019 enum vertex_arg_t { vertex_arg }; 00020 BOOST_INSTALL_PROPERTY (vertex, arg); 00021 } 00022 00023 namespace metaSMT { 00024 00025 /* define properties on edges */ 00026 typedef boost::property <boost::edge_input_t, size_t> edge_input_property; 00027 typedef edge_input_property SMT_Edge_t; 00028 00029 /* define properties on Vertices */ 00030 typedef boost::property <boost::vertex_arg_t, boost::any > vertex_arg_property; 00031 typedef boost::property <boost::vertex_tag_t, metaSMT::Tag, vertex_arg_property> vertex_tag_property; 00032 typedef vertex_tag_property SMT_Vertex_t; 00033 00034 typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS 00035 , SMT_Vertex_t 00036 , SMT_Edge_t 00037 > SMT_Graph ; 00038 00039 typedef boost::graph_traits<SMT_Graph >::vertex_descriptor SMT_Expression; 00040 typedef boost::graph_traits<SMT_Graph >::edge_descriptor SMT_Edge; 00041 00042 00043 } /* namespace metaSMT */ 00044 00045 // vim: ft=cpp:ts=2:sw=2:expandtab