Я проверил бы codecampserver начиная с установки, там довольно распространено.
у Них есть базовый проект, в который они включают и приложение и доменные слои. Т.е. внутренности лука ( http://jeffreypalermo.com/blog/the-onion-architecture-part-1/ ).
мне на самом деле нравится разбивать ядро на отдельные проекты управлять направлением зависимости. Так обычно я имею:
MyNamespace. SomethingWeb < - несколько UIs
MyNamespace. ExtranetWeb < - несколько UIs
MyNamespace. Приложение < - прикладной уровень Evans с классами как CustomerService
MyNamespace. Домен
MyNamespace. Инфраструктура < - repo реализация и т.д.
MyNamespace. Общий < - проект, который все другие проекты имеют зависимость, к которой имеет вещи как Регистратор, классы Util, и т.д.
Если вы хотите читать из него как из потока, вы также можете читать напрямую из файла в поток строк:
std::stringstream data;
data << input_file.rdbuf();
Это считывает все содержимое 'input_file' в 'data' . Вы можете читать данные оттуда, как и любой другой поток.