I'll get on it. BIG patch ;-) Cheers,
On 07/08/07, Michael Yoder <[EMAIL PROTECTED]> wrote: > Hi, > > I uploaded a patch to address TUSCANY-1376. If someone could review and > apply it that would be great. > > Thanks, > > Michael Yoder > Rogue Wave Software, Inc. - [EMAIL PROTECTED] Software Developer - > HydraSDO > > -----Original Message----- > From: Michael Yoder (JIRA) [mailto:[EMAIL PROTECTED] > Sent: Tuesday, August 07, 2007 1:52 PM > To: [email protected] > Subject: [jira] Updated: (TUSCANY-1376) C++ SDO spec portability: > RefCountingPointer > > > [ > https://issues.apache.org/jira/browse/TUSCANY-1376?page=com.atlassian.ji > ra.plugin.system.issuetabpanels:all-tabpanel ] > > Michael Yoder updated TUSCANY-1376: > ----------------------------------- > > Attachment: TUSCANY-1376.txt > > This patch removes the implicit conversion to dumb pointer in > RefCountingPointer (still available via the helper function > getRawPointer()). It also adds some additional operators and helper > functions, including a safe conversion to bool for use with if > expressions. Some addition unit tests are added, and some smart pointer > cleanup is included. > > > C++ SDO spec portability: RefCountingPointer > > -------------------------------------------- > > > > Key: TUSCANY-1376 > > URL: > https://issues.apache.org/jira/browse/TUSCANY-1376 > > Project: Tuscany > > Issue Type: Bug > > Components: C++ SDO, C++ Specification > > Affects Versions: Cpp-M3 > > Environment: all platforms > > Reporter: Michael Yoder > > Fix For: Cpp-Next > > > > Attachments: TUSCANY-1376.txt > > > > > > Tuscany C++ SDO class RefCounting pointer has the member function: > > operator T*() {return pointee;} > > which expose the raw dumb pointer for SDO classes (for the common use > of smart pointers). This member function is used by SCA, and raises > undesirable object lifetime and allowed operation issues. The member > function should be replaced with a safe (referenced in the below -email > thread) conversion to bool member function. > > -----Original Message----- > > From: Pete Robbins [mailto:[EMAIL PROTECTED] > > Sent: Friday, June 22, 2007 6:16 AM > > To: [email protected] > > Subject: Re: C++ SDO spec portability: RefCountingPointer Michael, I > > strongly suspect that the operator T*() ws put in for a good reason. > It may be a good idea to remove this but it may be non-trivial. > > The ostream operator << is very useful and there is a default > implementation in RefCountingObject so that objects inheriting from > RefCounting object do not need to implement anything... but they can if > appropriate. > > You are raising a lot if issues which is great and it would be > > excellent to get Tuscany SDO up to 2.1 spec level. I suspect there > > will be hundreds of issues some of which may require large > re-writes/refactoring of the Tuscany SDO Code!! Raising these as Jiras > is the best thing to do so we can track them. Helping fix them by > submitting patches would be even better ;-) Cheers, On 22/06/07, Michael > Yoder <[EMAIL PROTECTED]> wrote: > > > > > > Hi, > > > > > > In looking at C++ SDO portabilty, we found the the Tuscany C++ SDO > > > class RefCountingPointer has functions used externally by SCA: > > > > > > operator T*() {return pointee;} > > > friend std::ostream& operator<< (std::ostream &os, const > > > RefCountingPointer<T>& ptr) > > > > > > It looks like the conversion to T* function may have been put in > > > originally as a porting alternative to a member function template, > > > but may not be needed any more since the member template is now > > > included outside the #ifdef. > > > > > > Exposing the dumb pointer is undesirable since it raises object > > > lifetime issues and allows other unwanted operations. Having a > > > conversion to bool is convenient however, and can be implemented > > > safely using a member function pointer trick (see: > > > http://www.artima.com/cppsource/safebool.html). > > > > > > The shift operator also seems undesireable since it places a burden > > > on all classes which use smart pointers to implement toString > > > functionality. > > > > > > How does it sound to raise a Jira to have these member functions > > > removed? > > > > > > Thanks, > > > Michael Yoder > > > Rogue Wave Software - [EMAIL PROTECTED] Software Developer - > > > HydraSDO > > > > > > -------------------------------------------------------------------- > > > - To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > -- > > Pete > > -- > This message is automatically generated by JIRA. > - > You can reply to this email to add a comment to the issue online. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Pete --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
