diff --git a/research/clang-static-init-1.cpp b/research/clang-static-init-1.cpp index 8b8cbcb7e..366b53a83 100644 --- a/research/clang-static-init-1.cpp +++ b/research/clang-static-init-1.cpp @@ -1,25 +1,25 @@ #include "lib/test/run.hpp" -#include "proc/config-resolver.hpp" #include "clang-static-init.hpp" #include -using proc::ConfigResolver; using ::test::Test; using std::cout; using std::endl; +using namespace test; int main (int, char**) { cout << "\n.gulp.\n"; - ConfigResolver& ref1 = ConfigResolver::instance(); + Factory fab1; + Subject& ref1 = fab1(); - ConfigResolver& sub2 = test::fabricate(); + Subject& sub2 = test::fabricate(); cout << "sub1="<< &ref1 << " sub2="<< &sub2 <<"\n"; diff --git a/research/clang-static-init-2.cpp b/research/clang-static-init-2.cpp index 2bf169019..b9a95f1b2 100644 --- a/research/clang-static-init-2.cpp +++ b/research/clang-static-init-2.cpp @@ -3,7 +3,6 @@ #include -using proc::ConfigResolver; using std::cout; using std::endl; @@ -21,14 +20,15 @@ namespace test { namespace { - Holder fab2; +// Holder fab2; + Factory fab2; } - ConfigResolver& + Subject& fabricate() { - return ConfigResolver::instance(); + return fab2(); } diff --git a/research/clang-static-init.hpp b/research/clang-static-init.hpp index 65d0a6ef7..6a0b13da9 100644 --- a/research/clang-static-init.hpp +++ b/research/clang-static-init.hpp @@ -1,7 +1,8 @@ #include "lib/error.hpp" -#include "proc/config-resolver.hpp" +#include "lib/singleton-subclass.hpp" + namespace test { @@ -33,8 +34,10 @@ namespace test { }; + typedef lib::Singleton Factory; - proc::ConfigResolver& fabricate(); + + Subject& fabricate();