folly/test/SingletonTestStructs: move inlined function to impl file
[folly.git] / folly / test / SingletonTestStructs.h
index d8a90c9c72c63ad1b2dd9f0b532420e2801d3a04..5fb5dab71cb65a45e7cd8deeef564fd4e14d986f 100644 (file)
 
 #include <folly/portability/GTest.h>
 
-// A simple class that tracks how often instances of the class and
-// subclasses are created, and the ordering.  Also tracks a global
-// unique counter for each object.
-std::atomic<size_t> global_counter(19770326);
-
 struct Watchdog {
-  static std::vector<Watchdog*>& creation_order() {
-    static std::vector<Watchdog*> ret;
-    return ret;
-  }
+  static std::vector<Watchdog*>& creation_order();
 
-  Watchdog() : serial_number(++global_counter) {
-    creation_order().push_back(this);
-  }
+  Watchdog();
 
   ~Watchdog() {
     if (creation_order().back() != this) {