[Rcpp-devel] What is the scope of a "using TYPE;" directive?
Douglas Bates
bates at stat.wisc.edu
Fri Jul 29 23:20:46 CEST 2011
This is not directly an Rcpp question but it does relate to
programming style when using Rcpp.
I try to avoid statements like
using namespace Rcpp;
in a header file because that will change the visible names in any
other files that include this header. The alternative, of course, is
many declarations with long names like
Rcpp::NumericVector foo(const Rcpp::IntegerVector&);
Lately I have taken to including statements of the form
namespace mynamespace {
using Rcpp::NumericVector;
using Rcpp::IntegerVector;
NumericVector foo(const IntegerVector&);
}
so that I control exactly which names are exposed without qualifiers
and not expose the entire Rcpp namespace.
Can anyone tell me if that using declaration has effect only within
the declared namespace "mynamespace"? That is what I want to have
happen so that by the end of the header file my temporary exposure of
names is no longer in effect.
More information about the Rcpp-devel
mailing list