This change fixes the below build error when using libc++ on Windows.
src/cpp/src/util/size.h(45,12): error: no member named 'size' in namespace 'std'
using std::size;
This is a followup to [1] which fixed the build in some cases, but not all.
As that CL points out:
We cannot solely rely on the value of _MSC_VER when determining
whether the standard library provides a definition of std::size;
we also need to make sure that the standard library is not libc++.
This is true, but the old logic would assume that the standard library would
provide std::size when __cpp_lib_nonmember_container_access >= 201411.
The new logic requires !defined(_LIBCPP_STD_VER) for that check too.
This change fixes the below build error when using libc++ on Windows.
This is a followup to [1] which fixed the build in some cases, but not all. As that CL points out:
This is true, but the old logic would assume that the standard library would provide std::size when __cpp_lib_nonmember_container_access >= 201411. The new logic requires !defined(_LIBCPP_STD_VER) for that check too.
[1] https://github.com/googlei18n/libaddressinput/commit/d955c63ec7048d59dffd20af25eeec23da878d27