Разделить модуль на несколько файлов

Я читал о модулях в C ++, и я кое-что не могу понять, как это сделать. Интересно, как можно эффективно разделить модуль c ++ на несколько файлов с текущим TS.

Допустим, у меня есть два класса, которые я хочу экспортировать. Я хочу разделить свои файлы ixx, чтобы реализация каждого из этих классов оставалась в отдельных файлах.

Я изобразил что-то вроде этого:

interface.ixx:

module MyModule;

export namespace MyLib {
struct A {
void doStuff();
};

struct B {
A myA;
void otherStuff();
};
}

Затем я хотел бы реализовать мои классы, как это,

A.ixx:

module MyModule;

// import self??

MyLib::A::doStuff() {
// stuff...
}

B.ixx

module MyModule;

// import self again??

MyLib::B::otherStuff() {
myA.doStuff();
}

Что я хочу знать: знает ли модуль, независимо от файла, его интерфейс? Если нет, есть ли другой способ разделить модуль на несколько файлов? Я знаю, что в этом случае это может показаться глупым, но с большими классами в большом модуле было бы заманчиво разделить вещи.

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …