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.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
>
--
Pete
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]