Leonard Rosenthol wrote: > You can either do your DL as a tree (as Craig suggested) or a simple > list/vector - I've done it both ways and each (surprise) have pros > and cons. list/vector is easier to traverse and can use "out of the > box" STL data types + iterators, while a tree means either building a > new one (hopefully with iterator support!) or using something like > boost's graph library or the ASL's tree classes which do this > already.
Since the boost graph library is header only, so there isn't even anything for users to have to compile, that strikes me as the way to go. Its use can be isolated so that PoDoFo need not require it unless the user wants to build content stream graph support. Perhaps more importantly, it's easy to write things so that if PoDoFo was built with such support the client program need not have access to those headers unless it tries to use the graph support. Just like we do with Freetype these days. Speaking of Boost, though, I've found myself wondering about using Boost::Iostreams lately. Currently we have our own custom stream classses that aren't interface compatible with anything. This, in my view, is quite a pity. The STL iostreams library, though, isn't exactly fun to work with when it comes to writing new sources etc. Maybe the boost streams library might provide a nicer way to do this. I'd like to be able to use conventional stream operations on PDF streams, etc, whereas at present we have to work with them using a rolling buffer or just read the whole lot into memory. The downside of using Boost::Iostreams is of course that it'd hardly be optional, and it does require building. I'm pretty sure it'd be possible to isolate its visibility from the PoDoFo headers though, so users wouldn't have to use them if they didn't need to. Even so, that's a whole separate issue to adding an optional dependency on a header-only boost library. -- Craig Ringer ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Podofo-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/podofo-users
