Summary:
A few of folly's includes do not start with folly/, and so were
missed by
D1411225's include-quotation ##""## -> ##<>## transformation change.
There were also some folly includes in deeper folly directories and the
docs, which I also fixed.
The search ##egrep "# *include *\"" -R folly/*## now only includes two
lines in FBString.h, which are included for libgcc purposes.
The wangle/test/Thens.cpp file, which is auto-generated, was special.
I changed the generator .rb script, but when I ran it I overwrote some
manual changes to Thens.cpp. For simplicity, I have manually applied the
change to Thens.cpp as well.
Test Plan: fbconfig -r folly && fbmake runtests
Reviewed By: hannesr@fb.com
Subscribers: sdwilsh, fugalh
FB internal diff:
D1511712
} // namespace folly
-#include "AtomicHashArray-inl.h"
+#include <folly/AtomicHashArray-inl.h>
#endif // FOLLY_ATOMICHASHARRAY_H_
} // namespace folly
-#include "AtomicHashMap-inl.h"
+#include <folly/AtomicHashMap-inl.h>
#endif // FOLLY_ATOMICHASHMAP_H_
// @author Andrei Alexandrescu (andrei.alexandrescu@fb.com)
-#include "Benchmark.h"
-#include "Foreach.h"
-#include "json.h"
-#include "String.h"
+#include <folly/Benchmark.h>
+#include <folly/Foreach.h>
+#include <folly/json.h>
+#include <folly/String.h>
#include <algorithm>
#include <boost/regex.hpp>
* limitations under the License.
*/
-#include "IPAddress.h"
+#include <folly/IPAddress.h>
#include <limits>
#include <ostream>
* limitations under the License.
*/
-#include "IPAddressV4.h"
+#include <folly/IPAddressV4.h>
#include <ostream>
#include <string>
* limitations under the License.
*/
-#include "IPAddressV6.h"
+#include <folly/IPAddressV6.h>
#include <ostream>
#include <string>
* limitations under the License.
*/
-#include "LifoSem.h"
+#include <folly/LifoSem.h>
/// Raw node storage is preallocated in a contiguous memory segment,
/// but we use an anonymous mmap so the physical memory used (RSS) will
* limitations under the License.
*/
-#include "MacAddress.h"
+#include <folly/MacAddress.h>
#include <folly/Exception.h>
#include <folly/IPAddressV6.h>
#define FOLLY_PORTABILITY_H_
#ifndef FOLLY_NO_CONFIG
-#include "folly-config.h"
+#include <folly/folly-config.h>
#endif
#ifdef FOLLY_PLATFORM_CONFIG
#include <features.h>
#endif
-#include "CPortability.h"
+#include <folly/CPortability.h>
#if FOLLY_HAVE_SCHED_H
#include <sched.h>
#pragma once
#include <pthread.h>
-#include "Range.h"
+#include <folly/Range.h>
namespace folly {
* limitations under the License.
*/
-#include "MemoryIdler.h"
+#include <folly/detail/MemoryIdler.h>
#include <folly/Logging.h>
#include <folly/Malloc.h>
#include <folly/ScopeGuard.h>
#include <folly/AtomicStruct.h>
#include <folly/Hash.h>
#include <folly/Traits.h>
-#include "Futex.h"
+#include <folly/detail/Futex.h>
namespace folly {
Using `folly/Benchmark.h` is very simple. Here's an example:
``` Cpp
- #include "folly/Benchmark.h"
- #include "folly/Foreach.h"
+ #include <folly/Benchmark.h>
+ #include <folly/Foreach.h>
#include <vector>
using namespace std;
using namespace folly;
implicitly `unsigned`. Consider a slightly reworked example:
``` Cpp
- #include "folly/Benchmark.h"
- #include "folly/Foreach.h"
+ #include <folly/Benchmark.h>
+ #include <folly/Foreach.h>
#include <vector>
using namespace std;
using namespace folly;
compares with it:
``` Cpp
- #include "folly/Benchmark.h"
- #include "folly/Foreach.h"
+ #include <folly/Benchmark.h>
+ #include <folly/Foreach.h>
#include <vector>
using namespace std;
using namespace folly;
`folly/folly` used by Boost and others. The first directory serves as
an installation root of the library (with possible versioning a la
`folly-1.0/`), and the second is to distinguish the library when
-including files, e.g. `#include "folly/FBString.h"`.
+including files, e.g. `#include <folly/FBString.h>`.
The directory structure is flat (mimicking the namespace structure),
i.e. we don't have an elaborate directory hierarchy (it is possible
#ifndef FOLLY_SMALL_VECTOR_H_
#define FOLLY_SMALL_VECTOR_H_
-#include "Portability.h"
+#include <folly/Portability.h>
#include <stdexcept>
#include <cstdlib>
#include <folly/Malloc.h>
#if defined(__GNUC__) && FOLLY_X64
-# include "folly/SmallLocks.h"
+# include <folly/SmallLocks.h>
# define FB_PACK_ATTR FOLLY_PACK_ATTR
# define FB_PACK_PUSH FOLLY_PACK_PUSH
# define FB_PACK_POP FOLLY_PACK_POP
* limitations under the License.
*/
-#include "DeterministicSchedule.h"
+#include <folly/test/DeterministicSchedule.h>
#include <algorithm>
#include <list>
#include <mutex>
* limitations under the License.
*/
-#include "DeterministicSchedule.h"
+#include <folly/test/DeterministicSchedule.h>
#include <gflags/gflags.h>
#include <gtest/gtest.h>
* limitations under the License.
*/
-#include "IPAddressTest.h"
+#include <folly/test/IPAddressTest.h>
#include <gtest/gtest.h>
#pragma once
-#include "detail/State.h"
+#include <folly/wangle/detail/State.h>
#include <folly/LifoSem.h>
namespace folly { namespace wangle {
#include <vector>
#include <folly/MoveWrapper.h>
-#include "Promise.h"
-#include "Try.h"
+#include <folly/wangle/Promise.h>
+#include <folly/wangle/Try.h>
namespace folly { namespace wangle {
}} // folly::wangle
-#include "Future-inl.h"
+#include <folly/wangle/Future-inl.h>
*/
#pragma once
-#include "ThreadGate.h"
-#include "Executor.h"
+#include <folly/wangle/ThreadGate.h>
+#include <folly/wangle/Executor.h>
#include <type_traits>
namespace folly { namespace wangle {
}}
-#include "Later-inl.h"
+#include <folly/wangle/Later-inl.h>
* limitations under the License.
*/
-#include "ManualExecutor.h"
+#include <folly/wangle/ManualExecutor.h>
#include <string.h>
#include <string>
#pragma once
-#include "Promise.h"
+#include <folly/wangle/Promise.h>
namespace folly { namespace wangle {
#include <atomic>
#include <thread>
-#include "WangleException.h"
-#include "detail/State.h"
+#include <folly/wangle/WangleException.h>
+#include <folly/wangle/detail/State.h>
namespace folly { namespace wangle {
#pragma once
-#include "Try.h"
-#include "Future.h"
+#include <folly/wangle/Try.h>
+#include <folly/wangle/Future.h>
namespace folly { namespace wangle {
}}
-#include "Promise-inl.h"
+#include <folly/wangle/Promise-inl.h>
* limitations under the License.
*/
-#include "QueuedImmediateExecutor.h"
+#include <folly/wangle/QueuedImmediateExecutor.h>
#include <folly/ThreadLocal.h>
#include <queue>
* limitations under the License.
*/
-#include "ThreadGate.h"
+#include <folly/wangle/ThreadGate.h>
#include <stdexcept>
namespace folly { namespace wangle {
#pragma once
#include <memory>
-#include "Future.h"
+#include <folly/wangle/Future.h>
namespace folly { namespace wangle {
#include <stdexcept>
-#include "WangleException.h"
+#include <folly/wangle/WangleException.h>
namespace folly { namespace wangle {
}}
-#include "Try-inl.h"
+#include <folly/wangle/Try-inl.h>
// This file is @generated by thens.rb
-#include "Thens.h"
+#include <folly/wangle/test/Thens.h>
#ifndef __clang__
// TODO: fails to compile with clang:dev. See task #4412111
print <<EOF
// This file is #{"@"}generated by thens.rb
-#include "Thens.h"
+#include <folly/wangle/test/Thens.h>
TEST(Future, thenVariants) {
SomeClass anObject;