#include <folly/Portability.h>
#include <folly/ScopeGuard.h>
#include <folly/SharedMutex.h>
+#include <folly/detail/ThreadLocalDetail.h>
#include <type_traits>
#include <utility>
-namespace folly {
-enum class TLPDestructionMode {
- THIS_THREAD,
- ALL_THREADS
-};
-struct AccessModeStrict {};
-} // namespace
-
-#include <folly/detail/ThreadLocalDetail.h>
-
namespace folly {
template <class T, class Tag, class AccessMode>
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-#include <folly/ThreadLocal.h>
+#include <folly/detail/ThreadLocalDetail.h>
#include <list>
#include <mutex>
#include <folly/MicroSpinLock.h>
#include <folly/Portability.h>
#include <folly/ScopeGuard.h>
+#include <folly/SharedMutex.h>
#include <folly/portability/PThread.h>
#include <folly/detail/StaticSingletonManager.h>
#endif
namespace folly {
+
+enum class TLPDestructionMode { THIS_THREAD, ALL_THREADS };
+struct AccessModeStrict {};
+
namespace threadlocal_detail {
/**