mirror of
https://github.com/nlohmann/json
synced 2024-11-23 04:20:06 +00:00
467f622c65
This fixes a compilation issue with the library if trying to use containers that don't have non-member `begin()` and `end()` functions via ADL. This patch extends the `using std::begin` and `using std::end` declarations to also cover the return type deduction of the input_adapter() template specialization for containers. The previous implementation only enabled the detection of `std::begin()` and `std::end()` in the function body, making the specialization unusable for container types that only have member `begin()` and `end()` functions. It is not typical to have `using` declarations in the namespace scope in a header file. But a C++11 implementation can't rely on fully automatic return type deduction, and needs to rely on ADL enabled helper templates. To prevent the using declarations leaking, they are enclosed in another nested namespace. |
||
---|---|---|
.. | ||
cmake_add_subdirectory | ||
cmake_fetch_content | ||
cmake_import | ||
cmake_import_minver | ||
cmake_target_include_directories | ||
reports | ||
src | ||
thirdparty | ||
CMakeLists.txt | ||
Makefile |