Move all enumerations into the libMesh namespace #205

merged 1 commit into from Feb 20, 2014

1 participant

libMesh - C++ Finite Element Library member

We've been doing something kind of bad for a while now: all of our enumeration header files had

using namespace libMeshEnums;

in them, violating the general rule of not putting using declarations in headers. We actually ran into a namespace collision while trying to create a class called "VTK", which collided with one of the IOPackage enumerations.

This patch moves the enumerations into the libMesh namespace and cleanses the rest of the library of the libMeshEnums namespace. It's possible that this change will affect applications, but the fix is trivial: just remove libMeshEnums:: wherever it appears in your code.

This was actually Roy's idea so I've discussed it with him already, but I wanted to give others the chance to comment... for example, does anyone know why we had this separate namespace in the first place?

@jwpeterson jwpeterson Moving all enumerations into the libMesh namespace.
Removing 'using namespace' declarations from headers.

Removing use of libMeshEnums in all source and header files.
@jwpeterson jwpeterson merged commit 799f8e3 into master Feb 20, 2014
@jwpeterson jwpeterson deleted the enum_move branch Feb 20, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment