Boost logo

Boost Users :

From: Jens Müller (jens.mueller_at_[hidden])
Date: 2006-10-10 13:05:50


I'm trying to write a testcase for graphml.hpp/.cpp from graph-tool.

I have the following:

#include <boost/graph/adjacency_list.hpp>
#include <boost/property_map.hpp>
#include <boost/dynamic_property_map.hpp>
#include <iostream>
#include <boost/graph/graph_traits.hpp>

#include <map>

#include "./graphml.hpp"

enum edge_length_t { edge_length };
namespace boost {
  BOOST_INSTALL_PROPERTY(edge, length);
}

int main(int argc, char* argv[]){
        // create a typedef for the Graph type
        using namespace boost;

        typedef boost::adjacency_list<vecS, vecS, bidirectionalS, no_property,
        property<edge_length_t, double>
> Graph;
        Graph g;

        std::ifstream input(argv[1]);

        boost::dynamic_properties properties;
        
        typedef graph_traits<Graph>::vertex_descriptor vertex_descriptor;

        std::map<vertex_descriptor, double> coord1;
        boost::associative_property_map< std::map<vertex_descriptor, double> >
                coord1_map(coord1);
        properties.property("coord1", coord1_map);
        
        std::map<vertex_descriptor, double> coord2;
        boost::associative_property_map< std::map<vertex_descriptor, double> >
                coord2_map(coord2);
        properties.property("coord2", coord2_map);

        // typedef graph_traits<Graph>::edge_descriptor edge_descriptor;

        

        properties.property("length", get(edge_length, g));

        boost::read_graphml(input, g, properties);
}

It runs fine, but when I compile it, I get the following warning:

/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ext/new_allocator.h:
In member function 'std::pair<boost::any, bool>
boost::mutate_graph_impl<MutableGraph>::do_add_edge(boost::any,
boost::any) [with MutableGraph = boost::adjacency_list<boost::vecS,
boost::vecS, boost::bidirectionalS, boost::no_property,
boost::property<edge_length_t, double, boost::no_property>,
boost::no_property, boost::listS>]':
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ext/new_allocator.h:106:
warning: 'p$m_value' is used uninitialized in this function

I suppose this is nothing bad?

Is there a good way to use a "dummy map" which does not store anything?

Any comments on the code are highly appreciated ...


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net