mirror-llvm-project/libcxx/include/__fwd
William Tran-Viet 7ded638ea3
[libc++] Granularize <optional> (#206644)
Certain headers require `optional<T&>`, so it may be beneficial to split
out `optional<T>` and `optional<T&>`. This can allow consumers to only
bring in the `optional` flavour it needs..

- Parcel out the respective pieces into their own header.
- Certain sources rely on transitive includes brought in by
`<optional>`, so they're kept there for now, and only tests have been
fixed.

---------

Co-authored-by: Louis Dionne <ldionne.2@gmail.com>
2026-07-30 11:12:15 +08:00
..
array.h
bit_reference.h
byte.h
complex.h
deque.h
format.h [libc++] Consistently use version guards outside namespace macros (#181136) 2026-06-29 14:44:44 +02:00
fstream.h
functional.h
get.h
ios.h [libc++] Add support for picolibc and newlib in RUNTIMES_USE_LIBC (#147956) 2025-11-28 11:50:06 +00:00
istream.h
mdspan.h
memory.h
memory_resource.h
optional.h [libc++] Granularize <optional> (#206644) 2026-07-30 11:12:15 +08:00
ostream.h
pair.h
queue.h
span.h [libc++] Consistently use version guards outside namespace macros (#181136) 2026-06-29 14:44:44 +02:00
sstream.h
stack.h
streambuf.h
string.h
string_view.h
subrange.h
tuple.h [libc++] Simplify <tuple> further (#156351) 2025-09-02 08:42:39 +02:00
variant.h [libc++] Consistently use version guards outside namespace macros (#181136) 2026-06-29 14:44:44 +02:00
vector.h