$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: John Maddock (John_Maddock_at_[hidden])
Date: 1999-09-28 06:49:15
I wonder if it is worth while having a standard policy to deal with the old
C style headers, the problem is that while most current compilers ship with
the <cname> header variants, not all of them place the contents in
namespace std. There would appear to be three workarounds:
1) Always use the <name.h> approach - the primary advantage is that this
always works, but pollutes the global namespace.
2) Use the <cname> version along with the workaround:
#include <cname>
namespace std{} // dummy in case not alway defined
namespace boost{ namespace internal{
using namespace std;
/* code goes here */
}
}
3) use the <cname> version along with a macro BOOST_STDC which is defined
to either <nothing> or std depending upon the compiler:
#include <cname>
namespace boost{ namespace internal{
// here we can refer to BOOST_STDC::cfunction etc
/* code goes here */
}
}
Option (2) is probably the easiest for .cpp files but I don't fancy it in
headers (for template code for example), which leaves option (3), any
thoughts?
Thanks,
John Maddock.