Is there any difference between wrapping both header and cpp file contents in a namespace or wrapping just the header contents and then doing using namespace
I think right thing to do here is to use namespace for scoping.
namespace catagory { enum status { none, active, paused } }; void func() { catagory::status status; status = category::active; }