summaryrefslogtreecommitdiff
path: root/absl/functional
Commit message (Collapse)AuthorAge
* overload: make the constructor constexprGravatar Abseil Team2024-05-24
| | | | | PiperOrigin-RevId: 637029703 Change-Id: I58b4c3a3f1aab3062b51d15c5b9fecfd3ca3193a
* `overload_test`: Remove a few unnecessary trailing return typesGravatar Dino Radakovic2024-05-23
| | | | | | | | | | `absl::StrCat` always returns a `std::string`. Specifying it using a trailing return type does not help. Tests are documentation, and they should be consistent with [the google style guide](https://google.github.io/styleguide/cppguide.html#trailing_return). For example, this is different than `-> absl::string_view` and returning string literals, where it is actually a load-bearing change. PiperOrigin-RevId: 636705683 Change-Id: I0d84a562a59bc0c16be01dd2ae5538adb401432e
* `any_invocable`: Clean up #includesGravatar Dino Radakovic2024-05-08
| | | | | | | | | - remove [<initializer_list>](https://en.cppreference.com/w/cpp/header/initializer_list) from internal header. It declares `std::initializer_list`, `std::begin` and `std::end`, none of which are used there - add `absl/base/attributes.h` to the internal header because it provides `ABSL_FALLTHROUGH_INTENDED` - add [<functional>](https://en.cppreference.com/w/cpp/header/functional) to the public header, because it provides `std::reference_wrapper` PiperOrigin-RevId: 632018125 Change-Id: Icf7a9c8a920c9c076ef416ea80995e3a81ce3e81
* Resynchronize absl/functional/CMakeLists.txt with BUILD.bazelGravatar Benjamin Barenblat2024-05-08
| | | | | | | | | | overload_test needs some extra dependencies to build when absl::variant is not an alias for std::variant; these dependencies are listed in absl/functional/BUILD.bazel but not in absl/functional/CMakeLists.txt. Copy dependencies from BUILD.bazel to CMakeLists.txt. PiperOrigin-RevId: 631845552 Change-Id: I63f53323b28aff36530be645b312e94b24475f53
* `any_invocable`: Add public documentation for undefined behavior when ↵Gravatar Dino Radakovic2024-05-07
| | | | | | | | | | invoking an empty AnyInvocable This is currently documented in `internal/any_invocable.h`, but not in the public API. For example, `std::function` [documents](https://en.cppreference.com/w/cpp/utility/functional/function) the fact that invoking an empty instance throws `std::bad_function_call`. PiperOrigin-RevId: 631621604 Change-Id: I6b886a805ffa0e7aaef5f6971e1eafd14f94050c
* `any_invocable`: Delete obsolete reference to proposed standard typeGravatar Dino Radakovic2024-05-07
| | | | | | | | The comment calls if `any_invocable`, but the standard ultimately chose [`move_only_function`](https://en.cppreference.com/w/cpp/utility/functional/move_only_function/move_only_function). And `absl::AnyInvocable` does not officially track the standard. PiperOrigin-RevId: 631612663 Change-Id: I3f21f33cd6e2c6ce06ac92a8d2a68db6f942ea1b
* Fix order of qualifiers in `absl::AnyInvocable` documentation.Gravatar Abseil Team2024-04-26
| | | | | PiperOrigin-RevId: 628424298 Change-Id: Ia4d15decff040add1b161cd9b472f19f562c49f9
* overload: allow using the underlying type with CTAD directly.Gravatar Aaron Jacobs2024-04-23
| | | | | | | There's no need to go through an extra layer of indirection to get this. PiperOrigin-RevId: 627567108 Change-Id: I241851c5294417aae069047e35961ed58475e59e
* Replace usages of absl::move, absl::forward, and absl::exchange with theirGravatar Derek Mauro2024-03-11
| | | | | | | std:: equivalents PiperOrigin-RevId: 614687225 Change-Id: I07421db08ee9c221e561f42e3bf8345fb5321401
* Document and test ability to use absl::Overload with generic lambdas.Gravatar Vitaly Goldshteyn2024-03-06
| | | | | PiperOrigin-RevId: 613141617 Change-Id: Ife68495d4a5951b734db7407fb99686cf45a5133
* Bazel: Enable the header_modules featureGravatar Derek Mauro2023-10-11
| | | | | PiperOrigin-RevId: 572575394 Change-Id: Ic1c5ac2423b1634e50c43bad6daa14e82a8f3e2c
* Bazel: Support layering_check and parse_headersGravatar Derek Mauro2023-10-10
| | | | | | | | | | | | | The layering_check feature ensures that rules that include a header explicitly depend on a rule that exports that header. Compiler support is required, and currently only Clang 16+ supports diagnoses layering_check failures. The parse_headers feature ensures headers are self-contained by compiling them with -fsyntax-only on supported compilers. PiperOrigin-RevId: 572350144 Change-Id: I37297f761566d686d9dd58d318979d688b7e36d1
* Fix error in GCC warning suppressionGravatar Derek Mauro2023-10-06
| | | | | PiperOrigin-RevId: 571347014 Change-Id: I716ca435128081f0e9b0434143103df579256f50
* `absl::Overload()` which returns a functor that provides overloads based on ↵Gravatar Abseil Team2023-09-26
| | | | | | | the functors passed to it. PiperOrigin-RevId: 568476251 Change-Id: Ic625c9b5300d1db496979c178ca1e655581f9276
* Allow const qualified FunctionRef instances. This allows the signature to be ↵Gravatar Abseil Team2023-09-15
| | | | | | | compatible with AnyInvokable for const uses. PiperOrigin-RevId: 565682320 Change-Id: I924dadf110481e572bdb8af0111fa62d6f553d90
* AnyInvocable: Use enums instead of ints in initialization overload setGravatar Dino Radakovic2023-06-26
| | | | | | | This trick was introduced to work around a compiler bug in msvc 2017, which abseil doesn't support anymore: https://github.com/google/oss-policies-info/blob/3aa4b98f497fdfac983b8de78cf6bd693cb0cf4f/foundational-cxx-support-matrix.md PiperOrigin-RevId: 543477428 Change-Id: I332c1b359b75811536ce900d3166979ac3c196a3
* CI: Move the GCC-latest testing to GCC 13.1 on LinuxGravatar Derek Mauro2023-05-22
| | | | | | | | | | This includes an upgrade to CMake 3.26.3 and Bazel 6.2.0 This change includes support for both GCC 12 and 13 since we were only testing GCC 11 before this change. PiperOrigin-RevId: 534235753 Change-Id: I4183a02469b1c3425c52a31b71fcefe403315a42
* Merge pull request #1448 from glandium:clangGravatar Copybara-Service2023-05-18
|\ | | | | | | | | PiperOrigin-RevId: 533121605 Change-Id: I82390045985db5db56e93c40eae24cdcd93e3ab4
| * Use UB impl of launder on when using clang < 8 and c++17Gravatar Mike Hommey2023-05-18
|/ | | | | | | libstdc++'s definition of std::launder places it behind a check for __builtin_launder, which is not available before clang 8. Fixes: #1309
* Remove ABSL_HARDENING_ASSERT in AnyInvocable to avoid performance impact in ↵Gravatar Abseil Team2023-05-11
| | | | | | | optimized builds PiperOrigin-RevId: 531301442 Change-Id: Ib5a67f827bf89a66a0a8d24d3191f278566af6c8
* Fix spelling mistakesGravatar Vertexwahn2023-05-02
|
* Fix some spelling mistakesGravatar Vertexwahn2023-04-24
|
* Adds template specialization for nullptr assertion of absl::AnyInvocable ↵Gravatar Abseil Team2023-04-24
| | | | | | | types. PiperOrigin-RevId: 526644558 Change-Id: I050162c2c0d667c32f7e11f51201054cca52667d
* Document that wrapping an empty `std::function` creates a non-empty ↵Gravatar Dino Radakovic2023-04-06
| | | | | | | `AnyInvocable` PiperOrigin-RevId: 522411202 Change-Id: Ifc99f5f6a227efd697039344ea75f53c6f282e53
* Fix typo in commentGravatar Dino Radakovic2023-04-06
| | | | | PiperOrigin-RevId: 522392902 Change-Id: I5764edbe85612e90d02caae49bbf629dcb8879e3
* Add missing #include <exception> for std::terminateGravatar Abseil Team2023-03-20
| | | | | | | | It was previously included transitively through some other header, but with recent libc++ versions that's no longer the case. PiperOrigin-RevId: 517969848 Change-Id: I83c5c1853ae27b64a53a75a0f2faead37a70c145
* Support lvalue references to incomplete types as `FunctionRef` parameters.Gravatar Abseil Team2023-03-06
| | | | | PiperOrigin-RevId: 514451518 Change-Id: Ic1391374c7bff08ba437ac0410631d1f701bb9ed
* Move lambda from ExtractInvoker in AnyInvocable to a separate functionGravatar Abseil Team2023-02-27
| | | | | PiperOrigin-RevId: 512664112 Change-Id: I344fd425f52081c0662d7cd0ffa2eefd98fd18fe
* Remove extra space in comment.Gravatar Abseil Team2023-02-24
| | | | | PiperOrigin-RevId: 512155216 Change-Id: Ie66d29bd48ba8523f5fb7f835f721d9aec637eba
* std::shared_ptr<T>::unique() is deprecated in C++17 and removed in C++20.Gravatar Abseil Team2023-02-16
| | | | | | | Change to checking for use_count() >/== 1. PiperOrigin-RevId: 510125744 Change-Id: I572cca18c3f827f5d3eefb2ec19a1a014c0090ae
* Replace ABSL_INTERNAL_UNREACHABLE with ABSL_UNREACHABLE()Gravatar Derek Mauro2022-12-22
| | | | | PiperOrigin-RevId: 497197704 Change-Id: I3865a874e04f6f55a1ab374b03451535a86bc5a3
* Detects accidental multiple invocations of ↵Gravatar Abseil Team2022-10-11
| | | | | | | AnyInvocable<R(...)&&>::operator()&& by producing an error in debug mode, and clarifies that the behavior is undefined in the general case. PiperOrigin-RevId: 480392976 Change-Id: I2d4c6f213fa7c8747f125c9735272a8e47b9214b
* Rename True alias.Gravatar pateldeev2022-09-29
|
* any_invocable_test: Re-enable the two conversion tests that used to fail ↵Gravatar Dino Radakovic2022-07-15
| | | | | | | under MSVC PiperOrigin-RevId: 461238101 Change-Id: Id3edac104ecd9edd9daf8012894a62692bd9569f
* AnyInvocable: Move credits to the top of the fileGravatar Dino Radakovic2022-06-24
| | | | | PiperOrigin-RevId: 457014105 Change-Id: I4ecd4185385a213838c6f3241b65536b1f833705
* Release absl::AnyInvocableGravatar Dino Radakovic2022-06-16
| | | | | | | | AnyInvocable is a C++11 compatible equivalent of the C++23 [std::move_only_function](https://en.cppreference.com/w/cpp/utility/functional/move_only_function/move_only_function). Although this implementation matches an intermediate draft revision of the standard (http://wg21.link/p0288r5), it is neither a standard tracking type nor a seamless backfill type. PiperOrigin-RevId: 455494585 Change-Id: If01565f8eecc78eee38fb794ef142b32b31abc7c
* Rename function_ref_benchmark.cc into more generic ↵Gravatar Dino Radakovic2022-05-03
| | | | | | | function_type_benchmark.cc, add missing includes PiperOrigin-RevId: 446209567 Change-Id: I9aac8ce10b93ed71f1260931995af1d32db6f780
* Export of internal Abseil changesGravatar Abseil Team2022-02-24
| | | | | | | | | | | | | | | | | | | | | -- 7473df9e4922c589f6b27cf546aad097381ae552 by Martijn Vels <mvels@google.com>: Make ABSL_ASSUME publicly available PiperOrigin-RevId: 430540224 Change-Id: I760e2d86e3a0b676cd2a6d26e0225a77381e948f -- c83e38bc421f715b3c1e20150c2f1ffe8e633028 by Abseil Team <absl-team@google.com>: Alias absl::bind_front to std::bind_front if available This avoids ambiguity between the two when enabling C++20. PiperOrigin-RevId: 430486679 GitOrigin-RevId: 7473df9e4922c589f6b27cf546aad097381ae552 Change-Id: I1e9bba09a8946480ce10ddd28e86b6c86191d38c
* Export of internal Abseil changesGravatar Abseil Team2021-12-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- e7f53dfbf809812e84770217777f81b6308a3084 by Abseil Team <absl-team@google.com>: Add a parameter pack to absl profile to allow profiles to separate dynamic data from static data that is available at constructor-time. Background: `inline_element_size` is effectively constant, but there is a data race between its initialization and its access. We had fixed that race by making inline_element_size atomic. This CL changes `inline_element_size` back to a non-atomic integer, and provides a way for all profiles to provide Register()-time values. PiperOrigin-RevId: 413960559 -- 70234c5943f8e37e17c1d9c54d8ed61d39880abf by Chris Kennelly <ckennelly@google.com>: Document that absl::FunctionRef does not allocate. PiperOrigin-RevId: 413946831 -- 3308ae571412c4be3cc32d088c6edac98ff2d1ed by Samuel Benzaquen <sbenza@google.com>: Internal change PiperOrigin-RevId: 413933619 -- 1617093a730d055edcf7bc04fdd6509783f5f75d by Martijn Vels <mvels@google.com>: Internal Change PiperOrigin-RevId: 413778735 -- 03ad683f059c806a6c8b04f5b79b2662c3df8c73 by Evan Brown <ezb@google.com>: Unify btree erase_if definitions and optimize them so that we only do rebalancing once per leaf node. PiperOrigin-RevId: 413757280 -- 5ba402f70801938178e486617063f01c7862525d by Martijn Vels <mvels@google.com>: Cleanup up cord sampling internals PiperOrigin-RevId: 413755011 -- 522da8f9d3e0f11630d89fb41952004742bc335a by Evan Brown <ezb@google.com>: Add b-tree benchmark for erase_if. Since this benchmark doesn't work for std:: containers before C++20, disable it for them. PiperOrigin-RevId: 413740844 -- a690ea42de8ed4a761d00235d8b2fb7548ba9732 by Andy Getzendanner <durandal@google.com>: Import of CCTZ from GitHub. PiperOrigin-RevId: 413735737 GitOrigin-RevId: e7f53dfbf809812e84770217777f81b6308a3084 Change-Id: I4f9f9039ba92831bc48971964aa063244c9fed72
* Remove bazelbuild/rules_cc dependency (#1038)Gravatar Vertexwahn2021-10-14
|
* Export of internal Abseil changesGravatar Abseil Team2021-08-24
| | | | | | | | | | | -- 2aa219620f39aa490fa989f5d92e1bd3e52a46c5 by Abseil Team <absl-team@google.com>: Add lifetime annotations to FunctionRef. PiperOrigin-RevId: 392131866 GitOrigin-RevId: 2aa219620f39aa490fa989f5d92e1bd3e52a46c5 Change-Id: I295b808986857e46a565e047db25a951dd7ce0e3
* CMake: add option to use Google Test already installed on system (#969)Gravatar Florin Crișan2021-06-09
| | | As of this change, you can use `-DABSL_USE_EXTERNAL_GOOGLETEST=ON -DABSL_FIND_GOOGLETEST=ON` to have Abseil use the standard CMake find_package(GTest) mechanism.
* Export of internal Abseil changesGravatar Abseil Team2021-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- 2c81c02d2b68303134e777f31921679ab87a2639 by Derek Mauro <dmauro@google.com>: Use getentropy() to get seed material when using glibc >= 2.25 getentropy() uses the getrandom syscall on Linux to avoid file descriptors. It is never interputed (EINTR) and uses the same source as /dev/urandom. https://man7.org/linux/man-pages/man3/getentropy.3.html getrandom has been in the Linux since kernel 3.17 When unavailable (ENOSYS), fallback to /dev/urandom. PiperOrigin-RevId: 376962620 -- 81cd41372a04eda400a2e3be53c239c0dac6bdf3 by Abseil Team <absl-team@google.com>: Make FunctionRef no longer have -Wdeprecated-copy warnings from Clang by defaulting the copy constructor. This is needed because the assignment operator is deleted. Fixes #948 PiperOrigin-RevId: 376928548 GitOrigin-RevId: 2c81c02d2b68303134e777f31921679ab87a2639 Change-Id: I0abb18052ffff5dd1448f0b68edbb668045335f0
* Export of internal Abseil changesGravatar Abseil Team2020-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- 9f746b79e16d36dba908ed9e2a586d890fe54acc by Derek Mauro <dmauro@google.com>: Remove the Bazel mirror URL that we use in our WORKSPACE file This doesn't appear to be supported. We use --distdir caching in our tests. PiperOrigin-RevId: 327634738 -- e1f6f54830c415fc8bb8dc14483fae4cf9713d75 by Abseil Team <absl-team@google.com>: Removing comments following license() rules as they are rarely useful, redundant with LICENSE files, and tend to fall out of date. PiperOrigin-RevId: 327504063 -- b59c076638a57a74a3f8475f1dee8b536e32a15f by Gennadiy Rozental <rogeeff@google.com>: Change GetAllFlags API to return a collection of mutable flag handles. This will make this interface on par with FindCommandLineFlag and allow to call CommandLineFlag::ParseFrom on the handle returned by GetAllFlags. PiperOrigin-RevId: 327499084 -- bbf56b3c4a1d908d95e5a52aba38b1984151efff by Gennadiy Rozental <rogeeff@google.com>: Make raw_hash_set compile when AllocTraits::propagate_on_container_swap is false. PiperOrigin-RevId: 327371107 -- 837f62c85ea65c1d6b847a75816198c625fe62ff by Abseil Team <absl-team@google.com>: On macOS, `mem_alloc` is defined like this: rpc/types.h:86:#define mem_alloc(bsize) calloc(1, bsize) So if that file is included before container_memory.h, the variable mem_alloc may never get defined. This is fixed by using a different name. PiperOrigin-RevId: 327360224 -- aa8f5528382c0d01239ce75b645723aaf7e1ef46 by Gennadiy Rozental <rogeeff@google.com>: Release of absl::GetAllFlags API. PiperOrigin-RevId: 327275943 GitOrigin-RevId: 9f746b79e16d36dba908ed9e2a586d890fe54acc Change-Id: I99c5c87dd1712bf8df9a52397b0c1e400a3c3447
* Export of internal Abseil changesGravatar Abseil Team2020-06-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- b548087c24ae7c2c709e8040a118b5e312d18e2e by Derek Mauro <dmauro@google.com>: Remove the static initialization of global variables used by absl::Mutex as requested by Chromium PiperOrigin-RevId: 317676541 -- f198f5da1e966772efa978ba019bd23576899794 by Greg Miller <jgm@google.com>: fix: work around gcc-4.8 bug in disjunction See https://godbolt.org/z/i7-AmM for a repro of the bug. I realize that Abseil no longer supports gcc 4.8 officially (https://abseil.io/docs/cpp/platforms/platforms), but Cloud C++ still supports gcc 4.8 officially, and so it would be nice to get this simple fix in. fixes https://github.com/abseil/abseil-cpp/issues/718 PiperOrigin-RevId: 317484459 -- ed233f646530c6c0948213b643cc6919db1bee90 by Chris Kennelly <ckennelly@google.com>: Avoid determining the size of the duration unit at runtime. PiperOrigin-RevId: 317376300 -- 73d4011c17fcf747a990176924a7adc69d443533 by Greg Falcon <gfalcon@google.com>: Change spelling of internal detail from `Invoke`/`InvokeT` to `invoke`/`invoke_result_t`. This matches the spelling of the C++17 standard library names that perform the same operations. PiperOrigin-RevId: 317311527 GitOrigin-RevId: b548087c24ae7c2c709e8040a118b5e312d18e2e Change-Id: I131809ff0b92cfdb0d96dc94e94d9c6f751cb0ac
* Export of internal Abseil changesGravatar Abseil Team2020-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- e21e960918678629abf89ad1b694b7d4a456b434 by Greg Falcon <gfalcon@google.com>: Roll back invoke() change due to large increases in compiler memory usage. PiperOrigin-RevId: 315919455 -- f95872e1e1d7afdefbac94f42ea228d42d80eb6e by Greg Falcon <gfalcon@google.com>: Rollback of invoke() changes due to compiler memory usage growth PiperOrigin-RevId: 315911585 -- 6c6c6ba6892016a2ce4703042800254fb9b15727 by Laramie Leavitt <lar@google.com>: Move some of the common mocking code into MockHelpers. Use MockHelpers to do mock signature detection and improve the dispatch mechansim. PiperOrigin-RevId: 315825988 -- 5e9380367d280c7fa6dbd4d0f48c31ade7f1d419 by Greg Falcon <gfalcon@google.com>: Rename the internal implementation details Invoke and InvokeT to `invoke` and `invoke_result_t`, since these are re-implementations of C++17 library entites of the same names. PiperOrigin-RevId: 315790467 GitOrigin-RevId: e21e960918678629abf89ad1b694b7d4a456b434 Change-Id: Ia75011f94cb033c1c9a4cb64cf14d283b91426ac
* Export of internal Abseil changesGravatar Abseil Team2020-06-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- 44b312da54263fc7491b5f1e115e49e0c1e2dc10 by Greg Falcon <gfalcon@google.com>: Import of CCTZ from GitHub. PiperOrigin-RevId: 315782632 -- 27618a3b195f75384ba44e9712ae0b0b7d85937e by Greg Falcon <gfalcon@google.com>: Update Abseil's internal Invoke() implementation to follow C++17 semantics. Starting in C++17, when invoke'ing a pointer-to-member, if the object representing the class is a reference_wrapper, that wrapper is unpacked. Because we implement a number of functional APIs that closely match C++ standard proposals, it is better if we follow the standard's notion of what "invoking" means. This also makes `absl::base_internal::Invoke()` match `std::invoke()` in C++17. I intend to make this an alias in a follow-up CL. PiperOrigin-RevId: 315750659 -- 059519ea402cd55b1b716403bb680504c6ff5808 by Xiaoyi Zhang <zhangxy@google.com>: Internal change PiperOrigin-RevId: 315597064 -- 5e2042c8520576b2508e2bfb1020a97c7db591da by Titus Winters <titus@google.com>: Update notes on the delta between absl::Span vs. std::span. PiperOrigin-RevId: 315518942 -- 9d3875527b93124f5de5d6a1d575c42199fbf323 by Abseil Team <absl-team@google.com>: Internal cleanup PiperOrigin-RevId: 315497633 GitOrigin-RevId: 44b312da54263fc7491b5f1e115e49e0c1e2dc10 Change-Id: I24573f317c8388bd693c0fdab395a7dd419b33b0
* Export of internal Abseil changesGravatar Abseil Team2020-02-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- 00f5301405423005d9129935c05f20155536cc1a by CJ Johnson <johnsoncj@google.com>: Removes usage of std::aligned_storage from Abseil implementation details PiperOrigin-RevId: 296492301 -- fc11d15f91764612fba080669d2381dc181df52b by Abseil Team <absl-team@google.com>: Fix absl::bind_front documentation. PiperOrigin-RevId: 296482945 -- 0164c595c129c46bf21ae74eba5399a1da5f140b by Gennadiy Rozental <rogeeff@google.com>: Automated g4 rollback of changelist 296320700. PiperOrigin-RevId: 296439968 -- 1eb295700758ca0894d872b2de7c675b4ad679af by Abseil Team <absl-team@google.com>: Removes duplicate comments. PiperOrigin-RevId: 296433214 -- c30c01caae02d2fa4ef783d988de6bebb9757c39 by Derek Mauro <dmauro@google.com>: Merge GitHub #621: Add RISCV support to GetProgramCounter() Fixes #621 PiperOrigin-RevId: 296351174 -- 95d4498167596fd7543e025bdfe9a8da9e2ca3c8 by Abseil Team <absl-team@google.com>: Automated g4 rollback of changelist 296320700. PiperOrigin-RevId: 296348701 -- b193f0543e0cec54dddb2ed51f45dc489c8d06d5 by Gennadiy Rozental <rogeeff@google.com>: Change TryParse interface to return managed value. In addition introduce companion StoreValue routine which consumes pointer to source value and stores the value inside of FlagImpl. In a follow up CL we will change StoreValue implementation to behave differently depending on "value storage kind". We also rename default_src_ to default_value_. PiperOrigin-RevId: 296320700 -- 57e942b485d12912a0a8d0d0b35fa2a62847020f by Derek Mauro <dmauro@google.com>: Merge GitHub #622 * Add missing #ifdef conditionals for ABSL_HAVE_VDSO_SUPPORT PiperOrigin-RevId: 296272830 GitOrigin-RevId: 00f5301405423005d9129935c05f20155536cc1a Change-Id: I1b05eeaf1280f95fb0a2c5f3654995a87c792893
* Export of internal Abseil changesGravatar Abseil Team2020-01-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- 0b924fe4e9871200792617329d32beb8356daa9b by Derek Mauro <dmauro@google.com>: Use less threads in the GetTID() test to avoid test timeouts PiperOrigin-RevId: 292566826 -- 0b519c4fd48d61b7c4ea94ed6a6be6e981b9c51a by Abseil Team <absl-team@google.com>: Internal change. PiperOrigin-RevId: 292563778 -- 3204f6e07bcc2b5e9098d45f1a20998f25ab808e by Abseil Team <absl-team@google.com>: Internal change. PiperOrigin-RevId: 292550551 -- 09fbbe73833478d3f26f3e33c8291b991fd3be51 by Derek Mauro <dmauro@google.com>: Add a debug bounds-check to absl::string_view::operator[] string_view accesses that are out-of-bounds are undefined behavior: https://en.cppreference.com/w/cpp/string/basic_string_view/operator_at This change causes code to abort in debug mode, indicating a bug and possibly a security issue like a buffer overflow. Code broken by this change should be investigated. PiperOrigin-RevId: 292544735 -- bf2c19cb45682628f963d4067c0cd6deed7e656d by Derek Mauro <dmauro@google.com>: Add debug assertions to absl::string_view::front and absl::string_view::back Calling front() or back() on an empty string_view is undefined behavior. This assertion is to help catch broken code. https://en.cppreference.com/w/cpp/string/basic_string_view/front https://en.cppreference.com/w/cpp/string/basic_string_view/back PiperOrigin-RevId: 292453255 -- 47f573679b322f8c0fd2cb037cc87e7bc822ac6b by Xiaoyi Zhang <zhangxy@google.com>: Release functional/CMakeList.txt. PiperOrigin-RevId: 292417025 GitOrigin-RevId: 0b924fe4e9871200792617329d32beb8356daa9b Change-Id: Ie6980fb1ac351d72a2ce4468f25bd31db396f88a
* Export of internal Abseil changesGravatar Abseil Team2019-12-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- 24162e64040e89f174531fa78fc0ff43c3a67da4 by Abseil Team <absl-team@google.com>: Make ABSL_RETIRED_FLAG behave consistently with ABSL_FLAG. Before the change: ABSL_RETIRED_FLAG does not compile when there are competing ctors in the type, even when ABSL_FLAG does. After the change: ABSL_RETIRED_FLAG compiles when ABSL_FLAG does. PiperOrigin-RevId: 286437395 -- 870d4cb4d114813e9cefe30d26d020b0fdcdc4b4 by Tom Manshreck <shreck@google.com>: Add docs on bind_front PiperOrigin-RevId: 286433540 -- b0c328bd9bb64e0382f942f93b85054229dafeac by Tom Manshreck <shreck@google.com>: Specify the format for LogSeverity flags PiperOrigin-RevId: 286402811 GitOrigin-RevId: 24162e64040e89f174531fa78fc0ff43c3a67da4 Change-Id: I89785145d049fee49c6b9cf3357893ece9a6231c