Fix destruction order problem in getCoreAllocator
[folly.git] / folly / stats / Instantiations.cpp
index 8739d55f307a3340b27655f4f7667af50b2481c1..20b4c2f12317330f6523c58fd41f07ff41f17548 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2014 Facebook, Inc.
+ * Copyright 2017 Facebook, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * header files.
  */
 
-#include "folly/stats/BucketedTimeSeries.h"
-#include "folly/stats/BucketedTimeSeries-defs.h"
+#include <folly/stats/BucketedTimeSeries.h>
+#include <folly/stats/BucketedTimeSeries-defs.h>
 
-#include "folly/stats/Histogram.h"
-#include "folly/stats/Histogram-defs.h"
+#include <folly/stats/Histogram.h>
+#include <folly/stats/Histogram-defs.h>
 
-#include "folly/stats/MultiLevelTimeSeries.h"
-#include "folly/stats/MultiLevelTimeSeries-defs.h"
+#include <folly/stats/MultiLevelTimeSeries.h>
+#include <folly/stats/MultiLevelTimeSeries-defs.h>
 
-#include "folly/stats/TimeseriesHistogram.h"
-#include "folly/stats/TimeseriesHistogram-defs.h"
+#include <folly/stats/TimeseriesHistogram.h>
+#include <folly/stats/TimeseriesHistogram-defs.h>
 
 namespace folly {
 
@@ -41,4 +41,25 @@ template class detail::HistogramBuckets<int64_t, Histogram<int64_t>::Bucket>;
 template class MultiLevelTimeSeries<int64_t>;
 template class TimeseriesHistogram<int64_t>;
 
+// Histogram::getPercentileBucketIdx(), Histogram::getPercentileEstimate()
+// and Histogram::computeTotalCount()
+// are implemented using template methods.  Instantiate the default versions of
+// these methods too, so anyone using them won't also need to explicitly
+// include Histogram-defs.h
+template size_t detail::HistogramBuckets<int64_t, Histogram<int64_t>::Bucket>::
+    getPercentileBucketIdx<Histogram<int64_t>::CountFromBucket>(
+        double pct,
+        Histogram<int64_t>::CountFromBucket countFromBucket,
+        double* lowPct,
+        double* highPct) const;
+template int64_t detail::HistogramBuckets<int64_t, Histogram<int64_t>::Bucket>
+  ::getPercentileEstimate<Histogram<int64_t>::CountFromBucket,
+                          Histogram<int64_t>::AvgFromBucket>(
+    double pct,
+    Histogram<int64_t>::CountFromBucket countFromBucket,
+    Histogram<int64_t>::AvgFromBucket avgFromBucket) const;
+template uint64_t detail::HistogramBuckets<int64_t, Histogram<int64_t>::Bucket>
+  ::computeTotalCount<Histogram<int64_t>::CountFromBucket>(
+    Histogram<int64_t>::CountFromBucket countFromBucket) const;
+
 } // folly