Thanks Pete, I'll work on getting an updated patch uploaded tomorrow morning.
Michael Rogue Wave Software, Inc. - [EMAIL PROTECTED] Software Developer - HydraSDO -----Original Message----- From: Pete Robbins [mailto:[EMAIL PROTECTED] Sent: Tuesday, August 07, 2007 3:29 PM To: [email protected] Subject: Re: FW: [jira] Updated: (TUSCANY-1376) C++ SDO spec portability: RefCountingPointer I get compile errors on Windows: warning C4346: 'commonj::sdo::RefCountingPointer<T>::PointerType' : dependent name is not a type prefix with 'typename' to indicate a type d:\tuscanysvn\cpp\sdo\runtime\core\src\commonj\sdo\refcountingpointer.h( 124) : error C2061: syntax error : identifier 'PointerType' d:\tuscanysvn\cpp\sdo\runtime\core\src\commonj\sdo\refcountingpointer.h( 128) : error C2244: 'commonj::sdo::RefCountingPointer<T>::{ctor}' : unable to match function definition to an existing declaration definition 'commonj::sdo::RefCountingPointer<T>::RefCountingPointer(void)' existing declarations 'commonj::sdo::RefCountingPointer<T>::RefCountingPointer(const commonj::sdo::RefCountingPointer<T> &)' 'commonj::sdo::RefCountingPointer<T>::RefCountingPointer(T *)' Any ideas? On 07/08/07, Pete Robbins <[EMAIL PROTECTED]> wrote: > 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.atlassia > > n.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 > -- Pete --------------------------------------------------------------------- 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]
