On 29.11.2012 14:22, Hyrum K Wright wrote:
> On Wed, Nov 28, 2012 at 3:10 PM, Branko Čibej <brane_at_wandisco.com> wrote:
>
>> On 28.11.2012 17:15, Philip Martin wrote:
>>> Branko Čibej <brane_at_wandisco.com> writes:
>>>
>>>> On 28.11.2012 15:39, brane_at_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
Received on 2012-11-29 14:30:48 CET