Rework forward references to keep track of what declaration they came from. This allows proper processing per namespace.
Validate the output namespace option.
Added an option to allow not using a top-level library namespace (useful if your native library is already namespaced).
Extract the TranslationUnit class into its own file.
Fixed the QualifiedOriginalName to actually use the original name of the namespace.
Remove the redundant Parent property of the namespace and just use the Namespace property from the declaration.
Added a property to get the qualified name of a declaration.
Pass the driver to CLIMarshal so that we can the Options field for qualified names.
Rework the CLI generator to actually handle (nested) namespaces propertly.
Simplify code.
Use the fully qualified name for base classes.
Remove obsolete files.
Update the license information.
Remove unneeded initialization.
Added proper support for namespaces in the C# backend.
Added type signatures for std::strings in the C# backend.
Fixed indentation.
Use fully qualified namespace in string marshaling.
Do not clean up the names of namespaces since it can lead to invalid results.