Boost logo

Boost :

Subject: Re: [boost] Any interest in creating new CORBA IDL to C++ mapping?
From: Johnny Willemsen (jwillemsen_at_[hidden])
Date: 2010-07-15 03:51:31


Hi,

Thanks for the ideas, I am storing all ideas safely and will try to move
forward with the ideas during the summer.

I do agree with backward compatibility, I see this as a full new mapping
which requires real modern C++ compilers.

Johnny

>> Please share ideas of how things could look like, for example, what do
>> we do for the _var/_ptr/_narrow, how would this look like with a new
>> mapping. We can easily use std::string, std::vector, but especially
>> _var/_ptr replacement is very important.
>
> Ideas:
>
> - Use shared_ptr for both _var and _ptr.
>
> std::shared_ptr<FooFactory> factory = // get a Foo factory
> std::shared_ptr<Foo> foo = factory->make_a_foo("my foo");
> foo->do_something();
>
> Or even the now evil:
>
> factory->make_a_foo("my foo")->do_something(); // currently leaks
>
> _narrow will still be needed since you need the server's help.
>
> - IDL string is std::string
> - IDL sequence and array are std::vector
> - Java maps them to the same thing
>
> std::vector<octet> object_id();
> std::shared_ptr<Object> id_to_reference(const std::vector<octet>&);
>
> C++0x allows std::vector to be returned via std::move without cost.
>
> - No exception specs
>
> - Forget backward compatibility. Consider it a new language. It doesn't
> replace the current C++ mapping it is a new language mapping for
> Modern_C++. So vendors can support either one or both. Just like vendors
> can now support C++ and Java and Python or just Java, etc.
>
> KevinH
>
> --
> Kevin Heifner
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk