fatal error C1060: compiler is out of heap space
Without the virtual inheritance it compiles fine.
GCC has no problems.
Code (tested with Loki 0.1.3):
#include <loki/AbstractFactory.h>
struct Enemy {};
struct Soldier : Enemy {};
struct Monster : Enemy {};
typedef Loki::AbstractFactory
<
Loki::Seq<Soldier,Monster>::Type
AbstractEnemyFactory;
struct SillySoldier : Soldier {};
struct SillyMonster : virtual Monster {}; // <--
typedef Loki::ConcreteFactory
<
AbstractEnemyFactory,
Loki::OpNewFactoryUnit,
Loki::Seq<SillySoldier,SillyMonster>::Type
EasyLevelFactory;
int main()
{
AbstractEnemyFactory* factory(new EasyLevelFactory );
delete factory;
return 1;
}