11#define _CRT_SECURE_NO_WARNINGS 1
15#define INCLUDED_BY_FACTORY
21std::shared_ptr<QuestLibSim> SimulatorsFactory::questLibrary =
nullptr;
22std::atomic_bool SimulatorsFactory::firstTimeQuest =
true;
28 questLibrary = std::make_shared<QuestLibSim>();
29 if (!firstTimeQuest.exchange(
false))
30 questLibrary->SetMute(
true);
31 if (questLibrary->Init(
34#elif defined(__APPLE__)
35 "libmaestroquest.dylib"
42 questLibrary =
nullptr;
49 return questLibrary && questLibrary->IsValid();
54 if (!questLibrary || !questLibrary->IsValid())
63 questLibrary = std::make_shared<QuestLibSim>();
64 firstTimeQuest =
false;
65 questLibrary->SetMute(
true);
66 if (questLibrary->Init(
69#elif defined(__APPLE__)
70 "libmaestroquest.dylib"
77 questLibrary =
nullptr;
87 return std::make_unique<Private::QuestSimulator>();
static MAESTRO_FACTORY_EXPORT std::shared_ptr< QuestLibSim > GetQuestLibrary()
static MAESTRO_FACTORY_EXPORT bool InitQuestLibrary()
static MAESTRO_FACTORY_EXPORT bool InitQuestLibraryWithMute()
static MAESTRO_FACTORY_EXPORT bool IsQuestLibraryAvailable()
std::unique_ptr< ISimulator > CreateQuestSimulator()
Bounded online routing based on current physical bond dimensions.