tree 65121e2dcf2e332adc76c5a872bffef4582afd87
parent 8b0a5dc4294316241d6cbfce62a03dad10e1d18c
author Mario Salazar de Torres <mario.salazar.de.torres@est.tech> 1608317821 +0100
committer GitHub <noreply@github.com> 1608317821 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJf3Pt9CRBK7hj4Ov3rIwAAdHIIAJKGqeLFstUvygq6JHbLbmZa
 TmMmvnshlGEfk3VRlAg2rbT9TAyFqjgXKCyO2cJFZOsZ04cJUEdVMTN1pOBQJ8yk
 VX9Q2ExwRekuXGpL7Y5zUUKPpwid54KemtW/mUXW2USF5VfT8bo+WBCwMEAB9xl4
 73gQ7XTRiOc6gEwdU3yLszIhvPuuQgpBIC9FDi78SvSglwW4yn3VJbTguNs6gN5X
 8Z5bnZzOZIYYJI/z8r4855XokIzBnzN/JgpJyJur/+tHaLLrhxTlPvKHKlEnL8Gz
 GQ73DG+tpuYEX2euJFzgskmIJ3SyiS3nmONVj0g2/vFhuVRt7vwBZpk8nvg5nco=
 =aZ2J
 -----END PGP SIGNATURE-----
 

GEODE-8756: Fix CacheableString::objectSize (#703)

  - objectSize was not taking into account null-terminator character,
    which as of C++11, as stated in § 21.4.7.1, should be included at
    the end of the same string character sequence.
  - Also, in those cases in which SSO applied, the returned size was
    higher than the actual one.
  - A parametrized UT was added to check objectSize is returning the
    right size. Note that no fixed sizes are part of such test, given
    that each std::string implementation could have a different SSO
    size.

* Revision 2

 - Added a new class called size_tracking_allocator, which is a custom
   allocator used to track the size STL objects.
 - Changed testing approach so it does not replicate internal logic, and
   instead it instantiates a basic_string<char> with the new custom
   allocator so heap size is tracked this way.