From: Joel de Guzman (djowel_at_[hidden])
Date: 2003-02-28 02:32:01
Terje Slettebø wrote:
>> From: "Joel de Guzman" <djowel_at_[hidden]>
>> Dave Gomboc wrote:
>>>>> So then reverse resource_manager and get managed_resource<>, or
>>>>> just managed<>.
>>>> Why not just resource<>? Management is implied anyway; that's the
>>>> reason for the existence of the class.
>>> *laugh* I was thinking exactly the opposite. To me, the resource
>>> is clear from the template parameter -- it's the management that
>>> needs to
>>> be indicated.
>>> +1 for managed<>.
>> What template parameter? That's not a part of the name.
>> Template parameters, just like function arguments are never
>> a part of the name. You do not need to read the header file
>> to get the essence. The name itself should indicate the function
>> of the class without looking elsewhere.
>> managed<>? What is managed? ... answer: take a look at
>> the template parameter and you'll see what I mean. I'm
>> sorry, that doesn't make sense.
> managed<widget,shared> // Smart pointer
> resource<widget,shared> // Smart pointer
> When the template is in use (unless it uses a default template
> the template argument will be part of the signature, and therefore
> show what is managed. Therefore, I think managed<> makes sense, too.
> IIUC, your argument can be used for e.g. std::pair, too. std::pair<>
> what? Answer: That depends on the template arguments.
No, a pair is always a pair regardless of what the composed types are:
pair<T1, T2> // a pair comprised of T1 and T2
You don't need to know the template parameters to know that it
is a *pair*. That's the big difference. The template parameter is an abstract
concept. Detached from the parameters, it is still a pair. The same does not
hold for managed<T>. What is "managed"? It is not even a noun without the
managed<widget> // does this *manage* the actual rendering into the window?
Gotcha! No it doesn't! OTOH:
resource<widget> // ah yes, widget is a resource. we want to manage the resource
-- Joel de Guzman joel at boost-consulting.com http://www.boost-consulting.com http://spirit.sf.net
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk