Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Aug 26, 2012
  1. @tudor

    Increased std::vector compatibility of fbvector

    Nicholas Ormrod authored tudor committed
    fbvector was not accepting move_iterators for
    InputIterator-templated construct, assign, and insert. The root cause
    was the check '(b_ <= &*first && &*first < e_)', used to check if the
    assignment was from internal data. This addressof check does not compile
    with rvalue-references, and causes the first iterator to be dereferenced
    more than once; both against the contract of std::vector. The standard
    allows for undefined behaviour in the self-iterator case, so there are
    no contractual barriers to removing this check.
    Test Plan:
    run fbvector test and benchmark. An fbgs for 'assign' turns
    up few matches; the seem to be normal use-case. Test fbvector assign
    with self-iterators in order (i.e. fbv.assign(fbv.begin(), fbv.end()));
    this seems to work fine.
    Reviewed By:
    FB internal diff: D535012
Commits on Jun 5, 2012
  1. @tudor

    Check the return value from malloc / realloc.

    tudor authored
    Wrappers: checkedMalloc / checkedRealloc / checkedCalloc
    Test Plan: all folly tests
    FB internal diff: D486841
Commits on Jun 2, 2012
  1. @jdelong
Something went wrong with that request. Please try again.