public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "hewillk at gmail dot com" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/112641] New: <ranges>: `drop_view::begin const` has ????(n) complexity Date: Mon, 20 Nov 2023 15:14:47 +0000 [thread overview] Message-ID: <bug-112641-4@http.gcc.gnu.org/bugzilla/> (raw) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112641 Bug ID: 112641 Summary: <ranges>: `drop_view::begin const` has ????(n) complexity Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: hewillk at gmail dot com Target Milestone: --- The wording of `drop_view::begin const` in [range.drop.view] is Returns: ranges::next(ranges::begin(base_), count_, ranges::end(base_)). Note that "returns" is used here, which means that the implementation only needs to return the value of `ranges::next` and does not need to obtain the value through `ranges::advance`, which will have 𝒪(n) complexity in the case of random-access-sized but non-common range. #include <ranges> int main() { const auto s = std::ranges::subrange(std::views::iota(0uz), size_t(-1)); const auto r = std::ranges::drop_view(s, s.size() - 1); const auto b = r.begin(); // time out } https://godbolt.org/z/1KnKKacs8 Thanks to Mr. Jonathan for clarifying this on the LWG mailing list.
next reply other threads:[~2023-11-20 15:14 UTC|newest] Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-11-20 15:14 hewillk at gmail dot com [this message] 2023-11-20 15:31 ` [Bug libstdc++/112641] <ranges>: `drop_view::begin const` has O(n) complexity redi at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-112641-4@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).