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

Reply via email to