On 29.11.2012 14:22, Hyrum K Wright wrote: > On Wed, Nov 28, 2012 at 3:10 PM, Branko Čibej <br...@wandisco.com> wrote: > >> On 28.11.2012 17:15, Philip Martin wrote: >>> Branko Čibej <br...@wandisco.com> writes: >>> >>>> On 28.11.2012 15:39, br...@apache.org wrote: >>>>> Author: brane >>>>> Date: Wed Nov 28 14:39:42 2012 >>>>> New Revision: 1414728 >>>>> >>>>> URL: http://svn.apache.org/viewvc?rev=1414728&view=rev >>>>> Log: >>>>> Getting sidetracked for a bit: create placeholder and update build for >>>>> a future high-level C++ API for Subversion, based on the same >> principles >>>>> as JavaHL. >>>> Lest anyone become too worried about this: I'm not going to let this >>>> project divert my attention from getting 1.8 out the door. I had this >>>> idea on the back burner for a long time, and just now found a bit of >>>> time when I had to clear my head; so I decided to at least get the build >>>> infrastructure in place. >>> How does this compare to Hyrum's "object model"? >>> >>> notes/object-model.txt >>> ^/subversion/branches/object-model >> I don't know yet. I'll be looking at that more closely when the time >> comes, but I'll also take notes from JavaHL. I feel it's important that >> we hide the details of the C API (for example, its dependency on APR) >> from this high-level interface. > > The object model stuff is probably a bit dated, but some of the ideas > probably still hold. If there's anything I learned through that > experience, it was that we'll probably need to use something like pimpl for > any type of backward compatibility within the C++ bindings themselves. Ugh.
Would versioned namespaces not do the trick? e.g.: namespace svncxxhl_v1 { ... } namespace svncxxhl_v2 { using svncxxhl_v1::foo; ... } namespace svn { namespace cxxhl = svncxxhl_v2; } -- Brane -- Branko Čibej Director of Subversion | WANdisco | www.wandisco.com