$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Mark Rodgers (mark.rodgers_at_[hidden])
Date: 2000-05-25 14:36:03
From: David Abrahams <abrahams_at_[hidden]>
> In my neck of the woods we call that class "namespace" ;)
> Seriously, why not use a namespace?
Of course namespaces suffer the problem that you can't use them as
template parameters, so if I want to write
template <typename T>
int foo() { T::bar(); }
Then I can't write
namespace fred { void bar(){} }
foo<fred>();
But I could write
struct fred : private noninstantiable { static void bar(){} };
foo<fred>();
Perhaps it should be a guideline that one should prefer classes
with static members over namespaces when possible???
However, I find it hard to imagine what harm would come from
instantiating fred above, so wonder why we need to take the
trouble to prevent it.
Mark