Sort #include lines
[folly.git] / folly / String.h
index fc552f11507b2bd7391929bcc37ff6bd90007f77..c57a255b3f1f857b76afd0c32c92066df2496008 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2016 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.
 #pragma once
 #define FOLLY_STRING_H_
 
+#include <cstdarg>
 #include <exception>
-#include <stdarg.h>
 #include <string>
-#include <boost/type_traits.hpp>
-#include <boost/regex/pending/unicode_iterator.hpp>
-
-#ifdef FOLLY_HAVE_DEPRECATED_ASSOC
-#ifdef _GLIBCXX_SYMVER
-#include <ext/hash_set>
-#include <ext/hash_map>
-#endif
-#endif
-
-#include <unordered_set>
 #include <unordered_map>
+#include <unordered_set>
+#include <vector>
+
+#include <boost/regex/pending/unicode_iterator.hpp>
+#include <boost/type_traits.hpp>
 
 #include <folly/Conv.h>
 #include <folly/ExceptionString.h>
@@ -491,7 +485,8 @@ struct IsConvertible {
 template <class T>
 struct IsConvertible<
     T,
-    decltype(parseTo(std::declval<folly::StringPiece>(), std::declval<T&>()))> {
+    decltype(static_cast<void>(
+        parseTo(std::declval<folly::StringPiece>(), std::declval<T&>())))> {
   enum { value = true };
 };
 
@@ -644,12 +639,4 @@ using UTF8StringPiece = UTF8Range<const char*>;
 
 } // namespace folly
 
-// Hook into boost's type traits
-namespace boost {
-template <class T>
-struct has_nothrow_constructor<folly::basic_fbstring<T> > : true_type {
-  enum { value = true };
-};
-} // namespace boost
-
 #include <folly/String-inl.h>