|
Boost : |
Subject: Re: [boost] [shared_ptr] Detect shared_ptr argument at compile time
From: Thomas Heller (thom.heller_at_[hidden])
Date: 2010-08-13 10:30:06
Ralf Globisch wrote:
> Hi,
> I'm not sure if this is the correct mailing list for this question:
>
> Is there a way to determine if a template parameters is of type
> boost::shared_ptr at compile time?
>
> I would like to do something like:
>
> template<class A>
> void doSomething( const A& a)
> {
> // if "a" is of type boost::shared_ptr<SomeType>
> a->someMethod();
> // else
> a.someMethod();
> }
>
> Is this possible at all?
Yes it is:
template <typename A>
void doSomething(A const& a)
{
a.someMethod();
}
template <typename A>
void doSomething(shared_ptr<A> a)
{
a->someMethod();
}
> Regards,
> Ralf
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk