1. 16 Mar, 2023 2 commits
    • Be more consistent in the documentation and variable declarations for base64… · 50a9e2b2
      Be more consistent in the documentation and variable declarations for base64 escaping vs unescaping:
      * Move table documenting escaping conversions to be next to the internal escaping code that implements it. Mention it from the internal _un_escaping code (which reverses it) too.
      * Centralize the two arrays which map from normal chars to escaped chars (k(WebSafe)Base64Chars), and make bidirectional documentation links between them and their reverse (unescaping) maps (kUn(WebSafe)Base64).
      * Remove redundant list of escaping/unescaping methods in the public escaping.cc.
      
      PiperOrigin-RevId: 517142667
      Change-Id: I627e59a196ef855e5bf61ef7f4b509920e8d7acd
      Abseil Team committed
    • Enhance documentation about absl::Duration integer division, which · 256cc61a
      truncates, and floating-point multiplication/division, which rounds.
      
      PiperOrigin-RevId: 517016481
      Change-Id: I3b0c357ea7236f2c0231df5e6b47c742c3f40047
      Abseil Team committed
  2. 15 Mar, 2023 4 commits
  3. 14 Mar, 2023 3 commits
    • Synchronization: Add support for true relative timeouts using · 6d41348a
      monotonic clocks on Linux when the implementation uses futexes
      
      After this change, when synchronization methods that wait are passed
      an absl::Duration to limit the wait time, these methods will wait for
      that interval, even if the system clock is changed (subject to any
      limitations with how CLOCK_MONOTONIC keeps track of time). In other
      words, an observer measuring the time with a stop watch will now see
      the correct interval, even if the system clock is changed. Previously,
      the duration was added to the current time, and methods would wait
      until that time was reached on the possibly changed realtime system
      clock.
      
      The behavior of the synchronization methods that take an absl::Time is
      unchanged.  These methods always wait until the absolute point in time
      is reached and respect changes to the system clock. In other words, an
      observer will always see the timeout occur when a wall clock reaches
      that time, even if the clock is manipulated externally.
      
      Note: ABSL_PREDICT_FALSE was removed from the error case in Futex as
      timeouts are handled by this case, and timeouts are part of normal
      operation.
      PiperOrigin-RevId: 516534869
      Change-Id: Ib70b83e4be3f9e3f1727646975a21a1d30acb242
      Derek Mauro committed
    • Correct semantic and documentation for the ReportUnrecognizedFlags interface · 6db185d8
      PiperOrigin-RevId: 516411395
      Change-Id: I442fc9435bd7a829802c325e2e4106aa6775c263
      Gennadiy Rozental committed
    • Support AbslStringify in absl::Time and absl::Duration. · 52578edd
      PiperOrigin-RevId: 516363556
      Change-Id: Iae5e781d46dc8a8c4242ab460b57b65271b93159
      Abseil Team committed
  4. 13 Mar, 2023 3 commits
  5. 10 Mar, 2023 1 commit
  6. 09 Mar, 2023 3 commits
  7. 08 Mar, 2023 3 commits
    • Merge pull request #1395 from AtariDreams:const · d5d287dc
      PiperOrigin-RevId: 515105001
      Change-Id: I4a8ce8291ef3df23108dd21d8adb6752cde92dd0
      Copybara-Service committed
    • Introduce two new public APIs for parsing command line flags. · 297efcc9
      ParseAbseilFlagsOnly
      To be used to parse Abseil Flags only and classify the rest of the arguments.
      
      ReportUnrecognizedFlags
      To be used to report unrecognized flags.
      
      PiperOrigin-RevId: 515082682
      Change-Id: I73271b56cc512a5e78b5fcd035564b3672d62ca8
      Gennadiy Rozental committed
    • Synchronization: Add support for true relative timeouts using · b75a3ff4
      monotonic clocks on Linux when the implementation uses futexes
      
      After this change, when synchronization methods that wait are passed
      an absl::Duration to limit the wait time, these methods will wait for
      that interval, even if the system clock is changed (subject to any
      limitations with how CLOCK_MONOTONIC keeps track of time). In other
      words, an observer measuring the time with a stop watch will now see
      the correct interval, even if the system clock is changed. Previously,
      the duration was added to the current time, and methods would wait
      until that time was reached on the possibly changed realtime system
      clock.
      
      The behavior of the synchronization methods that take an absl::Time is
      unchanged.  These methods always wait until the absolute point in time
      is reached and respect changes to the system clock. In other words, an
      observer will always see the timeout occur when a wall clock reaches
      that time, even if the clock is manipulated externally.
      
      Note: ABSL_PREDICT_FALSE was removed from the error case in Futex as
      timeouts are handled by this case, and timeouts are part of normal
      operation.
      PiperOrigin-RevId: 515043788
      Change-Id: I151127b588065bd1316273f36d7c946545c2c892
      Derek Mauro committed
  8. 07 Mar, 2023 2 commits
  9. 06 Mar, 2023 1 commit
  10. 03 Mar, 2023 1 commit
  11. 02 Mar, 2023 5 commits
  12. 28 Feb, 2023 2 commits
  13. 27 Feb, 2023 3 commits
  14. 26 Feb, 2023 1 commit
  15. 24 Feb, 2023 2 commits
    • Remove extra space in comment. · f2b52372
      PiperOrigin-RevId: 512155216
      Change-Id: Ie66d29bd48ba8523f5fb7f835f721d9aec637eba
      Abseil Team committed
    • Update the predicate for `ABSL_INTERNAL_HAS_RTTI` for Windows builds. · 8c79530e
      Abseil defines `ABSL_INTERNAL_HAS_RTTI` by:
      
      ```
      !defined(__GNUC__) || defined(__GXX_RTTI)
      ```
      
      This predicate correctly decides rtti for GNU platforms. This predicate is always true for non-GNU platforms.
      
      It is not true that rtti is always enabled for non-GNU platforms. For example, when building with `cl.exe` and disabling rtti with `\GR-`, this clause is true. This leads to errors in Windows builds that disable rtti.
      
      This default behavior is not decidably correct, but the default behavior shouldn't change. It is better to guess that rtti is on, because if rtti is actually off, compilation will fail, and no programs will be harmed.
      
      This change updates the non-default behavior to include a check for rtti on Windows platforms. This change preserves the default behavior.
      
      PiperOrigin-RevId: 512085922
      Change-Id: I1add0b9b8ca2de5d1313c8aed5ba2019632ab68a
      Abseil Team committed
  16. 23 Feb, 2023 4 commits