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