@API updates:
- Migrating from associative containers to more performant types. Eg: map to absl::btree_map.
- Synchronise the write access to map "AreaCodeMaps" using absl::Mutex locking api.
- Use more of absl:strings packages like absl::StrReplaceAll
@Build updates:
- To build (CMake) against absl packages, the minimum version of compiler is CPP11+, whereas earlier we are not mandating this.
- We are upgrading CMAKE version also to automate building the external absl packages.
The change is announced. Please report issues in case of any breakages.
https://issuetracker.google.com/issues?q=componentid:192347%20555
The preprocessor expression defined(COMPILER_GCC) is used in code copied
from the Chromium project, but COMPILER_GCC is not defined by GCC itself,
but by the following expression in Chromium's build_config.h:
#if defined(__GNUC__)
#define COMPILER_GCC 1
#elif // ...
It must therefore be changed when copying the code out of the Chromium
code base.
This is done by adding a USE_BOOST compile time flag that is enabled by default
when the library is compiled with CMake (mainly for external users).
In Chromium, the library will be built without the USE_BOOST compile time flag.
Instead the NO_THREAD_SAFETY flag will have to be provided so that the minimal
non-thread-safe subset of base will be used.
This is possible since libphonenumber is only used from the UI thread in
Chromium.
BUG=http://crbug.com/236272R=jia.shao.peng@gmail.com
Review URL: https://codereview.appspot.com/8859052