[libc++][ranges]implement `std::views::take_while`

Differential Revision: https://reviews.llvm.org/D134952

GitOrigin-RevId: a2c6a1193f41e40840a7ead6c1c0540d3062c13a
22 files changed