I understand the concerns about boost... let my try and allay them:

A quick browse of the boost graph headers shows there are some dependencies on other parts of boost, but I haven't  found any reference to the dreaded smart_ptr stuff yet ;-).  Hopefully, I could pare it down to a minimal set of headers (not including smart_ptr and so on) before adding anything to the inkscape code base.

Regarding the build process the graph examples compile with (assuming headers in the include path):

g++ example.cpp -o example

As for optimisation, the algorithms we're talking about are quite computationally intensive and boost is written in a heavily templated generic style.  I think that's the only reason they recommend optimisation.  Surely inkscape binary distributions are compiled with optimisation on anyway, right?

I was a bit worried about bloat and compilation speed but the examples which use the kind of stuff I need compile down to <100k (on x86 linux) in a few seconds.  I'm guessing, but I think this would be comparable to an stl based implementation of the same thing.

Regarding "mismatch of code" with the rest of the project, I really would just be using the graph datastructures and algorithms.   I don't have any intention of using any of the fancy stuff that fundamentally affects coding style (like the aforementioned smart_ptrs or the lambda stuff).