[#absl] = absl :mrdocs: Abseil's root namespace. Abseil is Google's open‐source collection of C++ library code that augments the C++ standard library. == Namespaces [cols="1,4"] |=== | Name| Description | xref:absl/any_span_adaptor.adoc[`any_span_adaptor`] | Utilities for adapting objects to the interface that `AnySpan` expects. | xref:absl/any_span_transform.adoc[`any_span_transform`] | Accessors returning Transform functors that may be passed to `AnySpan`. | xref:absl/internal_stacktrace.adoc[`internal_stacktrace`] | Low‐level stack trace helpers shared by the public `GetStack*()` routines. |=== == Types [cols="1,4"] |=== | Name| Description | xref:absl/AllowEmpty.adoc[`AllowEmpty`] | Always returns `true`, indicating that all strings‐‐including empty strings‐‐should be included in the split output. | xref:absl/AlphaNum.adoc[`AlphaNum`] | The main parameter type for `StrCat()` and `StrAppend()`. | xref:absl/AnyInvocable.adoc[`AnyInvocable`] | absl::AnyInvocable | xref:absl/AnySpan.adoc[`AnySpan`] | A type‐erased, non‐owning view over a random‐access sequence. | xref:absl/BadStatusOrAccess.adoc[`BadStatusOrAccess`] | Exception thrown when accessing the value of an invalid `StatusOr`. | xref:absl/Barrier.adoc[`Barrier`] | A barrier that blocks threads until a threshold of threads reach it. | xref:absl/BitGen.adoc[`BitGen`] | A general‐purpose random bit generator for the Abseil random library. | xref:absl/BitGenRef.adoc[`BitGenRef`] | A type‐erasing, non‐owning reference to any uniform random bit generator. | xref:absl/BlockingCounter.adoc[`BlockingCounter`] | A counter that lets a thread block until a number of actions complete. | xref:absl/ByAnyChar.adoc[`ByAnyChar`] | A delimiter that will match any of the given byte‐sized characters within its provided string. | xref:absl/ByAsciiWhitespace.adoc[`ByAsciiWhitespace`] | A sub‐string delimiter that splits by ASCII whitespace (space, tab, vertical tab, formfeed, linefeed, or carriage return). | xref:absl/ByChar.adoc[`ByChar`] | A single character delimiter. | xref:absl/ByLength.adoc[`ByLength`] | A delimiter for splitting into equal‐length strings. | xref:absl/ByString.adoc[`ByString`] | A sub‐string delimiter. | xref:absl/CharSet.adoc[`CharSet`] | A fast, bit‐vector set of 8‐bit unsigned characters. | xref:absl/Cleanup-0a.adoc[`Cleanup`] | Scope guard that invokes a callback on scope exit. | xref:absl/Clock.adoc[`Clock`] | An abstract interface representing a Clock, which is an object that can tell you the current time, sleep, and wait for a condition variable. | xref:absl/CommandLineFlag.adoc[`CommandLineFlag`] | A type‐erased handle for an instance of an Abseil Flag and holds reflection information pertaining to that flag. Use `CommandLineFlag` to access a flag's name, location, help string etc. | xref:absl/CondVar.adoc[`CondVar`] | A condition variable that can be signaled to wake threads waiting on state evaluated outside a `Mutex`. | xref:absl/Condition.adoc[`Condition`] | A predicate on state protected by a `Mutex`, used to wait for a condition to become `true`. | xref:absl/Cord.adoc[`Cord`] | A sequence of characters stored as a tree of buffers. | xref:absl/CordBuffer.adoc[`CordBuffer`] | Manages memory buffers for building cords. | xref:absl/CordBufferTestPeer.adoc[`CordBufferTestPeer`] | Test‐only accessor for `CordBuffer` internals. | xref:absl/CordTestPeer.adoc[`CordTestPeer`] | Test‐only accessor granting access to `Cord` internals. | xref:absl/Dec.adoc[`Dec`] | Stores a set of decimal string conversion parameters for use within `AlphaNum` string conversions. | xref:absl/Duration.adoc[`Duration`] | The `absl::Duration` class represents a signed, fixed‐length amount of time. A `Duration` is generated using a unit‐specific factory function, or is the result of subtracting one `absl::Time` from another. Durations behave like unit‐safe integers and they support all the natural integer‐like arithmetic operations. Arithmetic overflows and saturates at +/‐ infinity. `Duration` is trivially destructible and should be passed by value rather than const reference. | xref:absl/ExtraMessage.adoc[`ExtraMessage`] | StatusBuilder policy to append an extra message to the original status. | xref:absl/FailureSignalHandlerOptions.adoc[`FailureSignalHandlerOptions`] | Configuration options for `absl::InstallFailureSignalHandler()`. | xref:absl/FastTypeIdType.adoc[`FastTypeIdType`] | The type returned by `absl::FastTypeId<T>()`. | xref:absl/FixedArray.adoc[`FixedArray`] | A run‐time fixed‐size array that allocates small arrays inline. | xref:absl/FlagSaver.adoc[`FlagSaver`] | A `FlagSaver` object stores the state of flags in the scope where the `FlagSaver` is defined, allowing modification of those flags within that scope and automatic restoration of the flags to their previous state upon leaving the scope. | xref:absl/FlagsUsageConfig.adoc[`FlagsUsageConfig`] | This structure contains the collection of callbacks for changing the behavior of the usage reporting routines in Abseil Flags. | xref:absl/FormatConversionSpec.adoc[`FormatConversionSpec`] | Specifies modifications to the conversion of the format string, through use of one or more format flags in the source format string. | xref:absl/FormatConvertResult.adoc[`FormatConvertResult`] | Indicates whether a call to AbslFormatConvert() was successful. | xref:absl/FormatCountCapture.adoc[`FormatCountCapture`] | Safely wraps `StrFormat()` captures of `%n` conversions into an integer value. | xref:absl/FormatRawSink.adoc[`FormatRawSink`] | A type erased wrapper around arbitrary sink objects specifically used as an argument to `Format()`. | xref:absl/FormatSink.adoc[`FormatSink`] | A generic abstraction to which conversions may write their formatted string data. | xref:absl/FunctionRef-0e3.adoc[`FunctionRef`] | FunctionRef | xref:absl/HasAbslStringify-01.adoc[`HasAbslStringify`] | Detects if type `T` supports the `AbslStringify()` customization point. | xref:absl/HasOstreamOperator-0f.adoc[`HasOstreamOperator`] | Detects if type `T` supports streaming to `std::ostream`s with `operator<<`. | xref:absl/HashState.adoc[`HashState`] | A type‐erased version of the hash state concept. | xref:absl/Hex.adoc[`Hex`] | Stores a set of hexadecimal string conversion parameters for use within `AlphaNum` string conversions. | xref:absl/InlinedVector.adoc[`InlinedVector`] | A drop‐in replacement for `std::vector` that stores small sequences inline. | xref:absl/InsecureBitGen.adoc[`InsecureBitGen`] | An efficient random bit generator for performance‐sensitive use cases. | xref:absl/LeakCheckDisabler.adoc[`LeakCheckDisabler`] | This helper class indicates that any heap allocations done in the code block covered by the scoped object, which should be allocated on the stack, will not be reported as leaks. Leak check disabling will occur within the code block and any nested function calls within the code block. | xref:absl/LogEntry.adoc[`LogEntry`] | Represents a single entry in a log, i.e., one `LOG` statement or failed `CHECK`. | xref:absl/LogSink.adoc[`LogSink`] | `absl::LogSink` is an interface which can be extended to intercept and process particular messages (with `LOG.ToSinkOnly()` or `LOG.ToSinkAlso()`) or all messages (if registered with `absl::AddLogSink`). Implementations must not take any locks that might be held by the `LOG` caller. | xref:absl/LogStreamer.adoc[`LogStreamer`] | Although you can stream into `LOG(INFO)`, you can't pass it into a function that takes a `std::ostream` parameter. `LogStreamer::stream()` provides a `std::ostream` that buffers everything that's streamed in. The buffer's contents are logged as if by `LOG` when the `LogStreamer` is destroyed. If nothing is streamed in, an empty message is logged. If the specified severity is `absl::LogSeverity::kFatal`, the program will be terminated when the `LogStreamer` is destroyed regardless of whether any data were streamed in. | xref:absl/MuHowS.adoc[`MuHowS`] | A constant that indicates how a lock should be acquired. | xref:absl/Mutex.adoc[`Mutex`] | A non‐reentrant mutually exclusive lock that also supports reader‐writer locking and conditional critical regions. | xref:absl/MutexLock.adoc[`MutexLock`] | RAII helper that acquires and releases a `Mutex` exclusively. | xref:absl/MutexLockMaybe.adoc[`MutexLockMaybe`] | RAII helper like `MutexLock`, but a no‐op when the mutex pointer is null. | xref:absl/NoDestructor-08.adoc[`NoDestructor`] | NoDestructor<T> is a wrapper around an object of type T that behaves as an object of type T but never calls T's destructor. NoDestructor<T> makes it safer and/or more efficient to use such objects in static storage contexts, ideally as function scope static variables. | xref:absl/Notification.adoc[`Notification`] | Lets threads wait for a single occurrence of a single event. | xref:absl/Overload-05.adoc[`Overload`] | `absl::Overload` is a functor that provides overloads based on the functors with which it is created. This can, for example, be used to locally define an anonymous visitor type for `std::visit` inside a function using lambdas. | xref:absl/ReaderMutexLock.adoc[`ReaderMutexLock`] | RAII helper that acquires and releases a shared (reader) lock on a `Mutex`. | xref:absl/ReleasableMutexLock.adoc[`ReleasableMutexLock`] | RAII helper like `MutexLock` that also permits releasing the mutex before destruction. | xref:absl/ScopedStderrThreshold.adoc[`ScopedStderrThreshold`] | RAII type used to temporarily update the Stderr Threshold parameter. | xref:absl/SeedGenException.adoc[`SeedGenException`] | An exception thrown when suitable seed‐material cannot be derived. | xref:absl/SimulatedClock.adoc[`SimulatedClock`] | A simulated clock is a concrete Clock implementation that does not "tick" on its own. Time is advanced by explicit calls to the AdvanceTime() or SetTime() functions. | xref:absl/SkipEmpty.adoc[`SkipEmpty`] | Returns `false` if the given `absl::string_view` is empty, indicating that `StrSplit()` should omit the empty string. | xref:absl/SkipWhitespace.adoc[`SkipWhitespace`] | Returns `false` if the given `absl::string_view` is empty _or_ contains only whitespace, indicating that `StrSplit()` should omit the string. | xref:absl/Span.adoc[`Span`] | A non‐owning view over a contiguous sequence of objects. | xref:absl/Status.adoc[`Status`] | A type used to gracefully handle errors across API boundaries. | xref:absl/StatusBuilder.adoc[`StatusBuilder`] | Builds an `absl::Status` enriched with extra context, logging, and payloads. | xref:absl/StatusBuilderTest.adoc[`StatusBuilderTest`] | Test fixture granted access to `Rep`'s implementation. | xref:absl/StatusOr.adoc[`StatusOr`] | A union of an object of type `T` and an `absl::Status`. | xref:absl/SynchWaitParams.adoc[`SynchWaitParams`] | Internal parameters describing a pending wait on a `Mutex`. | xref:absl/Time.adoc[`Time`] | An `absl::Time` represents a specific instant in time. Arithmetic operators are provided for naturally expressing time calculations. Instances are created using `absl::Now()` and the `absl::From*()` factory functions that accept the gamut of other time representations. Formatting and parsing functions are provided for conversion to and from strings. `absl::Time` is trivially destructible and should be passed by value rather than const reference. | xref:absl/TimeConversion.adoc[`TimeConversion`] [.small]#[deprecated]# | An `absl::TimeConversion` represents the conversion of year, month, day, hour, minute, and second values (i.e., a civil time), in a particular `absl::TimeZone`, to a time instant (an absolute time), as returned by `absl::ConvertDateTime()`. Legacy version of `absl::TimeZone::TimeInfo`. | xref:absl/TimeZone.adoc[`TimeZone`] | The `absl::TimeZone` is an opaque, small, value‐type class representing a geo‐political region within which particular rules are used for converting between absolute and civil times (see https://git.io/v59Ly). `absl::TimeZone` values are named using the TZ identifiers from the IANA Time Zone Database, such as "America/Los_Angeles" or "Australia/Sydney". `absl::TimeZone` values are created from factory functions such as `absl::LoadTimeZone()`. Note: strings like "PST" and "EDT" are not valid TZ identifiers. Prefer to pass by value rather than const reference. | xref:absl/UnrecognizedFlag.adoc[`UnrecognizedFlag`] | Represents information about an unrecognized flag in the command line. | xref:absl/UntypedFormatSpec.adoc[`UntypedFormatSpec`] | A type‐erased class that can be used directly within untyped API entry points. | xref:absl/WriterMutexLock.adoc[`WriterMutexLock`] | RAII helper that acquires and releases a write (exclusive) lock on a `Mutex`. | xref:absl/allocator_is_nothrow.adoc[`allocator_is_nothrow`] | Trait class reporting whether an allocator's allocation never throws. | xref:absl/bernoulli_distribution.adoc[`bernoulli_distribution`] | A drop in replacement for `std::bernoulli_distribution`. | xref:absl/beta_distribution.adoc[`beta_distribution`] | Generates a floating‐point variate conforming to a Beta distribution: pdf(x) propto xˆ(alpha‐1) * (1‐x)ˆ(beta‐1), where the params alpha and beta are both strictly positive real values. | xref:absl/btree_map.adoc[`btree_map`] | An ordered associative container of unique keys and associated values. | xref:absl/btree_multimap.adoc[`btree_multimap`] | An ordered associative container of keys and associated values that allows equivalent keys. | xref:absl/btree_multiset.adoc[`btree_multiset`] | An ordered associative container of keys that allows equivalent keys. | xref:absl/btree_set.adoc[`btree_set`] | An ordered associative container of unique keys. | xref:absl/chunked_queue.adoc[`chunked_queue`] | A queue implemented as a linked list of fixed or variable sized blocks. | xref:absl/crc32c_t.adoc[`crc32c_t`] | A strongly‐typed integer for holding a CRC32C value. | xref:absl/default_allocator_is_nothrow.adoc[`default_allocator_is_nothrow`] | Trait reporting whether the default allocator's allocation never throws. | xref:absl/discrete_distribution.adoc[`discrete_distribution`] | A distribution over random integers. | xref:absl/exponential_distribution.adoc[`exponential_distribution`] | Generates a number conforming to an exponential distribution. | xref:absl/flat_hash_map.adoc[`flat_hash_map`] | An unordered associative container of unique keys and associated values, optimized for speed and memory footprint. | xref:absl/flat_hash_set.adoc[`flat_hash_set`] | An unordered associative container of unique keys, optimized for speed and memory footprint. | xref:absl/from_chars_result.adoc[`from_chars_result`] | The return result of a string‐to‐number conversion. | xref:absl/gaussian_distribution.adoc[`gaussian_distribution`] | Generates a number conforming to a Gaussian distribution. | xref:absl/int128.adoc[`int128`] | A signed 128‐bit integer type. | xref:absl/is_trivially_relocatable.adoc[`is_trivially_relocatable`] | https://github.com/llvm/llvm‐project/pull/127636#pullrequestreview‐2637005293 In the current implementation, __builtin_is_cpp_trivially_relocatable will only return true for types that are trivially relocatable according to the standard. Notably, this means that marking a type [[clang::trivial_abi]] aka ABSL_HAVE_ATTRIBUTE_TRIVIAL_ABI will have no effect on this trait. | xref:absl/linked_hash_map.adoc[`linked_hash_map`] | An insertion‐ordered map. | xref:absl/linked_hash_set.adoc[`linked_hash_set`] | A simple insertion‐ordered set. | xref:absl/log_uniform_int_distribution.adoc[`log_uniform_int_distribution`] | Returns a random variate R in range [min, max]such that floor(log(R‐min, base)) is uniformly distributed. | xref:absl/node_hash_map.adoc[`node_hash_map`] | An unordered associative container of unique keys and associated values that provides pointer stability for its elements. | xref:absl/node_hash_set.adoc[`node_hash_set`] | An unordered associative container of unique keys that provides pointer stability for its elements. | xref:absl/nontype_t.adoc[`nontype_t`] | Backfill for std::nontype_t. | xref:absl/once_flag.adoc[`once_flag`] | Objects of this type are used to distinguish calls to `call_once()` and ensure the provided function is only invoked once across all threads. This type is not copyable or movable. However, it has a `constexpr` constructor, and is safe to use as a namespace‐scoped global variable. | xref:absl/optional_ref-0c.adoc[`optional_ref`] | A `std::optional`‐like interface around a `T*`. | xref:absl/poisson_distribution.adoc[`poisson_distribution`] | A distribution that generates discrete Poisson‐distributed variates. | xref:absl/uint128.adoc[`uint128`] | An unsigned 128‐bit integer type. | xref:absl/uniform_int_distribution.adoc[`uniform_int_distribution`] | This distribution produces random integer values uniformly distributed in the closed (inclusive) interval [a, b]. | xref:absl/uniform_real_distribution.adoc[`uniform_real_distribution`] | This distribution produces random floating‐point values uniformly distributed over the half‐open interval [a, b).] | xref:absl/zipf_distribution.adoc[`zipf_distribution`] | A distribution over random integer‐values in the range [0, k]. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:absl/CivilDay.adoc[`CivilDay`] | A civil‐time value aligned to the day field (YYYY‐MM‐DD). | xref:absl/CivilHour.adoc[`CivilHour`] | A civil‐time value aligned to the hour field (YYYY‐MM‐DD hh). | xref:absl/CivilMinute.adoc[`CivilMinute`] | A civil‐time value aligned to the minute field (YYYY‐MM‐DD hh:mm). | xref:absl/CivilMonth.adoc[`CivilMonth`] | A civil‐time value aligned to the month field (YYYY‐MM). | xref:absl/CivilSecond.adoc[`CivilSecond`] | A civil‐time value aligned to the second field (YYYY‐MM‐DD hh:mm:ss). | xref:absl/CivilYear.adoc[`CivilYear`] | A civil‐time value aligned to the year field (YYYY). | xref:absl/DefaultHashContainerEq.adoc[`DefaultHashContainerEq`] | Convenience alias for the default equality functor of Abseil hash‐based (unordered) containers. | xref:absl/DefaultHashContainerHash.adoc[`DefaultHashContainerHash`] | Convenience alias for the default hashing functor of Abseil hash‐based (unordered) containers. | xref:absl/EnableSplitIfString.adoc[`EnableSplitIfString`] | Enables a `StrSplit()` overload only when `T` is `std::string`. | xref:absl/Flag.adoc[`Flag`] | Forward declaration of the `absl::Flag` type for use in defining the macro. | xref:absl/FormatArg.adoc[`FormatArg`] | A type‐erased handle to a format argument specifically used as an argument to `FormatUntyped()`. | xref:absl/FormatSpec.adoc[`FormatSpec`] | Defines the makeup of a format string within the `str_format` library. | xref:absl/Hash.adoc[`Hash`] | A convenient general‐purpose hash functor for any hashable type `T`. | xref:absl/ParsedFormat.adoc[`ParsedFormat`] | A class template representing a preparsed `FormatSpec`, with template arguments specifying the conversion characters used within the format string. | xref:absl/SeedSeq.adoc[`SeedSeq`] | A seed sequence conforming to [rand.req.seedseq]for use within bit generators. | xref:absl/SourceLocation.adoc[`SourceLocation`] | Provides source‐code location information for C++17 and later. | xref:absl/Weekday.adoc[`Weekday`] | The Weekday enum class represents the civil‐time concept of a "weekday" with members for all days of the week. | xref:absl/add_const_t.adoc[`add_const_t`] [.small]#[deprecated]# | Deprecated alias for `std::add_const_t`. Prefer the std version directly. | xref:absl/add_cv_t.adoc[`add_cv_t`] [.small]#[deprecated]# | Deprecated alias for `std::add_cv_t`. Prefer the std version directly. | xref:absl/add_lvalue_reference_t.adoc[`add_lvalue_reference_t`] [.small]#[deprecated]# | Deprecated alias for `std::add_lvalue_reference_t`. Prefer the std version directly. | xref:absl/add_pointer_t.adoc[`add_pointer_t`] [.small]#[deprecated]# | Deprecated alias for `std::add_pointer_t`. Prefer the std version directly. | xref:absl/add_rvalue_reference_t.adoc[`add_rvalue_reference_t`] [.small]#[deprecated]# | Deprecated alias for `std::add_rvalue_reference_t`. Prefer the std version directly. | xref:absl/add_volatile_t.adoc[`add_volatile_t`] [.small]#[deprecated]# | Deprecated alias for `std::add_volatile_t`. Prefer the std version directly. | xref:absl/allocator_traits.adoc[`allocator_traits`] [.small]#[deprecated]# | Uniform interface to the properties of an allocator type. | xref:absl/any.adoc[`any`] [.small]#[deprecated]# | Alias for `std::any` (deprecated; use `std::any` directly). | xref:absl/bad_any_cast.adoc[`bad_any_cast`] [.small]#[deprecated]# | Alias for `std::bad_any_cast` (deprecated; use `std::bad_any_cast`). | xref:absl/bad_optional_access.adoc[`bad_optional_access`] | Alias for `std::bad_optional_access`. | xref:absl/bad_variant_access.adoc[`bad_variant_access`] | Alias for `std::bad_variant_access`. | xref:absl/civil_diff_t.adoc[`civil_diff_t`] | Type alias of the difference between two civil‐time values. This type is used to indicate arguments that are not normalized (such as parameters to the civil‐time constructors), the results of civil‐time subtraction, or the operand to civil‐time addition. | xref:absl/civil_year_t.adoc[`civil_year_t`] | Type alias of a civil‐time year value. This type is guaranteed to (at least) support any year value supported by `time_t`. | xref:absl/common_type_t.adoc[`common_type_t`] [.small]#[deprecated]# | Deprecated alias for `std::common_type_t`. Prefer the std version directly. | xref:absl/conditional_t.adoc[`conditional_t`] [.small]#[deprecated]# | Deprecated alias for `std::conditional_t`. Prefer the std version directly. | xref:absl/conjunction.adoc[`conjunction`] [.small]#[deprecated]# | Deprecated alias for `std::conjunction`. Prefer the std version directly. | xref:absl/decay_t.adoc[`decay_t`] [.small]#[deprecated]# | Deprecated alias for `std::decay_t`. Prefer the std version directly. | xref:absl/disjunction.adoc[`disjunction`] [.small]#[deprecated]# | Deprecated alias for `std::disjunction`. Prefer the std version directly. | xref:absl/enable_if_t.adoc[`enable_if_t`] [.small]#[deprecated]# | Deprecated alias for `std::enable_if_t`. Prefer the std version directly. Avoid inlining since the inliner cannot handle default arguments well. | xref:absl/in_place_index_t.adoc[`in_place_index_t`] [.small]#[deprecated]# | Tag type for in‐place construction at a given index. | xref:absl/in_place_t.adoc[`in_place_t`] [.small]#[deprecated]# | Tag type for in‐place construction. | xref:absl/in_place_type_t.adoc[`in_place_type_t`] [.small]#[deprecated]# | Tag type for in‐place construction of a given type. | xref:absl/index_sequence.adoc[`index_sequence`] [.small]#[deprecated]# | Compile‐time sequence of `size_t` indices. | xref:absl/index_sequence_for.adoc[`index_sequence_for`] [.small]#[deprecated]# | Index sequence covering the given parameter pack. | xref:absl/integer_sequence.adoc[`integer_sequence`] [.small]#[deprecated]# | Compile‐time sequence of integers of a given type. | xref:absl/is_copy_assignable.adoc[`is_copy_assignable`] [.small]#[deprecated]# | Deprecated alias for `std::is_copy_assignable`. Prefer the std version directly. | xref:absl/is_function.adoc[`is_function`] [.small]#[deprecated]# | Deprecated alias for `std::is_function`. Prefer the std version directly. | xref:absl/is_move_assignable.adoc[`is_move_assignable`] [.small]#[deprecated]# | Deprecated alias for `std::is_move_assignable`. Prefer the std version directly. | xref:absl/is_trivially_copy_assignable.adoc[`is_trivially_copy_assignable`] [.small]#[deprecated]# | Deprecated alias for `std::is_trivially_copy_assignable`. Prefer the std version directly. | xref:absl/is_trivially_copy_constructible.adoc[`is_trivially_copy_constructible`] [.small]#[deprecated]# | Deprecated alias for `std::is_trivially_copy_constructible`. Prefer the std version directly. | xref:absl/is_trivially_default_constructible.adoc[`is_trivially_default_constructible`] [.small]#[deprecated]# | Deprecated alias for `std::is_trivially_default_constructible`. Prefer the std version directly. | xref:absl/is_trivially_destructible.adoc[`is_trivially_destructible`] [.small]#[deprecated]# | Deprecated alias for `std::is_trivially_destructible`. Prefer the std version directly. | xref:absl/is_trivially_move_assignable.adoc[`is_trivially_move_assignable`] [.small]#[deprecated]# | Deprecated alias for `std::is_trivially_move_assignable`. Prefer the std version directly. | xref:absl/is_trivially_move_constructible.adoc[`is_trivially_move_constructible`] [.small]#[deprecated]# | Deprecated alias for `std::is_trivially_move_constructible`. Prefer the std version directly. | xref:absl/make_index_sequence.adoc[`make_index_sequence`] [.small]#[deprecated]# | Index sequence of the values `0, 1, ..., N‐1`. | xref:absl/make_integer_sequence.adoc[`make_integer_sequence`] [.small]#[deprecated]# | Integer sequence of the values `0, 1, ..., N‐1` of a given type. | xref:absl/make_signed_t.adoc[`make_signed_t`] [.small]#[deprecated]# | Deprecated alias for `std::make_signed_t`. Prefer the std version directly. | xref:absl/make_unsigned_t.adoc[`make_unsigned_t`] [.small]#[deprecated]# | Deprecated alias for `std::make_unsigned_t`. Prefer the std version directly. | xref:absl/monostate.adoc[`monostate`] | Alias for `std::monostate`, an empty variant alternative. | xref:absl/negation.adoc[`negation`] [.small]#[deprecated]# | Deprecated alias for `std::negation`. Prefer the std version directly. | xref:absl/nullopt_t.adoc[`nullopt_t`] | Alias for `std::nullopt_t`, the type of `nullopt`. | xref:absl/pointer_traits.adoc[`pointer_traits`] [.small]#[deprecated]# | Uniform interface to the properties of a pointer‐like type. | xref:absl/remove_all_extents_t.adoc[`remove_all_extents_t`] [.small]#[deprecated]# | Deprecated alias for `std::remove_all_extents_t`. Prefer the std version directly. | xref:absl/remove_const_t.adoc[`remove_const_t`] [.small]#[deprecated]# | Deprecated alias for `std::remove_const_t`. Prefer the std version directly. | xref:absl/remove_cv_t.adoc[`remove_cv_t`] [.small]#[deprecated]# | Deprecated alias for `std::remove_cv_t`. Prefer the std version directly. | xref:absl/remove_cvref.adoc[`remove_cvref`] | C++17 compatible implementation of `std::remove_cvref`, which was added in C++20. Aliases `std::remove_cvref` when it is available. | xref:absl/remove_cvref_t.adoc[`remove_cvref_t`] | Convenience alias for `remove_cvref<T>::type`. | xref:absl/remove_extent_t.adoc[`remove_extent_t`] [.small]#[deprecated]# | Deprecated alias for `std::remove_extent_t`. Prefer the std version directly. | xref:absl/remove_pointer_t.adoc[`remove_pointer_t`] [.small]#[deprecated]# | Deprecated alias for `std::remove_pointer_t`. Prefer the std version directly. | xref:absl/remove_reference_t.adoc[`remove_reference_t`] [.small]#[deprecated]# | Deprecated alias for `std::remove_reference_t`. Prefer the std version directly. | xref:absl/remove_volatile_t.adoc[`remove_volatile_t`] [.small]#[deprecated]# | Deprecated alias for `std::remove_volatile_t`. Prefer the std version directly. | xref:absl/result_of_t.adoc[`result_of_t`] [.small]#[deprecated]# | Deprecated alias for `std::invoke_result_t`. Prefer the std version directly. | xref:absl/type_identity.adoc[`type_identity`] | Back‐fill of C++20's `std::type_identity`. Aliases `std::type_identity` when it is available. | xref:absl/type_identity_t.adoc[`type_identity_t`] | Convenience alias for `type_identity<T>::type`. | xref:absl/underlying_type_t.adoc[`underlying_type_t`] [.small]#[deprecated]# | Deprecated alias for `std::underlying_type_t`. Prefer the std version directly. | xref:absl/variant.adoc[`variant`] | Alias for `std::variant`. | xref:absl/variant_alternative.adoc[`variant_alternative`] | Alias for `std::variant_alternative`, the type of alternative `I`. | xref:absl/variant_alternative_t.adoc[`variant_alternative_t`] | Alias for `std::variant_alternative_t`, the type of alternative `I`. | xref:absl/variant_size.adoc[`variant_size`] | Alias for `std::variant_size`, the number of alternatives. | xref:absl/void_t.adoc[`void_t`] [.small]#[deprecated]# | Ignores the type of any its arguments and returns `void`. In general, this metafunction allows you to create a general case that maps to `void` while allowing specializations that map to specific types. |=== == Enums [cols="1,4"] |=== | Name| Description | xref:absl/ConstInitType.adoc[`ConstInitType`] | Enumerates the constructor tags used to mark an object as safe for use as a global variable. | xref:absl/CordMemoryAccounting.adoc[`CordMemoryAccounting`] | Memory accounting modes for `Cord::EstimatedMemoryUsage()`. | xref:absl/FormatConversionChar.adoc[`FormatConversionChar`] | Specifies the formatting character provided in the format string passed to `StrFormat()`. | xref:absl/FormatConversionCharSet.adoc[`FormatConversionCharSet`] | Specifies the _accepted_ conversion types as a template parameter to FormatConvertResult for custom implementations of `AbslFormatConvert`. | xref:absl/LogSeverity.adoc[`LogSeverity`] | Four severity levels are defined. Logging APIs should terminate the program when a message is logged at severity `kFatal`; the other levels have no special semantics. | xref:absl/LogSeverityAtLeast.adoc[`LogSeverityAtLeast`] | Enums representing a lower bound for LogSeverity. APIs that only operate on messages of at least a certain level (for example, `SetMinLogLevel()`) use this type to specify that level. absl::LogSeverityAtLeast::kInfinity is a level above all threshold levels and therefore no log message will ever meet this threshold. | xref:absl/LogSeverityAtMost.adoc[`LogSeverityAtMost`] | Enums representing an upper bound for LogSeverity. APIs that only operate on messages of at most a certain level (for example, buffer all messages at or below a certain level) use this type to specify that level. absl::LogSeverityAtMost::kNegativeInfinity is a level below all threshold levels and therefore will exclude all log messages. | xref:absl/MessageJoinStyle.adoc[`MessageJoinStyle`] | Specifies how to join the error message in the original status and any additional message that has been streamed into the builder. | xref:absl/OnDeadlockCycle.adoc[`OnDeadlockCycle`] | Possible modes of operation for the deadlock detector in debug mode. | xref:absl/PadSpec.adoc[`PadSpec`] | Specifies the number of significant digits to return in a `Hex` or `Dec` conversion and the fill character to use. | xref:absl/StatusCode.adoc[`StatusCode`] | An enumerated type indicating either no error ("OK") or an error condition. | xref:absl/StatusToStringMode.adoc[`StatusToStringMode`] | An enumerated type indicating how `absl::Status::ToString()` should construct the output string for a non‐ok status. | xref:absl/chars_format.adoc[`chars_format`] | Workalike compatibility version of std::chars_format from C++17. |=== == Functions [cols="1,4"] |=== | Name| Description | xref:absl/AbortedError-08.adoc[`AbortedError`] | Creates a status with the `kAborted` error code and `message`. | xref:absl/AbsDuration.adoc[`AbsDuration`] | Returns the absolute value of a duration. | xref:absl/AbslFormatFlush-0a.adoc[`AbslFormatFlush`] | `AbslFormatFlush` overloads | xref:absl/AbslHashValue-0f7.adoc[`AbslHashValue`] | `AbslHashValue` overloads | xref:absl/AbslInternalSetErrorCode.adoc[`AbslInternalSetErrorCode`] | Argument‐dependent lookup extension point that sets a `StatusBuilder`'s error code. | xref:absl/AbslParseFlag-00.adoc[`AbslParseFlag`] | `AbslParseFlag` overloads | xref:absl/AbslStringify-0f.adoc[`AbslStringify`] | `AbslStringify` overloads | xref:absl/AbslUnparseFlag-07.adoc[`AbslUnparseFlag`] | `AbslUnparseFlag` overloads | xref:absl/AddLogSink.adoc[`AddLogSink`] | Adds a `absl::LogSink` as a consumer of logging data. | xref:absl/AlphaNumFormatter.adoc[`AlphaNumFormatter`] | Default formatter used if none is specified. Uses `absl::AlphaNum` to convert numeric arguments to strings. | xref:absl/AlreadyExistsError-0c.adoc[`AlreadyExistsError`] | Creates a status with the `kAlreadyExists` error code and `message`. | xref:absl/AppendCordToString.adoc[`AppendCordToString`] | Appends the contents of a `src` Cord to a `*dst` string. | xref:absl/AsciiStrToLower-04.adoc[`AsciiStrToLower`] | `AsciiStrToLower` overloads | xref:absl/AsciiStrToUpper-0a.adoc[`AsciiStrToUpper`] | `AsciiStrToUpper` overloads | xref:absl/Base64Escape-05.adoc[`Base64Escape`] | `Base64Escape` overloads | xref:absl/Base64Unescape.adoc[`Base64Unescape`] | Converts a `src` string encoded in Base64 (RFC 4648 section 4) to its binary equivalent, writing it to a `dest` buffer, returning `true` on success. If `src` contains invalid characters, `dest` is cleared and returns `false`. If padding is included (note that `Base64Escape()` does produce it), it must be correct. In the padding, '=' and '.' are treated identically. | xref:absl/Bernoulli.adoc[`Bernoulli`] | Produces a random boolean value with probability `p` of being `true`. | xref:absl/Beta.adoc[`Beta`] | Produces a floating point value from a Beta distribution. | xref:absl/BytesToHexString.adoc[`BytesToHexString`] | Converts binary data into an ASCII text string, returning a string of size `2*from.size()`. | xref:absl/CEscape.adoc[`CEscape`] | Escapes a `src` string using C‐style escapes sequences (https://en.cppreference.com/w/cpp/language/escape), escaping other non‐printable/non‐whitespace bytes as octal sequences (e.g. "377"). | xref:absl/CHexEscape.adoc[`CHexEscape`] | Escapes a `src` string using C‐style escape sequences, escaping other non‐printable/non‐whitespace bytes as hexadecimal sequences (e.g. "xFF"). | xref:absl/CUnescape-01.adoc[`CUnescape`] | `CUnescape` overloads | xref:absl/CancelledError-00e.adoc[`CancelledError`] | `CancelledError` overloads | xref:absl/Ceil.adoc[`Ceil`] | Returns the ceiling of a duration using the passed duration unit to its smallest value not less than the duration. | xref:absl/ClearLogBacktraceLocation.adoc[`ClearLogBacktraceLocation`] | Clears the set location so that backtraces will no longer be logged at it. | xref:absl/ClippedSubstr.adoc[`ClippedSubstr`] | Like `s.substr(pos, n)`, but clips `pos` to an upper bound of `s.size()`. | xref:absl/ComputeCrc32c.adoc[`ComputeCrc32c`] | Compute the CRC32C value of the provided string. | xref:absl/ConcatCrc32c.adoc[`ConcatCrc32c`] | Compute the CRC32C value of two concatenated buffers. | xref:absl/ConsumePrefix.adoc[`ConsumePrefix`] | Strips the `expected` prefix, if found, from the start of `str`. If the operation succeeded, `true` is returned. If not, `false` is returned and `str` is not modified. | xref:absl/ConsumeSuffix.adoc[`ConsumeSuffix`] | Strips the `expected` suffix, if found, from the end of `str`. If the operation succeeded, `true` is returned. If not, `false` is returned and `str` is not modified. | xref:absl/ConvertDateTime.adoc[`ConvertDateTime`] [.small]#[deprecated]# | Legacy version of `absl::TimeZone::At(absl::CivilSecond)` that takes the civil time as six, separate values (YMDHMS). | xref:absl/ConvertVariantTo.adoc[`ConvertVariantTo`] | Converts a variant to a variant of another set of types. | xref:absl/CopyCordToSpan.adoc[`CopyCordToSpan`] | Copies up to `dst.size()` bytes starting from the beginning of `src` to `dst`. | xref:absl/CopyCordToString.adoc[`CopyCordToString`] | Copies the contents of a `src` Cord into a `*dst` string. | xref:absl/CreateSeedSeqFrom.adoc[`CreateSeedSeqFrom`] | Constructs a seed sequence from variates produced by a bit generator. | xref:absl/DataLossError-02.adoc[`DataLossError`] | Creates a status with the `kDataLoss` error code and `message`. | xref:absl/DeadlineExceededError-08.adoc[`DeadlineExceededError`] | Creates a status with the `kDeadlineExceeded` error code and `message`. | xref:absl/DefaultStackUnwinder.adoc[`DefaultStackUnwinder`] | Records program counter values of up to `max_depth` frames, skipping the most recent `skip_count` stack frames, and stores their corresponding values in `pcs`. (Note that the frame generated for this call itself is also skipped.) This function acts as a generic stack‐unwinder; prefer usage of the more specific `GetStack{Trace,Frames}{,WithContext}()` functions above. | xref:absl/DereferenceFormatter-09.adoc[`DereferenceFormatter`] | `DereferenceFormatter` overloads | xref:absl/DisableFlagfileAndEnvParsing.adoc[`DisableFlagfileAndEnvParsing`] | Disables the processing of flags that load values from secondary sources, specifically `‐‐flagfile`, `‐‐fromenv`, and `‐‐tryfromenv`. When disabled, occurrences of these flags on the command line are skipped without opening files or inspecting environment variables, and a warning is printed to stderr. Direct command‐line flags passed via argv are still parsed normally. | xref:absl/DoIgnoreLeak.adoc[`DoIgnoreLeak`] | Implements `IgnoreLeak()` below. This function should usually not be called directly; calling `IgnoreLeak()` is preferred. | xref:absl/DurationFromTimespec.adoc[`DurationFromTimespec`] | Converts a `timespec` to an `absl::Duration`. | xref:absl/DurationFromTimeval.adoc[`DurationFromTimeval`] | Converts a `timeval` to an `absl::Duration`. | xref:absl/EnableLogPrefix.adoc[`EnableLogPrefix`] | Updates the value of the Prepend Log Prefix option. | xref:absl/EnableMutexInvariantDebugging.adoc[`EnableMutexInvariantDebugging`] | Enables or disables global support for `Mutex` invariant debugging. | xref:absl/EndsWith.adoc[`EndsWith`] | Returns whether a given string `text` ends with `suffix`. | xref:absl/EndsWithIgnoreCase.adoc[`EndsWithIgnoreCase`] | Returns whether a given ASCII string `text` ends with `suffix`, ignoring case in the comparison. | xref:absl/EqualsIgnoreCase.adoc[`EqualsIgnoreCase`] | Returns whether given ASCII strings `piece1` and `piece2` are equal, ignoring case in the comparison. | xref:absl/ErrnoToStatus.adoc[`ErrnoToStatus`] | Convenience function that creates a `absl::Status` using an `error_number`, which should be an `errno` value. | xref:absl/ErrnoToStatusCode.adoc[`ErrnoToStatusCode`] | Returns the StatusCode for `error_number`, which should be an `errno` value. | xref:absl/Exponential.adoc[`Exponential`] | Produces a floating point value from an exponential distribution. | xref:absl/ExtendCrc32c.adoc[`ExtendCrc32c`] | Compute a CRC32C value from an existing value and an additional buffer. | xref:absl/ExtendCrc32cByZeroes.adoc[`ExtendCrc32cByZeroes`] | Extend a CRC32C value as if trailing zero bytes were appended. | xref:absl/FDivDuration.adoc[`FDivDuration`] | Divides a `Duration` numerator into a fractional number of units of a `Duration` denominator. | xref:absl/FPrintF.adoc[`FPrintF`] | Writes to a file given a format string and zero or more arguments. | xref:absl/FailedPreconditionError-09.adoc[`FailedPreconditionError`] | Creates a status with the `kFailedPrecondition` error code and `message`. | xref:absl/FastTypeId.adoc[`FastTypeId`] | `FastTypeId<T>()` is the generator method for FastTypeIdType values. | xref:absl/FindAndReportLeaks.adoc[`FindAndReportLeaks`] | If any leaks are detected, prints a leak report and returns true. This function may be called repeatedly, and does not affect end‐of‐process leak checking. | xref:absl/FindCommandLineFlag.adoc[`FindCommandLineFlag`] | Returns the reflection handle of an Abseil flag of the specified name, or `nullptr` if not found. This function will emit a warning if the name of a 'retired' flag is specified. | xref:absl/FindLongestCommonPrefix.adoc[`FindLongestCommonPrefix`] | Yields the longest prefix in common between both input strings. Pointer‐wise, the returned result is a subset of input "a". | xref:absl/FindLongestCommonSuffix.adoc[`FindLongestCommonSuffix`] | Yields the longest suffix in common between both input strings. Pointer‐wise, the returned result is a subset of input "a". | xref:absl/FixedTimeZone.adoc[`FixedTimeZone`] | Returns a TimeZone that is a fixed offset (seconds east) from UTC. Note: If the absolute value of the offset is greater than 24 hours you'll get UTC (i.e., no offset) instead. | xref:absl/Floor.adoc[`Floor`] | Floors a duration using the passed duration unit to its largest value not greater than the duration. | xref:absl/FlushLogSinks.adoc[`FlushLogSinks`] | Calls `absl::LogSink::Flush` on all registered sinks. | xref:absl/Format.adoc[`Format`] | Writes a formatted string to an arbitrary sink object (implementing the `absl::FormatRawSink` interface), using a format string and zero or more additional arguments. | xref:absl/FormatCivilTime-0b.adoc[`FormatCivilTime`] | Formats the given civil‐time value into a string value of the following format: | xref:absl/FormatDuration.adoc[`FormatDuration`] | Returns a string representing the duration in the form "72h3m0.5s". Returns "inf" or "‐inf" for +/‐ `InfiniteDuration()`. | xref:absl/FormatStreamed.adoc[`FormatStreamed`] | Takes a streamable argument and returns an object that can print it with '%s'. | xref:absl/FormatTime-04.adoc[`FormatTime`] | `FormatTime` overloads | xref:absl/FormatUntyped.adoc[`FormatUntyped`] | Writes a formatted string to an arbitrary sink object (implementing the `absl::FormatRawSink` interface), using an `UntypedFormatSpec` and zero or more additional arguments. | xref:absl/FromChrono-0b.adoc[`FromChrono`] | `FromChrono` overloads | xref:absl/FromCivil.adoc[`FromCivil`] | Helper for TimeZone::At(CivilSecond) that provides "order‐preserving semantics." If the civil time maps to a unique time, that time is returned. If the civil time is repeated in the given time zone, the time using the pre‐transition offset is returned. Otherwise, the civil time is skipped in the given time zone, and the transition time is returned. This means that for any two civil times, ct1 and ct2, (ct1 < ct2) => (FromCivil(ct1) <= FromCivil(ct2)), the equal case being when two non‐existent civil times map to the same transition time. | xref:absl/FromDateTime.adoc[`FromDateTime`] [.small]#[deprecated]# | A convenience wrapper for `absl::ConvertDateTime()` that simply returns the "pre" `absl::Time`. That is, the unique result, or the instant that is correct using the pre‐transition offset (as if the transition never happened). | xref:absl/FromTM.adoc[`FromTM`] | Converts the `tm_year`, `tm_mon`, `tm_mday`, `tm_hour`, `tm_min`, and `tm_sec` fields to an `absl::Time` using the given time zone. See ctime(3) for a description of the expected values of the tm fields. If the civil time is unique (see `absl::TimeZone::At(absl::CivilSecond)` above), the matching time instant is returned. Otherwise, the `tm_isdst` field is consulted to choose between the possible results. For a repeated civil time, `tm_isdst != 0` returns the matching DST instant, while `tm_isdst == 0` returns the matching non‐DST instant. For a skipped civil time there is no matching instant, so `tm_isdst != 0` returns the DST instant, and `tm_isdst == 0` returns the non‐DST instant, that would have matched if the transition never happened. | xref:absl/FromTimeT.adoc[`FromTimeT`] | Creates an `absl::Time` from a `time_t` value. | xref:absl/FromUDate.adoc[`FromUDate`] | Creates an `absl::Time` from an ICU UDate value. | xref:absl/FromUniversal.adoc[`FromUniversal`] | Creates an `absl::Time` from an ICU Universal Time Scale value. | xref:absl/FromUnixMicros.adoc[`FromUnixMicros`] | Creates an `absl::Time` from a count of microseconds since the Unix epoch. | xref:absl/FromUnixMillis.adoc[`FromUnixMillis`] | Creates an `absl::Time` from a count of milliseconds since the Unix epoch. | xref:absl/FromUnixNanos.adoc[`FromUnixNanos`] | Creates an `absl::Time` from a count of nanoseconds since the Unix epoch. | xref:absl/FromUnixSeconds.adoc[`FromUnixSeconds`] | Creates an `absl::Time` from a count of seconds since the Unix epoch. | xref:absl/Gaussian.adoc[`Gaussian`] | Produces a floating point value from a Gaussian (Normal) distribution. | xref:absl/GenericCompare.adoc[`GenericCompare`] | Compares `lhs` and `rhs` over the first `size_to_compare` bytes. | xref:absl/GetAllFlags.adoc[`GetAllFlags`] | Returns current state of the Flags registry in a form of mapping from flag name to a flag reflection handle. | xref:absl/GetCordzInfoForTesting.adoc[`GetCordzInfoForTesting`] | Returns the internal Cordz sampling info for `cord`, for testing. | xref:absl/GetCurrentTimeNanos.adoc[`GetCurrentTimeNanos`] | Returns the current time, expressed as a count of nanoseconds since the Unix Epoch (https://en.wikipedia.org/wiki/Unix_time). Prefer `absl::Now()` instead for all but the most performance‐sensitive cases (i.e. when you are calling this function hundreds of thousands of times per second). | xref:absl/GetFlag.adoc[`GetFlag`] | Returns the value (of type `T`) of an `absl::Flag<T>` instance, by value. Do not construct an `absl::Flag<T>` directly and call `absl::GetFlag()`; instead, refer to flag's constructed variable name (e.g. `FLAGS_name`). Because this function returns by value and not by reference, it is thread‐safe, but note that the operation may be expensive; as a result, avoid `absl::GetFlag()` within any tight loops. | xref:absl/GetFlagReflectionHandle.adoc[`GetFlagReflectionHandle`] | Returns the reflection handle corresponding to specified Abseil Flag instance. Use this handle to access flag's reflection information, like name, location, default value etc. | xref:absl/GetStackFrames.adoc[`GetStackFrames`] | Records program counter values for up to `max_depth` frames, skipping the most recent `skip_count` stack frames, stores their corresponding values and sizes in `results` and `sizes` buffers, and returns the number of frames stored. (Note that the frame generated for the `absl::GetStackFrames()` routine itself is also skipped.) | xref:absl/GetStackFramesWithContext.adoc[`GetStackFramesWithContext`] | Records program counter values obtained from a signal handler. Records program counter values for up to `max_depth` frames, skipping the most recent `skip_count` stack frames, stores their corresponding values and sizes in `results` and `sizes` buffers, and returns the number of frames stored. (Note that the frame generated for the `absl::GetStackFramesWithContext()` routine itself is also skipped.) | xref:absl/GetStackTrace.adoc[`GetStackTrace`] | Records program counter values for up to `max_depth` frames, skipping the most recent `skip_count` stack frames, stores their corresponding values in `results`, and returns the number of frames stored. Note that this function is similar to `absl::GetStackFrames()` except that it returns the stack trace only, and not stack frame sizes. | xref:absl/GetStackTraceWithContext.adoc[`GetStackTraceWithContext`] | Records program counter values obtained from a signal handler. Records program counter values for up to `max_depth` frames, skipping the most recent `skip_count` stack frames, stores their corresponding values in `results`, and returns the number of frames stored. (Note that the frame generated for the `absl::GetStackFramesWithContext()` routine itself is also skipped.) | xref:absl/GetWeekday.adoc[`GetWeekday`] | Returns the absl::Weekday for the given (realigned) civil‐time value. | xref:absl/GetYearDay.adoc[`GetYearDay`] | Returns the day‐of‐year for the given (realigned) civil‐time value. | xref:absl/HasPayload.adoc[`HasPayload`] | Indicates whether the status that `builder` will return has a `MessageSet` payload. | xref:absl/HashOf.adoc[`HashOf`] | Generate a hash from the values of its arguments. | xref:absl/HaveLeakSanitizer.adoc[`HaveLeakSanitizer`] | Returns true if a leak‐checking sanitizer (either ASan or standalone LSan) is currently built into this target. | xref:absl/HexStringToBytes-08.adoc[`HexStringToBytes`] | `HexStringToBytes` overloads | xref:absl/HighPrecision-0ba2.adoc[`HighPrecision`] | `HighPrecision` overloads | xref:absl/Hours-02.adoc[`Hours`] | `Hours` overloads | xref:absl/HwasanTagPointer.adoc[`HwasanTagPointer`] | No‐op fallback used when HWASAN is not available. | xref:absl/IDivDuration.adoc[`IDivDuration`] | Divides a numerator `Duration` by a denominator `Duration`, returning the quotient and remainder. The remainder always has the same sign as the numerator. The returned quotient and remainder respect the identity: | xref:absl/IgnoreLeak.adoc[`IgnoreLeak`] | Instruct the leak sanitizer to ignore leak warnings on the object referenced by the passed pointer, as well as all heap objects transitively referenced by it. The passed object pointer can point to either the beginning of the object or anywhere within it. | xref:absl/InfiniteDuration.adoc[`InfiniteDuration`] | Returns an infinite `Duration`. To get a `Duration` representing negative infinity, use `‐InfiniteDuration()`. | xref:absl/InfiniteFuture.adoc[`InfiniteFuture`] | Returns an `absl::Time` that is infinitely far in the future. | xref:absl/InfinitePast.adoc[`InfinitePast`] | Returns an `absl::Time` that is infinitely far in the past. | xref:absl/InitializeLog.adoc[`InitializeLog`] | Initializes the Abseil logging library. | xref:absl/InitializeSymbolizer.adoc[`InitializeSymbolizer`] | Initializes the program counter symbolizer, given the path of the program (typically obtained through `main()`s `argv[0]`). The Abseil symbolizer allows you to read program counters (instruction pointer values) using their human‐readable names within output such as stack traces. | xref:absl/InstallFailureSignalHandler.adoc[`InstallFailureSignalHandler`] | Installs a signal handler for the common failure signals `SIGSEGV`, `SIGILL`, `SIGFPE`, `SIGABRT`, `SIGTERM`, `SIGBUG`, and `SIGTRAP` (provided they exist on the given platform). The failure signal handler dumps program failure data useful for debugging in an unspecified format to stderr. This data may include the program counter, a stacktrace, and register information on some systems; do not rely on an exact format for the output, as it is subject to change. | xref:absl/Int128High64.adoc[`Int128High64`] | Returns the higher 64‐bit value of an `int128` value. | xref:absl/Int128Low64.adoc[`Int128Low64`] | Returns the lower 64‐bit value of an `int128` value. | xref:absl/Int128Max.adoc[`Int128Max`] | Returns the maximum value for a 128‐bit signed integer. | xref:absl/Int128Min.adoc[`Int128Min`] | Returns the minimum value for a 128‐bit signed integer. | xref:absl/InternalError-06.adoc[`InternalError`] | Creates a status with the `kInternal` error code and `message`. | xref:absl/InvalidArgumentError-0b.adoc[`InvalidArgumentError`] | Creates a status with the `kInvalidArgument` error code and `message`. | xref:absl/IsAborted.adoc[`IsAborted`] | Returns `true` if `status` has the `kAborted` error code. | xref:absl/IsAlreadyExists.adoc[`IsAlreadyExists`] | Returns `true` if `status` has the `kAlreadyExists` error code. | xref:absl/IsCancelled.adoc[`IsCancelled`] | Returns `true` if `status` has the `kCancelled` error code. | xref:absl/IsDataLoss.adoc[`IsDataLoss`] | Returns `true` if `status` has the `kDataLoss` error code. | xref:absl/IsDeadlineExceeded.adoc[`IsDeadlineExceeded`] | Returns `true` if `status` has the `kDeadlineExceeded` error code. | xref:absl/IsFailedPrecondition.adoc[`IsFailedPrecondition`] | Returns `true` if `status` has the `kFailedPrecondition` error code. | xref:absl/IsInternal.adoc[`IsInternal`] | Returns `true` if `status` has the `kInternal` error code. | xref:absl/IsInvalidArgument.adoc[`IsInvalidArgument`] | Returns `true` if `status` has the `kInvalidArgument` error code. | xref:absl/IsNotFound.adoc[`IsNotFound`] | Returns `true` if `status` has the `kNotFound` error code. | xref:absl/IsOutOfRange.adoc[`IsOutOfRange`] | Returns `true` if `status` has the `kOutOfRange` error code. | xref:absl/IsPermissionDenied.adoc[`IsPermissionDenied`] | Returns `true` if `status` has the `kPermissionDenied` error code. | xref:absl/IsResourceExhausted.adoc[`IsResourceExhausted`] | Returns `true` if `status` has the `kResourceExhausted` error code. | xref:absl/IsUnauthenticated.adoc[`IsUnauthenticated`] | Returns `true` if `status` has the `kUnauthenticated` error code. | xref:absl/IsUnavailable.adoc[`IsUnavailable`] | Returns `true` if `status` has the `kUnavailable` error code. | xref:absl/IsUnimplemented.adoc[`IsUnimplemented`] | Returns `true` if `status` has the `kUnimplemented` error code. | xref:absl/IsUnknown.adoc[`IsUnknown`] | Returns `true` if `status` has the `kUnknown` error code. | xref:absl/LeakCheckerIsActive.adoc[`LeakCheckerIsActive`] | Returns true if a leak‐checking sanitizer (either ASan or standalone LSan) is currently built into this target and is turned on. | xref:absl/LoadTimeZone.adoc[`LoadTimeZone`] | Loads the named zone. May perform I/O on the initial load of the named zone. If the name is invalid, or some other kind of error occurs, returns `false` and `*tz` is set to the UTC time zone. | xref:absl/LocalTimeZone.adoc[`LocalTimeZone`] | Convenience method returning the local time zone, or UTC if there is no configured local zone. Warning: Be wary of using LocalTimeZone(), and particularly so in a server process, as the zone configured for the local machine should be irrelevant. Prefer an explicit zone name. | xref:absl/LogAsLiteral.adoc[`LogAsLiteral`] | Annotates its argument as a string literal so that structured logging captures it as a `literal` field instead of a `str` field (the default). This does not affect the text representation, only the structure. | xref:absl/LogDebugFatalStreamer-0d.adoc[`LogDebugFatalStreamer`] | Returns a LogStreamer that writes at level LogSeverity::kLogDebugFatal. | xref:absl/LogErrorStreamer-0a.adoc[`LogErrorStreamer`] | Returns a LogStreamer that writes at level LogSeverity::kError. | xref:absl/LogFatalStreamer-0c.adoc[`LogFatalStreamer`] | Returns a LogStreamer that writes at level LogSeverity::kFatal. | xref:absl/LogInfoStreamer-03.adoc[`LogInfoStreamer`] | Returns a LogStreamer that writes at level LogSeverity::kInfo. | xref:absl/LogSeverities.adoc[`LogSeverities`] | Returns an iterable of all standard `absl::LogSeverity` values, ordered from least to most severe. | xref:absl/LogSeverityName.adoc[`LogSeverityName`] | Returns the all‐caps string representation (e.g. "INFO") of the specified severity level if it is one of the standard levels and "UNKNOWN" otherwise. | xref:absl/LogUniform.adoc[`LogUniform`] | Produces random integral values whose logarithm is uniformly distributed. | xref:absl/LogWarningStreamer-00.adoc[`LogWarningStreamer`] | Returns a LogStreamer that writes at level LogSeverity::kWarning. | xref:absl/MakeAnySpan-01.adoc[`MakeAnySpan`] | `MakeAnySpan` overloads | xref:absl/MakeCleanup.adoc[`MakeCleanup`] | Create an `absl::Cleanup` from a callback. | xref:absl/MakeConstAnySpan-0f.adoc[`MakeConstAnySpan`] | `MakeConstAnySpan` overloads | xref:absl/MakeConstDerefAnySpan-0b.adoc[`MakeConstDerefAnySpan`] | `MakeConstDerefAnySpan` overloads | xref:absl/MakeConstSpan-0ee.adoc[`MakeConstSpan`] | `MakeConstSpan` overloads | xref:absl/MakeCordFromExternal.adoc[`MakeCordFromExternal`] | Creates a Cord that takes ownership of external string memory. | xref:absl/MakeDerefAnySpan-0e.adoc[`MakeDerefAnySpan`] | `MakeDerefAnySpan` overloads | xref:absl/MakeInt128.adoc[`MakeInt128`] | Constructs an `int128` numeric value from two 64‐bit integers. | xref:absl/MakeSeedSeq.adoc[`MakeSeedSeq`] | Constructs an `absl::SeedSeq` salted with implementation‐defined entropy. | xref:absl/MakeSpan-01.adoc[`MakeSpan`] | `MakeSpan` overloads | xref:absl/MakeStatusRepImpl.adoc[`MakeStatusRepImpl`] | Builds a status representation from an inlined rep and a message. | xref:absl/MakeUint128.adoc[`MakeUint128`] | Constructs a `uint128` numeric value from two 64‐bit unsigned integers. | xref:absl/MarshalHashtableProfile.adoc[`MarshalHashtableProfile`] | Serialize the current hash table profile into a string. | xref:absl/MaxSplits.adoc[`MaxSplits`] | A delimiter that limits the number of matches which can occur to the passed `limit`. | xref:absl/MemcpyCrc32c.adoc[`MemcpyCrc32c`] | Copy bytes while computing the CRC32C value of the copied data. | xref:absl/Microseconds-0f.adoc[`Microseconds`] | `Microseconds` overloads | xref:absl/Milliseconds-013.adoc[`Milliseconds`] | `Milliseconds` overloads | xref:absl/MinLogLevel.adoc[`MinLogLevel`] | Returns the value of the Minimum Log Level parameter. | xref:absl/Minutes-01.adoc[`Minutes`] | `Minutes` overloads | xref:absl/Nanoseconds-06.adoc[`Nanoseconds`] | `Nanoseconds` overloads | xref:absl/NextWeekday.adoc[`NextWeekday`] | Returns the absl::CivilDay that strictly follows a given absl::CivilDay, and that falls on the given absl::Weekday. | xref:absl/NormalizeLogSeverity-04.adoc[`NormalizeLogSeverity`] | `NormalizeLogSeverity` overloads | xref:absl/NotFoundError-07.adoc[`NotFoundError`] | Creates a status with the `kNotFound` error code and `message`. | xref:absl/Now.adoc[`Now`] | Returns the current time, expressed as an `absl::Time` absolute time value. | xref:absl/NullSafeStringView.adoc[`NullSafeStringView`] | Creates an `absl::string_view` from a pointer `p` even if it's null‐valued. | xref:absl/OkStatus.adoc[`OkStatus`] | Returns an OK status, equivalent to a default constructed instance. | xref:absl/OutOfRangeError-05.adoc[`OutOfRangeError`] | Creates a status with the `kOutOfRange` error code and `message`. | xref:absl/PairFormatter-00.adoc[`PairFormatter`] | `PairFormatter` overloads | xref:absl/ParseAbseilFlagsOnly.adoc[`ParseAbseilFlagsOnly`] | Parses a list of command‐line arguments, passed in the `argc` and `argv[]` parameters, into a set of Abseil Flag values, returning any unparsed arguments in `positional_args` and `unrecognized_flags` output parameters. | xref:absl/ParseCivilTime-05.adoc[`ParseCivilTime`] | Parses a civil‐time value from the specified `absl::string_view` into the passed output parameter. Returns `true` upon successful parsing. | xref:absl/ParseCommandLine.adoc[`ParseCommandLine`] | First parses Abseil Flags only from the command line according to the description in `ParseAbseilFlagsOnly`. In addition this function handles unrecognized and usage flags. | xref:absl/ParseDuration.adoc[`ParseDuration`] | Parses a duration string consisting of a possibly signed sequence of decimal numbers, each with an optional fractional part and a unit suffix. The valid suffixes are "ns", "us" "ms", "s", "m", and "h". Simple examples include "300ms", "‐1.5h", and "2h45m". Parses "0" as `ZeroDuration()`. Parses "inf" and "‐inf" as +/‐ `InfiniteDuration()`. | xref:absl/ParseFlag-03.adoc[`ParseFlag`] | `ParseFlag` overloads | xref:absl/ParseLenientCivilTime-0e.adoc[`ParseLenientCivilTime`] | Parses any of the formats accepted by `absl::ParseCivilTime()`. Unlike `ParseCivilTime()`, the input string format does not need to match the target civil‐time type. Discrepancies are resolved as follows: * Extra components in the input string are ignored. * Missing components are defaulted to their minimum valid values. This behavior is consistent with civil‐time converting constructors. | xref:absl/ParseTime-09.adoc[`ParseTime`] | `ParseTime` overloads | xref:absl/PermissionDeniedError-00.adoc[`PermissionDeniedError`] | Creates a status with the `kPermissionDenied` error code and `message`. | xref:absl/Poisson.adoc[`Poisson`] | Produces a random integral value from a Poisson distribution. | xref:absl/PrefetchToLocalCache.adoc[`PrefetchToLocalCache`] | Moves data into the L1 cache before it is read, or "prefetches" it. | xref:absl/PrefetchToLocalCacheForWrite.adoc[`PrefetchToLocalCacheForWrite`] | Moves data into the L1 cache with the intent to modify it. | xref:absl/PrefetchToLocalCacheNta.adoc[`PrefetchToLocalCacheNta`] | Moves data into the L1 cache before it is read, or "prefetches" it. | xref:absl/PrevWeekday.adoc[`PrevWeekday`] | Returns the absl::CivilDay that strictly precedes a given absl::CivilDay, and that falls on the given absl::Weekday. | xref:absl/PrintF.adoc[`PrintF`] | Writes to stdout given a format string and zero or more arguments. | xref:absl/PrintTo.adoc[`PrintTo`] | Writes a human‐readable representation of `entry` to `os`, e.g. for use by test frameworks such as GoogleTest. | xref:absl/ProgramUsageMessage.adoc[`ProgramUsageMessage`] | Returns the usage message set by `SetProgramUsageMessage()`. | xref:absl/RawPtr-0f.adoc[`RawPtr`] | `RawPtr` overloads | xref:absl/RegisterCondVarTracer.adoc[`RegisterCondVarTracer`] | Registers a hook for `CondVar` tracing. | xref:absl/RegisterLivePointers.adoc[`RegisterLivePointers`] | Registers `ptr[0,size‐1]` as pointers to memory that is still actively being referenced and for which leak checking should be ignored. This function is useful if you store pointers in mapped memory, for memory ranges that we know are correct but for which normal analysis would flag as leaked code. | xref:absl/RegisterMutexProfiler.adoc[`RegisterMutexProfiler`] | Registers a hook for mutex contention profiling. | xref:absl/RegisterMutexTracer.adoc[`RegisterMutexTracer`] | Registers a hook for `Mutex` tracing. | xref:absl/RemoveCrc32cPrefix.adoc[`RemoveCrc32cPrefix`] | Compute the CRC32C value of a buffer with a prefix removed. | xref:absl/RemoveCrc32cSuffix.adoc[`RemoveCrc32cSuffix`] | Compute the CRC32C value of a buffer with a suffix removed. | xref:absl/RemoveExtraAsciiWhitespace.adoc[`RemoveExtraAsciiWhitespace`] | Removes leading, trailing, and consecutive internal whitespace. | xref:absl/RemoveLogSink.adoc[`RemoveLogSink`] | Removes a `absl::LogSink` as a consumer of logging data. | xref:absl/ReportUnrecognizedFlags.adoc[`ReportUnrecognizedFlags`] | Reports an error to `stderr` for all non‐ignored unrecognized flags in the provided `unrecognized_flags` list. | xref:absl/ResourceExhaustedError-09a.adoc[`ResourceExhaustedError`] | Creates a status with the `kResourceExhausted` error code and `message`. | xref:absl/SNPrintF.adoc[`SNPrintF`] | Writes to a sized buffer given a format string and zero or more arguments. | xref:absl/Seconds-06.adoc[`Seconds`] | `Seconds` overloads | xref:absl/SetAndroidNativeTag.adoc[`SetAndroidNativeTag`] | Stores a copy of the string pointed to by `tag` and uses it as the Android logging tag thereafter. `tag` must not be null. | xref:absl/SetFlag-00.adoc[`SetFlag`] | `SetFlag` overloads | xref:absl/SetFlagsUsageConfig.adoc[`SetFlagsUsageConfig`] | Sets the usage reporting configuration callbacks. If any of the callbacks are not set in usage_config instance, then the default value of the callback is used. | xref:absl/SetGlobalVLogLevel.adoc[`SetGlobalVLogLevel`] | Sets the global `VLOG` level to threshold. | xref:absl/SetLogBacktraceLocation.adoc[`SetLogBacktraceLocation`] | Sets the location the backtrace should be logged at. | xref:absl/SetMinLogLevel.adoc[`SetMinLogLevel`] | Updates the value of Minimum Log Level parameter. | xref:absl/SetMutexDeadlockDetectionMode.adoc[`SetMutexDeadlockDetectionMode`] | Enables or disables global detection of potential deadlocks due to `Mutex` lock ordering inversions. | xref:absl/SetProgramUsageMessage.adoc[`SetProgramUsageMessage`] | Sets the "usage" message to be used by help reporting routines. For example: absl::SetProgramUsageMessage( absl::StrCat("This program does nothing. Sample usage:n", argv[0], " <uselessarg1> <uselessarg2>")); Do not include commandline flags in the usage: we do that for you! Note: Calling SetProgramUsageMessage twice will trigger a call to std::exit. | xref:absl/SetStackUnwinder.adoc[`SetStackUnwinder`] | Provides a custom function for unwinding stack frames that will be used in place of the default stack unwinder when invoking the static GetStack{Frames,Trace}{,WithContext}() functions above. | xref:absl/SetStderrThreshold-05a4.adoc[`SetStderrThreshold`] | Updates the Stderr Threshold parameter. | xref:absl/SetVLogLevel.adoc[`SetVLogLevel`] | Sets the `VLOG` threshold for all files that match `module_pattern`, overwriting any prior value. Files that don't match aren't affected. | xref:absl/ShareUniquePtr.adoc[`ShareUniquePtr`] | Convert a `std::unique_ptr` into a `std::shared_ptr`. | xref:absl/ShouldPrependLogPrefix.adoc[`ShouldPrependLogPrefix`] | Returns the value of the Prepend Log Prefix option. | xref:absl/SimpleAtob.adoc[`SimpleAtob`] | Converts the given string into a boolean, returning `true` if successful. | xref:absl/SimpleAtod.adoc[`SimpleAtod`] | Converts the given string into a double, returning `true` if successful. | xref:absl/SimpleAtof.adoc[`SimpleAtof`] | Converts the given string into a float, returning `true` if successful. | xref:absl/SimpleAtoi-01.adoc[`SimpleAtoi`] | `SimpleAtoi` overloads | xref:absl/SimpleHexAtoi-08.adoc[`SimpleHexAtoi`] | `SimpleHexAtoi` overloads | xref:absl/SixDigits.adoc[`SixDigits`] | Helper function for the default `StrCat()` floating‐point format, `%.6g`. | xref:absl/SleepFor.adoc[`SleepFor`] | Sleeps for the specified duration, expressed as an `absl::Duration`. | xref:absl/StartsWith.adoc[`StartsWith`] | Returns whether a given string `text` begins with `prefix`. | xref:absl/StartsWithIgnoreCase.adoc[`StartsWithIgnoreCase`] | Returns whether a given ASCII string `text` starts with `prefix`, ignoring case in the comparison. | xref:absl/StatusCodeToString.adoc[`StatusCodeToString`] | Returns the name for the status code, or "" if it is an unknown value. | xref:absl/StatusCodeToStringView.adoc[`StatusCodeToStringView`] | Same as StatusCodeToString(), but returns a string_view. | xref:absl/StatusMessageAsCStr.adoc[`StatusMessageAsCStr`] | Retrieves a message's status as a null terminated C string. | xref:absl/StderrThreshold.adoc[`StderrThreshold`] | Returns the value of the Stderr Threshold parameter. | xref:absl/StrAppend-0f.adoc[`StrAppend`] | `StrAppend` overloads | xref:absl/StrAppendFormat.adoc[`StrAppendFormat`] | Appends to a `dst` string given a format string, and zero or more additional arguments, returning `*dst` as a convenience for chaining purposes. | xref:absl/StrCat-04.adoc[`StrCat`] | `StrCat` overloads | xref:absl/StrContains-0a.adoc[`StrContains`] | `StrContains` overloads | xref:absl/StrContainsIgnoreCase-0d.adoc[`StrContainsIgnoreCase`] | `StrContainsIgnoreCase` overloads | xref:absl/StrFormat.adoc[`StrFormat`] | Returns a `string` given a `printf()`‐style format string and zero or more additional arguments. | xref:absl/StrJoin-0c8.adoc[`StrJoin`] | `StrJoin` overloads | xref:absl/StrReplaceAll-0e8.adoc[`StrReplaceAll`] | `StrReplaceAll` overloads | xref:absl/StrSplit-07.adoc[`StrSplit`] | `StrSplit` overloads | xref:absl/StreamFormat.adoc[`StreamFormat`] | Writes to an output stream given a format string and zero or more arguments, generally in a manner that is more efficient than streaming the result of `absl::StrFormat()`. | xref:absl/StreamFormatter.adoc[`StreamFormatter`] | Formats its argument using the << operator. | xref:absl/StringResizeAndOverwrite.adoc[`StringResizeAndOverwrite`] | Resizes `str` to contain at most `n` characters, using the user‐provided operation `op` to modify the possibly indeterminate contents. `op` must return the finalized length of `str`. | xref:absl/StripAsciiWhitespace-00.adoc[`StripAsciiWhitespace`] | `StripAsciiWhitespace` overloads | xref:absl/StripLeadingAsciiWhitespace-02c.adoc[`StripLeadingAsciiWhitespace`] | `StripLeadingAsciiWhitespace` overloads | xref:absl/StripPrefix.adoc[`StripPrefix`] | Returns a view into the input string `str` with the given `prefix` removed, but leaving the original string intact. If the prefix does not match at the start of the string, returns the original string instead. | xref:absl/StripSuffix.adoc[`StripSuffix`] | Returns a view into the input string `str` with the given `suffix` removed, but leaving the original string intact. If the suffix does not match at the end of the string, returns the original string instead. | xref:absl/StripTrailingAsciiWhitespace-06.adoc[`StripTrailingAsciiWhitespace`] | `StripTrailingAsciiWhitespace` overloads | xref:absl/Substitute-03.adoc[`Substitute`] | `Substitute` overloads | xref:absl/SubstituteAndAppend-08.adoc[`SubstituteAndAppend`] | `SubstituteAndAppend` overloads | xref:absl/Symbolize.adoc[`Symbolize`] | Symbolizes a program counter (instruction pointer value) `pc` and, on success, writes the name to `out`. The symbol name is demangled, if possible. Note that the symbolized name may be truncated and will be NUL‐terminated. Demangling is supported for symbols generated by GCC 3.x or newer). Returns `false` on failure. | xref:absl/ThrowStdBadAlloc.adoc[`ThrowStdBadAlloc`] [.small]#[noreturn]# | Throws a `std::bad_alloc`, or terminates if exceptions are disabled. | xref:absl/ThrowStdBadArrayNewLength.adoc[`ThrowStdBadArrayNewLength`] [.small]#[noreturn]# | Throws a `std::bad_array_new_length`, or terminates if exceptions are disabled. | xref:absl/ThrowStdBadFunctionCall.adoc[`ThrowStdBadFunctionCall`] [.small]#[noreturn]# | Throws a `std::bad_function_call`, or terminates if exceptions are disabled. | xref:absl/ThrowStdDomainError-02.adoc[`ThrowStdDomainError`] [.small]#[noreturn]# | Throws a `std::domain_error` with the given message, or terminates if exceptions are disabled. | xref:absl/ThrowStdInvalidArgument-03.adoc[`ThrowStdInvalidArgument`] [.small]#[noreturn]# | Throws a `std::invalid_argument` with the given message, or terminates if exceptions are disabled. | xref:absl/ThrowStdLengthError-03.adoc[`ThrowStdLengthError`] [.small]#[noreturn]# | Throws a `std::length_error` with the given message, or terminates if exceptions are disabled. | xref:absl/ThrowStdLogicError-0ab.adoc[`ThrowStdLogicError`] [.small]#[noreturn]# | Throws a `std::logic_error` with the given message, or terminates if exceptions are disabled. | xref:absl/ThrowStdOutOfRange-07.adoc[`ThrowStdOutOfRange`] [.small]#[noreturn]# | Throws a `std::out_of_range` with the given message, or terminates if exceptions are disabled. | xref:absl/ThrowStdOverflowError-08.adoc[`ThrowStdOverflowError`] [.small]#[noreturn]# | Throws a `std::overflow_error` with the given message, or terminates if exceptions are disabled. | xref:absl/ThrowStdRangeError-0a.adoc[`ThrowStdRangeError`] [.small]#[noreturn]# | Throws a `std::range_error` with the given message, or terminates if exceptions are disabled. | xref:absl/ThrowStdRuntimeError-05.adoc[`ThrowStdRuntimeError`] [.small]#[noreturn]# | Throws a `std::runtime_error` with the given message, or terminates if exceptions are disabled. | xref:absl/ThrowStdUnderflowError-0f.adoc[`ThrowStdUnderflowError`] [.small]#[noreturn]# | Throws a `std::underflow_error` with the given message, or terminates if exceptions are disabled. | xref:absl/TimeFromTimespec.adoc[`TimeFromTimespec`] | Converts a `timespec` to an `absl::Time`. | xref:absl/TimeFromTimeval.adoc[`TimeFromTimeval`] | Converts a `timeval` to an `absl::Time`. | xref:absl/ToChronoHours.adoc[`ToChronoHours`] | Converts an absl::Duration to a std::chrono::hours value. | xref:absl/ToChronoMicroseconds.adoc[`ToChronoMicroseconds`] | Converts an absl::Duration to a std::chrono::microseconds value. | xref:absl/ToChronoMilliseconds.adoc[`ToChronoMilliseconds`] | Converts an absl::Duration to a std::chrono::milliseconds value. | xref:absl/ToChronoMinutes.adoc[`ToChronoMinutes`] | Converts an absl::Duration to a std::chrono::minutes value. | xref:absl/ToChronoNanoseconds.adoc[`ToChronoNanoseconds`] | Converts an absl::Duration to a std::chrono::nanoseconds value. | xref:absl/ToChronoSeconds.adoc[`ToChronoSeconds`] | Converts an absl::Duration to a std::chrono::seconds value. | xref:absl/ToChronoTime.adoc[`ToChronoTime`] | Converts an absl::Time to a std::chrono::system_clock::time_point. If overflow would occur, the returned value will saturate at the min/max time point value instead. | xref:absl/ToCivilDay.adoc[`ToCivilDay`] | Converts an absolute time to a day‐aligned civil time in a time zone. | xref:absl/ToCivilHour.adoc[`ToCivilHour`] | Converts an absolute time to an hour‐aligned civil time in a time zone. | xref:absl/ToCivilMinute.adoc[`ToCivilMinute`] | Converts an absolute time to a minute‐aligned civil time in a time zone. | xref:absl/ToCivilMonth.adoc[`ToCivilMonth`] | Converts an absolute time to a month‐aligned civil time in a time zone. | xref:absl/ToCivilSecond.adoc[`ToCivilSecond`] | Converts an absolute time to a second‐aligned civil time in a time zone. | xref:absl/ToCivilYear.adoc[`ToCivilYear`] | Converts an absolute time to a year‐aligned civil time in a time zone. | xref:absl/ToDoubleHours.adoc[`ToDoubleHours`] | Converts a Duration to a floating‐point count of hours. | xref:absl/ToDoubleMicroseconds.adoc[`ToDoubleMicroseconds`] | Converts a Duration to a floating‐point count of microseconds. | xref:absl/ToDoubleMilliseconds.adoc[`ToDoubleMilliseconds`] | Converts a Duration to a floating‐point count of milliseconds. | xref:absl/ToDoubleMinutes.adoc[`ToDoubleMinutes`] | Converts a Duration to a floating‐point count of minutes. | xref:absl/ToDoubleNanoseconds.adoc[`ToDoubleNanoseconds`] | Converts a Duration to a floating‐point count of nanoseconds. | xref:absl/ToDoubleSeconds.adoc[`ToDoubleSeconds`] | Converts a Duration to a floating‐point count of seconds. | xref:absl/ToInt64Hours.adoc[`ToInt64Hours`] | Converts a Duration to an integral count of hours. | xref:absl/ToInt64Microseconds.adoc[`ToInt64Microseconds`] | Converts a Duration to an integral count of microseconds. | xref:absl/ToInt64Milliseconds.adoc[`ToInt64Milliseconds`] | Converts a Duration to an integral count of milliseconds. | xref:absl/ToInt64Minutes.adoc[`ToInt64Minutes`] | Converts a Duration to an integral count of minutes. | xref:absl/ToInt64Nanoseconds.adoc[`ToInt64Nanoseconds`] | Converts a Duration to an integral count of nanoseconds. | xref:absl/ToInt64Seconds.adoc[`ToInt64Seconds`] | Converts a Duration to an integral count of seconds. | xref:absl/ToTM.adoc[`ToTM`] | Converts the given `absl::Time` to a struct tm using the given time zone. See ctime(3) for a description of the values of the tm fields. | xref:absl/ToTimeT.adoc[`ToTimeT`] | Converts an `absl::Time` to a `time_t` value. | xref:absl/ToTimespec-0b.adoc[`ToTimespec`] | `ToTimespec` overloads | xref:absl/ToTimeval-0c.adoc[`ToTimeval`] | `ToTimeval` overloads | xref:absl/ToUDate.adoc[`ToUDate`] | Converts an `absl::Time` to an ICU UDate value. | xref:absl/ToUniversal.adoc[`ToUniversal`] | Converts an `absl::Time` to an ICU Universal Time Scale value. | xref:absl/ToUnixMicros.adoc[`ToUnixMicros`] | Converts an `absl::Time` to a count of microseconds since the Unix epoch. | xref:absl/ToUnixMillis.adoc[`ToUnixMillis`] | Converts an `absl::Time` to a count of milliseconds since the Unix epoch. | xref:absl/ToUnixNanos.adoc[`ToUnixNanos`] | Converts an `absl::Time` to a count of nanoseconds since the Unix epoch. | xref:absl/ToUnixSeconds.adoc[`ToUnixSeconds`] | Converts an `absl::Time` to a count of seconds since the Unix epoch. | xref:absl/Trunc.adoc[`Trunc`] | Truncates a duration (toward zero) to a multiple of a non‐zero unit. | xref:absl/UTCTimeZone.adoc[`UTCTimeZone`] | Convenience method returning the UTC time zone. | xref:absl/Uint128High64.adoc[`Uint128High64`] | Returns the higher 64‐bit value of a `uint128` value. | xref:absl/Uint128Low64.adoc[`Uint128Low64`] | Returns the lower 64‐bit value of a `uint128` value. | xref:absl/Uint128Max.adoc[`Uint128Max`] | Returns the highest value for a 128‐bit unsigned integer. | xref:absl/UnRegisterLivePointers.adoc[`UnRegisterLivePointers`] | Deregisters the pointers previously marked as active in `RegisterLivePointers()`, enabling leak checking of those pointers. | xref:absl/UnauthenticatedError-0b.adoc[`UnauthenticatedError`] | Creates a status with the `kUnauthenticated` error code and `message`. | xref:absl/UnavailableError-08.adoc[`UnavailableError`] | Creates a status with the `kUnavailable` error code and `message`. | xref:absl/Uniform-08.adoc[`Uniform`] | `Uniform` overloads | xref:absl/UnimplementedError-0b.adoc[`UnimplementedError`] | Creates a status with the `kUnimplemented` error code and `message`. | xref:absl/UniversalEpoch.adoc[`UniversalEpoch`] | Returns the `absl::Time` representing the ICU Universal Time Scale epoch. | xref:absl/UnixEpoch.adoc[`UnixEpoch`] | Returns the `absl::Time` representing "1970‐01‐01 00:00:00.0 +0000". | xref:absl/UnknownError-0e.adoc[`UnknownError`] | Creates a status with the `kUnknown` error code and `message`. | xref:absl/UnparseFlag-0e7.adoc[`UnparseFlag`] | `UnparseFlag` overloads | xref:absl/UrlEscape.adoc[`UrlEscape`] | Escapes a string so it can be safely used as a value in a URL component by replacing all characters that are not "unreserved characters" with percent‐escapes. See https://tools.ietf.org/html/rfc3986 | xref:absl/UrlEscapePlus.adoc[`UrlEscapePlus`] | Escapes a string so it can be safely used as a value for application/x‐www‐form‐urlencoded (HTML form submissions). | xref:absl/UrlUnescape.adoc[`UrlUnescape`] | Performs the inverse transformation of UrlEscape(), converting each percent‐encoded sequence of the form "%AB" into the character with the hexadecimal value 0xAB. It returns `std::nullopt` if any % is not followed by two hexadecimal digits. | xref:absl/UrlUnescapePlus.adoc[`UrlUnescapePlus`] | Performs the inverse transformation of UrlEscapePlus(). It returns `std::nullopt` if any % is not followed by two hexadecimal digits. | xref:absl/Utf8SafeCEscape.adoc[`Utf8SafeCEscape`] | Escapes a `src` string using C‐style escape sequences, escaping bytes as octal sequences, and passing through UTF‐8 characters without conversion. | xref:absl/Utf8SafeCHexEscape.adoc[`Utf8SafeCHexEscape`] | Escapes a `src` string using C‐style escape sequences, escaping bytes as hexadecimal sequences, and passing through UTF‐8 characters without conversion. | xref:absl/WeakenPtr.adoc[`WeakenPtr`] | Create a weak pointer from a shared pointer. | xref:absl/WebSafeBase64Escape-0c.adoc[`WebSafeBase64Escape`] | `WebSafeBase64Escape` overloads | xref:absl/WebSafeBase64Unescape.adoc[`WebSafeBase64Unescape`] | Converts a `src` string encoded in "web safe" Base64 (RFC 4648 section 5) to its binary equivalent, writing it to a `dest` buffer, returning `true` on success. If `src` contains invalid characters, `dest` is cleared and returns `false`. If padding is included (note that `WebSafeBase64Escape()` does not produce it), it must be correct. In the padding, '=' and '.' are treated identically. | xref:absl/WrapUnique.adoc[`WrapUnique`] | Adopt ownership of a raw pointer into a `std::unique_ptr`. | xref:absl/ZeroDuration.adoc[`ZeroDuration`] | Returns a zero‐length duration. This function behaves just like the default constructor, but the name helps make the semantics clear at call sites. | xref:absl/Zipf.adoc[`Zipf`] | Produces a random integral value from a Zipf distribution. | xref:absl/any_cast.adoc[`any_cast`] [.small]#[deprecated]# | Casts the value stored in an `any` object to type `T` (deprecated). | xref:absl/apply.adoc[`apply`] [.small]#[deprecated]# | Invoke a callable with the elements of a tuple as arguments. | xref:absl/ascii_isalnum.adoc[`ascii_isalnum`] | Determines whether the given character is an alphanumeric character. | xref:absl/ascii_isalpha.adoc[`ascii_isalpha`] | Determines whether the given character is an alphabetic character. | xref:absl/ascii_isascii.adoc[`ascii_isascii`] | Determines whether the given character is ASCII. | xref:absl/ascii_isblank.adoc[`ascii_isblank`] | Determines whether the given character is a blank character (tab or space). | xref:absl/ascii_iscntrl.adoc[`ascii_iscntrl`] | Determines whether the given character is a control character. | xref:absl/ascii_isdigit.adoc[`ascii_isdigit`] | Determines whether the given character can be represented as a decimal digit character (i.e. {0‐9}). | xref:absl/ascii_isgraph.adoc[`ascii_isgraph`] | Determines whether the given character has a graphical representation. | xref:absl/ascii_islower.adoc[`ascii_islower`] | Determines whether the given character is lowercase. | xref:absl/ascii_isprint.adoc[`ascii_isprint`] | Determines whether the given character is printable, including spaces. | xref:absl/ascii_ispunct.adoc[`ascii_ispunct`] | Determines whether the given character is a punctuation character. | xref:absl/ascii_isspace.adoc[`ascii_isspace`] | Determines whether the given character is a whitespace character (space, tab, vertical tab, formfeed, linefeed, or carriage return). | xref:absl/ascii_isupper.adoc[`ascii_isupper`] | Determines whether the given character is uppercase. | xref:absl/ascii_isxdigit.adoc[`ascii_isxdigit`] | Determines whether the given character can be represented as a hexadecimal digit character (i.e. {0‐9} or {A‐F} or {a‐f}). | xref:absl/ascii_tolower.adoc[`ascii_tolower`] | Returns an ASCII character, converting to lowercase if uppercase is passed. Note that character values > 127 are simply returned. | xref:absl/ascii_toupper.adoc[`ascii_toupper`] | Returns the ASCII character, converting to upper‐case if lower‐case is passed. Note that characters values > 127 are simply returned. | xref:absl/c_accumulate-01.adoc[`c_accumulate`] | `c_accumulate` overloads | xref:absl/c_adjacent_difference-0b.adoc[`c_adjacent_difference`] | `c_adjacent_difference` overloads | xref:absl/c_adjacent_find-01.adoc[`c_adjacent_find`] | `c_adjacent_find` overloads | xref:absl/c_all_of.adoc[`c_all_of`] | Container‐based version of the <algorithm> `std::all_of()` function to test if all elements within a container satisfy a condition. | xref:absl/c_any_of.adoc[`c_any_of`] | Container‐based version of the <algorithm> `std::any_of()` function to test if any element in a container fulfills a condition. | xref:absl/c_binary_search-0e.adoc[`c_binary_search`] | `c_binary_search` overloads | xref:absl/c_contains.adoc[`c_contains`] | Container‐based version of the <algorithm> `std::ranges::contains()` C++23 function to search a container for a value. | xref:absl/c_contains_subrange-07.adoc[`c_contains_subrange`] | `c_contains_subrange` overloads | xref:absl/c_copy-07.adoc[`c_copy`] | `c_copy` overloads | xref:absl/c_copy_backward.adoc[`c_copy_backward`] | Container‐based version of the <algorithm> `std::copy_backward()` function to copy a container's elements in reverse order into an iterator. | xref:absl/c_copy_if.adoc[`c_copy_if`] | Container‐based version of the <algorithm> `std::copy_if()` function to copy a container's elements satisfying some condition into an iterator. | xref:absl/c_copy_n-03.adoc[`c_copy_n`] | `c_copy_n` overloads | xref:absl/c_count.adoc[`c_count`] | Container‐based version of the <algorithm> `std::count()` function to count values that match within a container. | xref:absl/c_count_if.adoc[`c_count_if`] | Container‐based version of the <algorithm> `std::count_if()` function to count values matching a condition within a container. | xref:absl/c_distance.adoc[`c_distance`] | Container‐based version of the <iterator> `std::distance()` function to return the number of elements within a container. | xref:absl/c_equal-09.adoc[`c_equal`] | `c_equal` overloads | xref:absl/c_equal_range-0d.adoc[`c_equal_range`] | `c_equal_range` overloads | xref:absl/c_fill.adoc[`c_fill`] | Container‐based version of the <algorithm> `std::fill()` function to fill a container with some value. | xref:absl/c_fill_n.adoc[`c_fill_n`] | Container‐based version of the <algorithm> `std::fill_n()` function to fill the first N elements in a container with some value. | xref:absl/c_find.adoc[`c_find`] | Container‐based version of the <algorithm> `std::find()` function to find the first element containing the passed value within a container value. | xref:absl/c_find_end-07.adoc[`c_find_end`] | `c_find_end` overloads | xref:absl/c_find_first_of-027.adoc[`c_find_first_of`] | `c_find_first_of` overloads | xref:absl/c_find_if.adoc[`c_find_if`] | Container‐based version of the <algorithm> `std::find_if()` function to find the first element in a container matching the given condition. | xref:absl/c_find_if_not.adoc[`c_find_if_not`] | Container‐based version of the <algorithm> `std::find_if_not()` function to find the first element in a container not matching the given condition. | xref:absl/c_for_each.adoc[`c_for_each`] | Container‐based version of the <algorithm> `std::for_each()` function to apply a function to a container's elements. | xref:absl/c_generate.adoc[`c_generate`] | Container‐based version of the <algorithm> `std::generate()` function to assign a container's elements to the values provided by the given generator. | xref:absl/c_generate_n.adoc[`c_generate_n`] | Container‐based version of the <algorithm> `std::generate_n()` function to assign a container's first N elements to the values provided by the given generator. | xref:absl/c_includes-07.adoc[`c_includes`] | `c_includes` overloads | xref:absl/c_inner_product-09.adoc[`c_inner_product`] | `c_inner_product` overloads | xref:absl/c_inplace_merge-0f.adoc[`c_inplace_merge`] | `c_inplace_merge` overloads | xref:absl/c_iota.adoc[`c_iota`] | Container‐based version of the <numeric> `std::iota()` function to compute successive values of `value`, as if incremented with `++value` after each element is written, and write them to the container. | xref:absl/c_is_heap-02.adoc[`c_is_heap`] | `c_is_heap` overloads | xref:absl/c_is_heap_until-04b.adoc[`c_is_heap_until`] | `c_is_heap_until` overloads | xref:absl/c_is_partitioned.adoc[`c_is_partitioned`] | Container‐based version of the <algorithm> `std::is_partitioned()` function to test whether all elements in the container for which `pred` returns `true` precede those for which `pred` is `false`. | xref:absl/c_is_permutation-06.adoc[`c_is_permutation`] | `c_is_permutation` overloads | xref:absl/c_is_sorted-0b.adoc[`c_is_sorted`] | `c_is_sorted` overloads | xref:absl/c_is_sorted_until-04.adoc[`c_is_sorted_until`] | `c_is_sorted_until` overloads | xref:absl/c_lexicographical_compare-08.adoc[`c_lexicographical_compare`] | `c_lexicographical_compare` overloads | xref:absl/c_linear_search.adoc[`c_linear_search`] | Container‐based version of `absl::linear_search()` for performing a linear search within a container. | xref:absl/c_lower_bound-03.adoc[`c_lower_bound`] | `c_lower_bound` overloads | xref:absl/c_make_heap-06.adoc[`c_make_heap`] | `c_make_heap` overloads | xref:absl/c_max_element-0c.adoc[`c_max_element`] | `c_max_element` overloads | xref:absl/c_merge-0e.adoc[`c_merge`] | `c_merge` overloads | xref:absl/c_min_element-0b.adoc[`c_min_element`] | `c_min_element` overloads | xref:absl/c_minmax_element-02.adoc[`c_minmax_element`] | `c_minmax_element` overloads | xref:absl/c_mismatch-0f.adoc[`c_mismatch`] | `c_mismatch` overloads | xref:absl/c_move-0c.adoc[`c_move`] | `c_move` overloads | xref:absl/c_move_backward.adoc[`c_move_backward`] | Container‐based version of the <algorithm> `std::move_backward()` function to move a container's elements into an iterator in reverse order. | xref:absl/c_next_permutation-03.adoc[`c_next_permutation`] | `c_next_permutation` overloads | xref:absl/c_none_of.adoc[`c_none_of`] | Container‐based version of the <algorithm> `std::none_of()` function to test if no elements in a container fulfill a condition. | xref:absl/c_nth_element-09.adoc[`c_nth_element`] | `c_nth_element` overloads | xref:absl/c_partial_sort-0e.adoc[`c_partial_sort`] | `c_partial_sort` overloads | xref:absl/c_partial_sort_copy-022.adoc[`c_partial_sort_copy`] | `c_partial_sort_copy` overloads | xref:absl/c_partial_sum-0c0.adoc[`c_partial_sum`] | `c_partial_sum` overloads | xref:absl/c_partition.adoc[`c_partition`] | Container‐based version of the <algorithm> `std::partition()` function to rearrange all elements in a container in such a way that all elements for which `pred` returns `true` precede all those for which it returns `false`, returning an iterator to the first element of the second group. | xref:absl/c_partition_copy.adoc[`c_partition_copy`] | Container‐based version of the <algorithm> `std::partition_copy()` function to partition a container's elements and return them into two iterators: one for which `pred` returns `true`, and one for which `pred` returns `false.` | xref:absl/c_partition_point.adoc[`c_partition_point`] | Container‐based version of the <algorithm> `std::partition_point()` function to return the first element of an already partitioned container for which the given `pred` is not `true`. | xref:absl/c_pop_heap-08.adoc[`c_pop_heap`] | `c_pop_heap` overloads | xref:absl/c_prev_permutation-08.adoc[`c_prev_permutation`] | `c_prev_permutation` overloads | xref:absl/c_push_heap-0e.adoc[`c_push_heap`] | `c_push_heap` overloads | xref:absl/c_remove_copy.adoc[`c_remove_copy`] | Container‐based version of the <algorithm> `std::remove_copy()` function to copy a container's elements while removing any elements matching the given `value`. | xref:absl/c_remove_copy_if.adoc[`c_remove_copy_if`] | Container‐based version of the <algorithm> `std::remove_copy_if()` function to copy a container's elements while removing any elements matching the given condition. | xref:absl/c_replace.adoc[`c_replace`] | Container‐based version of the <algorithm> `std::replace()` function to replace a container's elements of some value with a new value. The container is modified in place. | xref:absl/c_replace_copy.adoc[`c_replace_copy`] | Container‐based version of the <algorithm> `std::replace_copy()` function to replace a container's elements of some value with a new value and return the results within an iterator. | xref:absl/c_replace_copy_if.adoc[`c_replace_copy_if`] | Container‐based version of the <algorithm> `std::replace_copy_if()` function to replace a container's elements of some value with a new value based on some condition, and return the results within an iterator. | xref:absl/c_replace_if.adoc[`c_replace_if`] | Container‐based version of the <algorithm> `std::replace_if()` function to replace a container's elements of some value with a new value based on some condition. The container is modified in place. | xref:absl/c_reverse.adoc[`c_reverse`] | Container‐based version of the <algorithm> `std::reverse()` function to reverse a container's elements. | xref:absl/c_reverse_copy.adoc[`c_reverse_copy`] | Container‐based version of the <algorithm> `std::reverse()` function to reverse a container's elements and write them to an iterator range. | xref:absl/c_rotate.adoc[`c_rotate`] | Container‐based version of the <algorithm> `std::rotate()` function to shift a container's elements leftward such that the `middle` element becomes the first element in the container. | xref:absl/c_rotate_copy.adoc[`c_rotate_copy`] | Container‐based version of the <algorithm> `std::rotate_copy()` function to shift a container's elements leftward such that the `middle` element becomes the first element in a new iterator range. | xref:absl/c_sample.adoc[`c_sample`] | Container‐based version of the <algorithm> `std::sample()` function to randomly sample elements from the container without replacement using a `gen()` uniform random number generator and write them to an iterator range. | xref:absl/c_search-0d.adoc[`c_search`] | `c_search` overloads | xref:absl/c_search_n-033.adoc[`c_search_n`] | `c_search_n` overloads | xref:absl/c_set_difference-07.adoc[`c_set_difference`] | `c_set_difference` overloads | xref:absl/c_set_intersection-0f.adoc[`c_set_intersection`] | `c_set_intersection` overloads | xref:absl/c_set_symmetric_difference-09.adoc[`c_set_symmetric_difference`] | `c_set_symmetric_difference` overloads | xref:absl/c_set_union-0c.adoc[`c_set_union`] | `c_set_union` overloads | xref:absl/c_shuffle.adoc[`c_shuffle`] | Container‐based version of the <algorithm> `std::shuffle()` function to randomly shuffle elements within the container using a `gen()` uniform random number generator. | xref:absl/c_sort-00.adoc[`c_sort`] | `c_sort` overloads | xref:absl/c_sort_heap-09.adoc[`c_sort_heap`] | `c_sort_heap` overloads | xref:absl/c_stable_partition.adoc[`c_stable_partition`] | Container‐based version of the <algorithm> `std::stable_partition()` function to rearrange all elements in a container in such a way that all elements for which `pred` returns `true` precede all those for which it returns `false`, preserving the relative ordering between the two groups. The function returns an iterator to the first element of the second group. | xref:absl/c_stable_sort-0b.adoc[`c_stable_sort`] | `c_stable_sort` overloads | xref:absl/c_swap_ranges.adoc[`c_swap_ranges`] | Container‐based version of the <algorithm> `std::swap_ranges()` function to swap a container's elements with another container's elements. Swaps the first N elements of `c1` and `c2`, where N = min(size(c1), size(c2)). | xref:absl/c_transform-06.adoc[`c_transform`] | `c_transform` overloads | xref:absl/c_unique_copy-0f.adoc[`c_unique_copy`] | `c_unique_copy` overloads | xref:absl/c_upper_bound-02a.adoc[`c_upper_bound`] | `c_upper_bound` overloads | xref:absl/call_once.adoc[`call_once`] | For all invocations using a given `once_flag`, invokes a given `fn` exactly once across all threads. The first call to `call_once()` with a particular `once_flag` argument (that does not throw an exception) will run the specified function with the provided `args`; other calls with the same `once_flag` argument will not run the function, but will wait for the provided function to finish running (if it is still running). | xref:absl/down_cast-04a.adoc[`down_cast`] | `down_cast` overloads | xref:absl/equal-0b.adoc[`equal`] [.small]#[deprecated]# | `equal` overloads | xref:absl/erase_if-02.adoc[`erase_if`] | `erase_if` overloads | xref:absl/exchange.adoc[`exchange`] [.small]#[deprecated]# | Replace the value of an object and return its old value. | xref:absl/forward-07.adoc[`forward`] [.small]#[deprecated]# | `forward` overloads | xref:absl/from_chars-06.adoc[`from_chars`] | `from_chars` overloads | xref:absl/get-066.adoc[`get`] [.small]#[deprecated]# | `get` overloads | xref:absl/get_if-07.adoc[`get_if`] [.small]#[deprecated]# | `get_if` overloads | xref:absl/holds_alternative.adoc[`holds_alternative`] [.small]#[deprecated]# | Tests whether a variant currently holds the alternative `T` (deprecated). | xref:absl/implicit_cast-00.adoc[`implicit_cast`] | `implicit_cast` overloads | xref:absl/is_constant_evaluated.adoc[`is_constant_evaluated`] | Detects whether the function call occurs within a constant‐evaluated context. Returns true if the evaluation of the call occurs within the evaluation of an expression or conversion that is manifestly constant‐evaluated; otherwise returns false. | xref:absl/linear_search.adoc[`linear_search`] | Performs a linear search for a value in a range. | xref:absl/make_any-05.adoc[`make_any`] [.small]#[deprecated]# | `make_any` overloads | xref:absl/make_from_tuple.adoc[`make_from_tuple`] [.small]#[deprecated]# | Construct an object of a type from the elements of a tuple. | xref:absl/make_optional-0b.adoc[`make_optional`] | `make_optional` overloads | xref:absl/move-07.adoc[`move`] [.small]#[deprecated]# | `move` overloads | xref:absl/operator_mod-05.adoc[`operator%`] | Modulus operators | xref:absl/operator_bitand-0d.adoc[`operator&`] | Bitwise conjunction operators | xref:absl/operator_and_eq-0d.adoc[`operator&=`] | Assigns to `lhs` the bitwise AND of `lhs` and `rhs`. | xref:absl/operator_star-0b60.adoc[`operator*`] | Multiplication operators | xref:absl/operator_plus-0a.adoc[`operator+`] | Unary plus operators | xref:absl/operator_minus-01d.adoc[`operator‐`] | Unary minus operators | xref:absl/operator_slash-04.adoc[`operator/`] | Division operators | xref:absl/operator_rshift-05.adoc[`operator>>`] | Right shift operators | xref:absl/operator_xor-0a.adoc[`operatorˆ`] | Bitwise exclusive‐or operators | xref:absl/operator_xor_eq-07.adoc[`operatorˆ=`] | Assigns to `lhs` the bitwise XOR of `lhs` and `rhs`. | xref:absl/operator_bitor-0c.adoc[`operator|`] | Bitwise disjunction operators | xref:absl/operator_or_eq-02.adoc[`operator|=`] | Assigns to `lhs` the bitwise OR of `lhs` and `rhs`. | xref:absl/operator_bitnot-01b.adoc[`operator~`] | Bitwise negation operators | xref:absl/rotate.adoc[`rotate`] [.small]#[deprecated]# | Rotates the elements in a range so that `n_first` becomes the new first. | xref:absl/swap-00e.adoc[`swap`] | `swap` overloads | xref:absl/visit.adoc[`visit`] [.small]#[deprecated]# | Applies a visitor to the alternatives of one or more variants (deprecated). | xref:absl/operator_lshift-03b.adoc[`operator<<`] | Left shift operators | xref:absl/operator_not.adoc[`operator!`] | Returns the logical negation of `val`. | xref:absl/operator_eq-03e9.adoc[`operator==`] | Equality operators | xref:absl/operator_not_eq-0486.adoc[`operator!=`] | Inequality operators | xref:absl/operator_lt-02.adoc[`operator<`] | Less‐than operators | xref:absl/operator_le-06.adoc[`operator<=`] | Less‐than‐or‐equal operators | xref:absl/operator_gt-024.adoc[`operator>`] | Greater‐than operators | xref:absl/operator_ge-0fb.adoc[`operator>=`] | Greater‐than‐or‐equal operators | xref:absl/operator_3way-04.adoc[`operator<=>`] | Three‐way comparison operators |=== == Variables [cols="1,4"] |=== | Name| Description | xref:absl/IntervalClosed.adoc[`IntervalClosed`] | Tag selecting a closed interval [lo, hi]for `absl::Uniform`. | xref:absl/IntervalClosedClosed.adoc[`IntervalClosedClosed`] | Tag selecting a closed‐closed interval [lo, hi]for `absl::Uniform`. | xref:absl/IntervalClosedOpen.adoc[`IntervalClosedOpen`] | Tag selecting a closed‐open interval [lo, hi) for `absl::Uniform`.] | xref:absl/IntervalOpen.adoc[`IntervalOpen`] | Tag selecting an open interval (lo, hi) for `absl::Uniform`. | xref:absl/IntervalOpenClosed.adoc[`IntervalOpenClosed`] | Tag selecting an open‐closed interval (lo, hi] for `absl::Uniform`. | xref:absl/IntervalOpenOpen.adoc[`IntervalOpenOpen`] | Tag selecting an open‐open interval (lo, hi) for `absl::Uniform`. | xref:absl/RFC1123_full.adoc[`RFC1123_full`] | FormatTime()/ParseTime() format specifier for RFC1123 date/time strings. | xref:absl/RFC1123_no_wday.adoc[`RFC1123_no_wday`] | FormatTime()/ParseTime() format specifier for RFC1123 date/time strings without the weekday name. | xref:absl/RFC3339_full.adoc[`RFC3339_full`] | FormatTime()/ParseTime() format specifier for RFC3339 date/time strings, with trailing zeros trimmed. | xref:absl/RFC3339_sec.adoc[`RFC3339_sec`] | FormatTime()/ParseTime() format specifier for RFC3339 date/time strings, with fractional seconds omitted altogether. | xref:absl/in_place.adoc[`in_place`] [.small]#[deprecated]# | Disambiguation tag for in‐place construction. | xref:absl/in_place_index.adoc[`in_place_index`] [.small]#[deprecated]# | Disambiguation tag for in‐place construction at a given index. | xref:absl/in_place_type.adoc[`in_place_type`] [.small]#[deprecated]# | Disambiguation tag for in‐place construction of a given type. | xref:absl/nontype.adoc[`nontype`] | Disambiguation tag value of type `nontype_t`. | xref:absl/variant_npos.adoc[`variant_npos`] | Alias for `std::variant_npos`, the index of a valueless variant. | xref:absl/variant_size_v.adoc[`variant_size_v`] | Alias for `std::variant_size_v`, the number of alternatives. |=== == Using Declarations [cols="1,4"] |=== | Name| Description | xref:absl/bind_back.adoc[`bind_back`] | Binds the last N arguments of an invocable object and stores them by value. | xref:absl/bind_front.adoc[`bind_front`] | Binds the first N arguments of an invocable object and stores them by value. | xref:absl/bit_cast.adoc[`bit_cast`] | Alias for `std::bit_cast`, used when the standard library provides it. | xref:absl/bit_ceil.adoc[`bit_ceil`] | Returns the smallest power of two not less than `x`. | xref:absl/bit_floor.adoc[`bit_floor`] | Returns the largest power of two not greater than `x`. | xref:absl/bit_width.adoc[`bit_width`] | Returns the number of bits needed to represent the value of `x`. | xref:absl/byteswap.adoc[`byteswap`] | Reverses the bytes in the given integer value `x`. | xref:absl/countl_one.adoc[`countl_one`] | Counts the number of consecutive one bits starting from the most significant bit of `x`. | xref:absl/countl_zero.adoc[`countl_zero`] | Counts the number of consecutive zero bits starting from the most significant bit of `x`. | xref:absl/countr_one.adoc[`countr_one`] | Counts the number of consecutive one bits starting from the least significant bit of `x`. | xref:absl/countr_zero.adoc[`countr_zero`] | Counts the number of consecutive zero bits starting from the least significant bit of `x`. | xref:absl/endian.adoc[`endian`] | Indicates the endianness of all scalar types. | xref:absl/has_single_bit.adoc[`has_single_bit`] | Determines whether `x` is an integral power of two. | xref:absl/make_unique.adoc[`make_unique`] | Create a `std::unique_ptr` owning a newly constructed object. | xref:absl/make_unique_for_overwrite.adoc[`make_unique_for_overwrite`] | Create a `std::unique_ptr` whose object is default‐initialized. | xref:absl/nullopt.adoc[`nullopt`] | Alias for `std::nullopt`, the disengaged‐optional constant. | xref:absl/optional.adoc[`optional`] | Alias for `std::optional`. | xref:absl/partial_ordering.adoc[`partial_ordering`] | Result of a three‐way comparison that may be unordered. | xref:absl/popcount.adoc[`popcount`] | Counts the number of one bits in the value of `x`. | xref:absl/rotl.adoc[`rotl`] | Rotates the bits of `x` to the left by `s` positions. | xref:absl/rotr.adoc[`rotr`] | Rotates the bits of `x` to the right by `s` positions. | xref:absl/string_view.adoc[`string_view`] | An alias for `std::string_view`. | xref:absl/strong_ordering.adoc[`strong_ordering`] | Result of a three‐way comparison that is strongly ordered. | xref:absl/weak_ordering.adoc[`weak_ordering`] | Result of a three‐way comparison that is weakly ordered. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#