Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1419)

Issue 236850043: Issue 4365: Add ly_is_smob<T>(S) to check if S is a smob of type T. (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
9 years ago by Dan Eble
Modified:
8 years, 11 months ago
Reviewers:
dak, mail
CC:
lilypond-devel_gnu.org
Visibility:
Public.

Description

Add ly_is_smob<T>(S) to check if S is a smob of type T. Hide Smob_base<>::is_smob(S) to prevent the misleading situation of D::is_smob(S) returning true when S represents an ancestor of D rather than a D. This issue was previously worked around by overriding is_smob() in several derived smob classes; that is no longer needed. Hide Smob_base<>::smob_p() because there doesn't seem to be a need for it to be public.

Patch Set 1 #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+141 lines, -161 lines) Patch
M lily/accidental-placement.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/ambitus-engraver.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/axis-group-engraver.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/axis-group-interface.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/bar-check-iterator.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/beam-collision-engraver.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/beam-quanting.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/book.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/break-alignment-interface.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/break-substitution.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M lily/chord-name-engraver.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/context.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M lily/context-property.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/dots-engraver.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/engraver.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M lily/fingering-engraver.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/function-documentation.cc View 2 chunks +7 lines, -7 lines 0 comments Download
M lily/grob.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/grob-closure.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M lily/grob-info.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/grob-property.cc View 4 chunks +7 lines, -7 lines 0 comments Download
M lily/grob-scheme.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M lily/include/engraver.hh View 1 chunk +0 lines, -3 lines 0 comments Download
M lily/include/global-context.hh View 1 chunk +0 lines, -3 lines 0 comments Download
M lily/include/item.hh View 1 chunk +0 lines, -3 lines 0 comments Download
M lily/include/lily-guile-macros.hh View 1 chunk +1 line, -1 line 0 comments Download
M lily/include/music.hh View 1 chunk +0 lines, -3 lines 0 comments Download
M lily/include/paper-score.hh View 1 chunk +0 lines, -3 lines 0 comments Download
M lily/include/performance.hh View 1 chunk +0 lines, -3 lines 0 comments Download
M lily/include/performer.hh View 1 chunk +0 lines, -3 lines 0 comments Download
M lily/include/smobs.hh View 2 chunks +8 lines, -1 line 1 comment Download
M lily/include/spanner.hh View 1 chunk +0 lines, -3 lines 0 comments Download
M lily/include/stream-event.hh View 1 chunk +0 lines, -3 lines 0 comments Download
M lily/lexer.ll View 3 chunks +3 lines, -3 lines 0 comments Download
M lily/lily-lexer.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/multi-measure-rest.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/music.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/music-scheme.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M lily/new-fingering-engraver.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M lily/note-column.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M lily/note-heads-engraver.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/note-performer.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/note-spacing-engraver.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/page-layout-problem.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M lily/paper-book.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M lily/paper-column.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/paper-column-engraver.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M lily/parser.yy View 21 chunks +31 lines, -31 lines 0 comments Download
M lily/pitched-trill-engraver.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/prob.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/pure-from-neighbor-interface.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/score.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/side-position-interface.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M lily/simple-closure.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M lily/slur.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/spaceable-grob.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/spacing-basic.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/spacing-determine-loose-columns.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M lily/spacing-engraver.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/stem.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M lily/stem-engraver.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/stream-event.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M lily/stream-event-scheme.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/tempo-performer.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/tie.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M lily/tie-engraver.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/tie-performer.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/timing-translator.cc View 4 chunks +4 lines, -4 lines 0 comments Download
M lily/translator-group.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M lily/tuplet-bracket.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/vertical-align-engraver.cc View 1 chunk +1 line, -1 line 0 comments Download
M lily/volta-engraver.cc View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 8
Dan Eble
9 years ago (2015-05-02 03:33:09 UTC) #1
dak
https://codereview.appspot.com/236850043/diff/1/lily/include/smobs.hh File lily/include/smobs.hh (right): https://codereview.appspot.com/236850043/diff/1/lily/include/smobs.hh#newcode235 lily/include/smobs.hh:235: template <class T> Nope. dynamic_cast is non-trivial operation that ...
9 years ago (2015-05-02 08:25:09 UTC) #2
Dan Eble
On 2015/05/02 08:25:09, dak wrote: > Nope. dynamic_cast is non-trivial operation that cannot be optimized ...
9 years ago (2015-05-02 12:54:18 UTC) #3
mail_philholmes.net
----- Original Message ----- From: <nine.fierce.ballads@gmail.com> To: <dak@gnu.org> Cc: <reply@codereview-hr.appspotmail.com>; <lilypond-devel@gnu.org> Sent: Saturday, May 02, ...
9 years ago (2015-05-02 13:05:31 UTC) #4
dak
On 2015/05/02 12:54:18, Dan Eble wrote: > On 2015/05/02 08:25:09, dak wrote: > > > ...
9 years ago (2015-05-02 14:28:11 UTC) #5
Dan Eble
On 2015/05/02 14:28:11, dak wrote: > On 2015/05/02 12:54:18, Dan Eble wrote: > > There ...
9 years ago (2015-05-02 16:11:20 UTC) #6
Dan Eble
On 2015/05/02 16:11:20, Dan Eble wrote: > > ly_unsmob<T> (s) which compiles iff T is ...
9 years ago (2015-05-02 16:14:20 UTC) #7
Dan Eble
8 years, 11 months ago (2015-05-13 00:39:46 UTC) #8
Message was sent while issue was closed.
further work in https://codereview.appspot.com/231680043/
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b