Forward Declaration to different namespaces

Aktuelle arbeite ich an einem kleinen Fix um forward declations in den header files für Klassen, die nicht im aktuellen namespace enthalten sind, zu realisieren.

Das ganze wird ein wenig problematischer wenn man mehrere in einander geschachtelte namespaces hat, aber forwards für einen namespace braucht, der in einem namespace subtree liegt.


namespace ackbar
{
namespace db
{
//
// This is the class
class three {
public:
///
/// @brief TODO
///
/// @param[] aIn
/// @return
///
gui::two convert(gui::one aIn) ;
};

Der vollständige namespace für die Klassen one und two ist “ackbar::gui”. Dafür müsste man also so was generieren.

namespace ackbar
{
namespace gui {
class one;
class two;
}
namespace db
{
//
//  This is the class
class three {
public:
    ///
    /// @brief TODO
    ///
    /// @param[] aIn
    /// @return
    ///
    gui::two convert(gui::one aIn) ;
};

one und two liegen in einem anderen subtree. Das ganze muss natürlich auch noch funktionieren wenn die beiden Teilbäume beliebig tief sind. Denn letztendlich können Klassen, und damit forwards, in jedem namespace auftauchen.