[omniORB] function and sequence

Clarke Brunt clarke.brunt at trafficmaster.co.uk
Thu Jan 31 16:46:26 GMT 2008


omniorb-list-bounces at omniorb-support.com wrote:
>> ...temp-destructor, so we would have nothing valid to return. Are
>> there any other ways except "._retn();" here ?
> 
> I think there is no other way, in fact the "retn( )" detach the
> internal pointer from the "var" reference-counting-pointer
> and return it to the caller, the caller has the reponsability to
> destroy the object.

Of course, you could not use the _var at all, i.e.

 Feld *pFeld = new Feld;
 .... // fill in the sequence
 return pFeld;

But of course, this is susceptible to failing to destroy the Feld if an
exception is thrown. Hence the var type, which is designed to help with
this.

Or you could return a _copy_ of the sequence, so that it doesn't matter
when the _var self-destructs:

 Feld_var temp = new Feld;
 ....
 return new Feld(temp.in()); // I think - not tried compiling this

But it's wasteful making a copy, and doesn't look nice.

Much better to use the var as intended, and the _retn().

Clarke Brunt
TRAFFICMASTER PLC
UNIT 22 / ST. JOHN'S INNOVATION CENTRE
COWLEY ROAD / CAMBRIDGE / CB4 0WS
T: 01223 422469
F: 
E: clarke.brunt at trafficmaster.co.uk

 
Please consider the environment before printing this email. --------------------------------------------------------

Trafficmaster PLC is a limited Company registered in England and Wales.
Registered number: 2292714   Registered office: Martell House, University Way, Cranfield, BEDS. MK43 0TR
 
This message (and any associated files) is intended only for the use of omniorb-list at omniorb-support.com and may contain information that is confidential, subject to copyright or constitutes a trade secret. If you are not omniorb-list at omniorb-support.com you are hereby notified that any dissemination, copying or distribution of this message, or files associated with this message, is strictly prohibited. If you have received this message in error, please notify us immediately by replying to the message and deleting it from your computer. Any views or opinions presented are solely those of the author clarke.brunt at trafficmaster.co.uk and do not necessarily represent those of the company.
 
Warning: Although the company has taken reasonable precautions to ensure no viruses are present in this email, the company cannot accept responsibility for any loss or damage arising from the use of this email or attachments.
--------------------------------------------------------



More information about the omniORB-list mailing list