< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index Next in Thread >

RE: [reSIProcate] Reference Counting Smart Pointer


The main reason I don't want to keep the boost namespace - is that the
application may actually be using boost itself and I don't want any naming
conflicts.  

-----Original Message-----
From: kenho@xxxxxxxxxxxxxx [mailto:kenho@xxxxxxxxxxxxxx] 
Sent: Thursday, May 26, 2005 10:41 PM
To: Scott Godin
Cc: resiprocate-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [reSIProcate] Reference Counting Smart Pointer

I think ripping off config (and other) dependencies is a good
idea, otherwise it would easily end up importing tons of
stuffs from boost.

However, I would suggest keeping its usage to stay the same as
if it was in boost, e.g.:
#include <boost/shared_ptr.hpp>
typedef boost::shared_ptr<int> int_sptr;

The reason I did it otherwise to class resip::Condition is
that the class was already there and used intensively,
the change was intended to be a bug fix and maintain backward
compatibility, but not adding new tool.

Ken


Scott Godin wrote:
> I have a need for an implementation of a reference counting smart 
> pointer - to help manage User Profile lifetime.
> 
>  
> 
> My current plan is to borrow the shared_ptr implementation from Boost.  
> I've ripped out all of the boost config dependencies and have gotten it 
> down to two isolated include files SharedCounter.hxx and SharedPtr.hxx 
> which I plan to include in the /os directory.
> 
>  
> 
> The current plan is to include the implementation in the resip 
> namespace.  I'm seeking advice/opinions on the naming for this template 
> class.  The main options are:
> 
>    1. resip::shared_ptr
>    2. resip::SharedPtr
> 
>  
> 
> Opinions?
> 
>  
> 
> Since this code and some code in Condition.cxx (Win32 stuff) have been 
> borrowed from Boost I think we also need to include the following 
> license block in the relevant source files.
> 
>  
> 
> Scott
> 
>  
> 
>  
> 
>  
> 
> Boost Software License - Version 1.0 - August 17th, 2003
> 
>  
> 
> Permission is hereby granted, free of charge, to any person or
organization
> 
> obtaining a copy of the software and accompanying documentation covered by
> 
> this license (the "Software") to use, reproduce, display, distribute,
> 
> execute, and transmit the Software, and to prepare derivative works of the
> 
> Software, and to permit third-parties to whom the Software is furnished to
> 
> do so, all subject to the following:
> 
>  
> 
> The copyright notices in the Software and this entire statement, including
> 
> the above license grant, this restriction and the following disclaimer,
> 
> must be included in all copies of the Software, in whole or in part, and
> 
> all derivative works of the Software, unless such copies or derivative
> 
> works are solely in the form of machine-executable object code generated
by
> 
> a source language processor.
> 
>  
> 
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> 
> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> 
> FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
> 
> SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
> 
> FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR
OTHERWISE,
> 
> ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER
> 
> DEALINGS IN THE SOFTWARE.
> 
>  
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel@xxxxxxxxxxxxxxxxxxx
> https://list.sipfoundry.org/mailman/listinfo/resiprocate-devel