• Nathan Bronson's avatar
    add missing operator=(initializer_list) overloads · 4b17db44
    Nathan Bronson authored
    Summary:
    F14 maps and sets were missing the operator= overload that takes
    an initializer list, resulting in map = {} having reset behavior rather
    than clear behavior.  Without the overload an empty map is constructed and
    then moved onto the lhs, freeing all memory.  With the overload we call
    clear(), which retains the existing allocation when it is not too large.
    This diff also cleans up the default constructor definitions, adding
    noexcept for F14FastMap and F14FastSet and making the others more concise.
    
    Reviewed By: shixiao
    
    Differential Revision: D9661526
    
    fbshipit-source-id: 101d66623bc4d50e7935fa9a73405a825648e6a5
    4b17db44
F14Map.h 38.2 KB