[llvm] r268062 - Add operator- to Path's reverse_iterator. Needed for D19666
David Blaikie via llvm-commits
llvm-commits at lists.llvm.org
Sun May 1 07:57:26 PDT 2016
Yeah, wouldn't worry about it much - as you say, consistency with existing
code, etc. *shrug*
On Sun, May 1, 2016 at 2:22 AM, Filipe Cabecinhas <me at filcab.net> wrote:
> Honestly, I didn't think too much about it and just did the same as
> const_iterator.
> As for having the operator as a non-instance variable, it wouldn't
> bring us anything new yet:
> The only definition is for (reverse_iterator - reverse_iterator), and
> afaict, there's no implicit conversion from anything to that.
>
> If you still want those changes or want me to still bring it to an
> inline definition, let me know. Not sure if we'll be saving much, but
> it won't hurt :-)
>
> Thank you,
>
> Filipe
>
> On Fri, Apr 29, 2016 at 11:55 PM, David Blaikie via llvm-commits
> <llvm-commits at lists.llvm.org> wrote:
> > Usually member variables that can be non-instance members should be
> > non-instance members so as to allow equal conversions on the left and
> right
> > hand operands. One way to do this is to declare it as a friend, instead
> of
> > as a non-static member (or even define it in terms of another operation)
> >
> > Also not sure whether that operation should be out of line, or just make
> it
> > inline?
> >
> > On Fri, Apr 29, 2016 at 9:48 AM, Filipe Cabecinhas via llvm-commits
> > <llvm-commits at lists.llvm.org> wrote:
> >>
> >> Author: filcab
> >> Date: Fri Apr 29 11:48:07 2016
> >> New Revision: 268062
> >>
> >> URL: http://llvm.org/viewvc/llvm-project?rev=268062&view=rev
> >> Log:
> >> Add operator- to Path's reverse_iterator. Needed for D19666
> >>
> >> Reviewers: rafael, craig.topper, bogner
> >>
> >> Subscribers: llvm-commits
> >>
> >> Differential Revision: http://reviews.llvm.org/D19724
> >>
> >> Modified:
> >> llvm/trunk/include/llvm/Support/Path.h
> >> llvm/trunk/lib/Support/Path.cpp
> >>
> >> Modified: llvm/trunk/include/llvm/Support/Path.h
> >> URL:
> >>
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/Path.h?rev=268062&r1=268061&r2=268062&view=diff
> >>
> >>
> ==============================================================================
> >> --- llvm/trunk/include/llvm/Support/Path.h (original)
> >> +++ llvm/trunk/include/llvm/Support/Path.h Fri Apr 29 11:48:07 2016
> >> @@ -87,6 +87,9 @@ public:
> >> reverse_iterator &operator++(); // preincrement
> >> bool operator==(const reverse_iterator &RHS) const;
> >> bool operator!=(const reverse_iterator &RHS) const { return !(*this
> ==
> >> RHS); }
> >> +
> >> + /// @brief Difference in bytes between this and RHS.
> >> + ptrdiff_t operator-(const reverse_iterator &RHS) const;
> >> };
> >>
> >> /// @brief Get begin iterator over \a path.
> >>
> >> Modified: llvm/trunk/lib/Support/Path.cpp
> >> URL:
> >>
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Path.cpp?rev=268062&r1=268061&r2=268062&view=diff
> >>
> >>
> ==============================================================================
> >> --- llvm/trunk/lib/Support/Path.cpp (original)
> >> +++ llvm/trunk/lib/Support/Path.cpp Fri Apr 29 11:48:07 2016
> >> @@ -353,6 +353,10 @@ bool reverse_iterator::operator==(const
> >> Position == RHS.Position;
> >> }
> >>
> >> +ptrdiff_t reverse_iterator::operator-(const reverse_iterator &RHS)
> const
> >> {
> >> + return Position - RHS.Position;
> >> +}
> >> +
> >> StringRef root_path(StringRef path) {
> >> const_iterator b = begin(path),
> >> pos = b,
> >>
> >>
> >> _______________________________________________
> >> llvm-commits mailing list
> >> llvm-commits at lists.llvm.org
> >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> >
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160501/cb5ef9b9/attachment.html>
More information about the llvm-commits
mailing list