MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_BoostGraphviz.hpp
Go to the documentation of this file.
1 #ifndef MUELU_BOOSTGRAPHVIZ_HPP
2 #define MUELU_BOOSTGRAPHVIZ_HPP
3 
4 // This header file can be used in place of <boost/graph/graphviz.hpp>. It disable the warnings present in boost.
5 
6 // Note: pragma warnings available since gcc 4.2
7 // pragma push/pop available since gcc 4.6
8 // We no longer check for gcc version as Trilinos requires a minimum 4.7.2.
9 
10 #include "MueLu_ConfigDefs.hpp"
11 #if defined(HAVE_MUELU_BOOST) && defined(HAVE_MUELU_BOOST_FOR_REAL)
12 
13 #ifdef __GNUC__
14 #pragma GCC diagnostic push
15 #pragma GCC diagnostic ignored "-Wshadow"
16 #endif // __GNUC__
17 
18 #include <boost/graph/graphviz.hpp>
19 
20 #ifdef __GNUC__
21 #pragma GCC diagnostic pop
22 #endif // __GNUC__
23 
24 // define boost graph types
25 typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS,
26  boost::property<boost::vertex_name_t, std::string,
27  boost::property<boost::vertex_color_t, std::string,
28  boost::property<boost::vertex_index_t, std::string> > >,
29  boost::property<boost::edge_name_t, std::string,
30  boost::property<boost::edge_color_t, std::string> > >
31  BoostGraph;
32 typedef boost::dynamic_properties BoostProperties;
33 typedef boost::graph_traits<BoostGraph>::vertex_descriptor BoostVertex;
34 typedef boost::graph_traits<BoostGraph>::edge_descriptor BoostEdge;
35 
36 #endif // HAVE_MUELU_BOOST && HAVE_MUELU_BOOST_FOR_REAL
37 
38 #endif // MUELU_BOOSTGRAPHVIZ_HPP