What about runtime detection? Would get(property_tag,graph) compile correctly
for an unexistant property? What would it return, then, at runtime if the property
does not exist? a 0 pointer?

Unfortunately, I don't think such a function actually exists. However, if you can detect these at compile time, you can easily reflect that as a runtime query:

template <typename Graph, typename Prop>
bool has_property(Graph const& g)
{ return has_property_metafunc<Prop, Graph>::value; }
 

Andrew Sutton
andrew.n.sutton@gmail.com