Skip to content

Adopt absl::optional #2651

@jsedgwick

Description

@jsedgwick

Envoy's custom Optional is anemic compared to absl (https://github.com/abseil/abseil-cpp/blob/master/absl/types/optional.h) and folly (https://github.com/facebook/folly/blob/master/folly/Optional.h)

For instance, envoy Optional doesn't have move ctors and doesn't do some finger-saving type inference.

Replace with one of the above, presumably absl's since that's already an envoy dep.
AFAICT the big-picture difference between absl's and folly's is that absl's is a drop-in replacement for std::optional (C++17). Folly's has more bells and whistles but given that envoy has been getting away with the current impl, absl is a better call.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions