Folly is an open-source C++ library developed and used at Facebook

Folly: Facebook Open-source LibrarY
-----------------------------------

Folly is an open-source C++ library developed and used at Facebook.

For details, see folly/docs/Overview.md.

Folly is published on Github at https://github.com/facebook/folly; for
discussions, there is a Google group at
https://groups.google.com/d/forum/facebook-folly.

Dependencies
------------

- double-conversion (http://code.google.com/p/double-conversion/)

    By default, the build tooling for double-conversion does not build
    any libraries, which folly requires.  To build the necessary libraries
    copy folly/SConstruct.double-conversion to your double-conversion
    source directory before building:

      [double-conversion/] scons -f SConstruct.double-conversion

    Then set CPPFLAGS/LDFLAGS so that folly can find your double-conversion
    build:

      [folly/] LDFLAGS=-L<double-conversion>/ CPPFLAGS=-I<double-conversion>/src/
        configure ...

- googletest (Google C++ Testing Framework)

  Grab gtest 1.6.0 from:
  http://googletest.googlecode.com/files/gtest-1.6.0.zip

  Unzip it inside of the test/ subdirectory.

- additional platform specific dependencies:

  Ubuntu 12.10 64-bit
    - g++
    - automake
    - autoconf
    - autoconf-archive
    - libtool
    - libboost1.46-all-dev
    - libgoogle-glog-dev
    - libgflags-dev
    - scons (for double-conversion)

  Fedora 17 64-bit
    - gcc
    - gcc-c++
    - autoconf
    - autoconf-archive
    - automake
    - boost-devel
    - libtool
    - glog-devel
    - gflags-devel
    - scons (for double-conversion)
 
 
 
 
 
Octocat-spinner-32buildmacro for cross platform x64 detection April 18, 2014
Octocat-spinner-32detailmacro for cross platform x64 detection April 18, 2014
Octocat-spinner-32docsUpdate Overview.md November 05, 2013
Octocat-spinner-32experimentalFix header ordering lint failures April 18, 2014
Octocat-spinner-32gen(Folly/Gen) Make ranges and sequences take a stepping functor April 18, 2014
Octocat-spinner-32iomacro for cross platform x64 detection April 18, 2014
Octocat-spinner-32m4Add missing ax_boost_system.m4. October 14, 2013
Octocat-spinner-32statsNULL -> nullptr March 31, 2014
Octocat-spinner-32testmacro for cross platform x64 detection April 18, 2014
Octocat-spinner-32wangleAdd missing includes for msvc April 18, 2014
Octocat-spinner-32ApplyTuple.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Arena-inl.hconfigurable alignment for Arena April 18, 2014
Octocat-spinner-32Arena.hconfigurable alignment for Arena April 18, 2014
Octocat-spinner-32AtomicBitSet.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32AtomicHashArray-inl.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32AtomicHashArray.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32AtomicHashMap-inl.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32AtomicHashMap.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32AtomicStruct.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Baton.hmacro for cross platform x64 detection April 18, 2014
Octocat-spinner-32Benchmark.cppuint isn't portable and makes some compilers angry, change to unsigne… April 18, 2014
Octocat-spinner-32Benchmark.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Bits.cppCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Bits.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32CPortability.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Checksum.cppmacro for cross platform x64 detection April 18, 2014
Octocat-spinner-32Checksum.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Chrono.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32ConcurrentSkipList-inl.hfix ConcurrentSkipList::Recycler layout April 08, 2014
Octocat-spinner-32ConcurrentSkipList.hconfigurable node allocator for ConcurrentSkipList April 08, 2014
Octocat-spinner-32Conv.cppCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Conv.hFix inclusions of double-conversion to use proper path February 28, 2014
Octocat-spinner-32CpuId.hmacro for cross platform x64 detection April 18, 2014
Octocat-spinner-32Demangle.cppMake Folly cpp_library targets more granular March 10, 2014
Octocat-spinner-32Demangle.hMake Folly cpp_library targets more granular March 10, 2014
Octocat-spinner-32DiscriminatedPtr.hmacro for cross platform x64 detection April 18, 2014
Octocat-spinner-32DynamicConverter.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Exception.hMSVC translation of noreturn attribute April 18, 2014
Octocat-spinner-32FBString.hfbstring likely/unlikley ifdef for stuff that doesn't support it April 18, 2014
Octocat-spinner-32FBVector.hBugfix in iterator emplace April 08, 2014
Octocat-spinner-32File.cppCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32File.huse 0666 as the default permissions for new files March 10, 2014
Octocat-spinner-32FileUtil.cppCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32FileUtil.huse 0666 as the default permissions for new files March 10, 2014
Octocat-spinner-32Fingerprint.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Foreach.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Format-inl.hadd formatChecked(), which does not crash on bad format strings February 06, 2014
Octocat-spinner-32Format.cpprevert format()'s behavior of crashing on error February 06, 2014
Octocat-spinner-32Format.hMSVC translation of noreturn attribute April 18, 2014
Octocat-spinner-32FormatArg.hMSVC translation of noreturn attribute April 18, 2014
Octocat-spinner-32GroupVarint.cppCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32GroupVarint.hmacro for cross platform x64 detection April 18, 2014
Octocat-spinner-32Hash.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32IndexedMemPool.hinclude guard name cleanup for IndexedMemPool January 16, 2014
Octocat-spinner-32IntrusiveList.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Lazy.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32LifoSem.cppIntroduce LifoSem April 18, 2014
Octocat-spinner-32LifoSem.hIntroduce LifoSem April 18, 2014
Octocat-spinner-32Likely.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Logging.hmake FB_LOG_EVERY_MS thread safe February 28, 2014
Octocat-spinner-32MPMCPipeline.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32MPMCQueue.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Makefile.amFix make check April 08, 2014
Octocat-spinner-32Malloc.cppNULL -> nullptr March 31, 2014
Octocat-spinner-32Malloc.hNULL -> nullptr March 31, 2014
Octocat-spinner-32MapUtil.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Memory.hconfigurable node allocator for ConcurrentSkipList April 08, 2014
Octocat-spinner-32MemoryMapping.cppOptionally specify page size in MemoryMapping ctor March 31, 2014
Octocat-spinner-32MemoryMapping.hOptionally specify page size in MemoryMapping ctor March 31, 2014
Octocat-spinner-32Merge.hfolly::merge() - std::merge() with stronger guarantees (probably same… March 18, 2014
Octocat-spinner-32MoveWrapper.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Optional.hAdd missing includes for msvc April 18, 2014
Octocat-spinner-32PackedSyncPtr.hmacro for cross platform x64 detection April 18, 2014
Octocat-spinner-32Padded.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Portability.hmacro for cross platform x64 detection April 18, 2014
Octocat-spinner-32Preprocessor.hChange paramter name to FB_STRINGIZE February 06, 2014
Octocat-spinner-32ProducerConsumerQueue.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32RWSpinLock.hx64 detection missing an include April 18, 2014
Octocat-spinner-32Random.cppNULL -> nullptr March 31, 2014
Octocat-spinner-32Random.hReplace random_device/mt19937 with folly/Random March 10, 2014
Octocat-spinner-32Range.cppfolly: ASAN-exempt scanHaystackBlock, to avoid an FP buffer overrun February 07, 2014
Octocat-spinner-32Range.hRange::contains(x) March 31, 2014
Octocat-spinner-32SConstruct.double-conversionPull from FB rev 63ce89e June 02, 2012
Octocat-spinner-32SafeAssert.cppCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32SafeAssert.hMSVC translation of noreturn attribute April 18, 2014
Octocat-spinner-32ScopeGuard.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32SmallLocks.hmacro for cross platform x64 detection April 18, 2014
Octocat-spinner-32SpookyHashV1.cppCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32SpookyHashV1.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32SpookyHashV2.cppCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32SpookyHashV2.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32String-inl.hSupport numeric types as targets for folly::split March 10, 2014
Octocat-spinner-32String.cppAdd missing includes for msvc April 18, 2014
Octocat-spinner-32String.hUtility that converts from prettyPrint format back to double (e.g. 10… April 03, 2014
Octocat-spinner-32Subprocess.cppMSVC translation of noreturn attribute April 18, 2014
Octocat-spinner-32Subprocess.hChange child's working directory April 18, 2014
Octocat-spinner-32Synchronized.hFix TIMED_SYNCHRONIZED_CONST bug April 03, 2014
Octocat-spinner-32ThreadCachedArena.cppconfigurable alignment for Arena April 18, 2014
Octocat-spinner-32ThreadCachedArena.hconfigurable alignment for Arena April 18, 2014
Octocat-spinner-32ThreadCachedInt.hNULL -> nullptr March 31, 2014
Octocat-spinner-32ThreadLocal.habstract thread_local support April 18, 2014
Octocat-spinner-32TimeoutQueue.cppCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32TimeoutQueue.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Traits.hAdd missing includes for msvc April 18, 2014
Octocat-spinner-32Unicode.cppCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Unicode.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Uri-inl.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32Uri.cppFix folly Uri::host() return value for IPv6 address April 18, 2014
Octocat-spinner-32Uri.hFix folly Uri::host() return value for IPv6 address April 18, 2014
Octocat-spinner-32Varint.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32configure.acMove thrift/lib/cpp/async to folly. March 18, 2014
Octocat-spinner-32dynamic-inl.hCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32dynamic.cppCopyright 2013 -> 2014 February 06, 2014
Octocat-spinner-32dynamic.hMake sure folly::dynamic arrays can be used with folly::gen March 18, 2014
Octocat-spinner-32json.cpprange(), for making Range<T*> from arrays and std::vector March 18, 2014
Octocat-spinner-32json.hAdd control of floating point serialization to JSON serialization March 18, 2014
Octocat-spinner-32small_vector.hmacro for cross platform x64 detection April 18, 2014
Octocat-spinner-32sorted_vector_types.hsorted_vector_types have move inserts March 18, 2014
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值