[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Lilypond-auto] Issue 4082 in lilypond: Patch: Reimplement Smobs via tem
From: |
lilypond |
Subject: |
[Lilypond-auto] Issue 4082 in lilypond: Patch: Reimplement Smobs via templates rather than preprocessor |
Date: |
Wed, 27 Aug 2014 19:24:21 +0000 |
Status: Started
Owner: ----
Labels: Type-Enhancement Patch-new
New issue 4082 by address@hidden: Patch: Reimplement Smobs via templates
rather than preprocessor
https://code.google.com/p/lilypond/issues/detail?id=4082
Reimplement Smobs via templates rather than preprocessor
This consists of the following commits:
Minor style fixes to some class definitions.
Don't assign 'safe' values to self_scm_ outside of smobify_self
Reimplement Smobs via templates rather than preprocessor
This creates the underlying code for the new implementation without
converting the bulk of the code (which is left to a script committed
separately). The include file ly-smobs.icc is removed completely. A
new file smobs.tcc contains generic template instantiations. The GCC
implementation works by loading it unconditionally in smobs.hh.
Depending on the underlying template mechanism, it might be feasible to
include it into just one compilation unit.
Where the previous implementation referred to class names passed into
macros, the typeinfo mechanism of C++ is employed for deriving the
respective name. The GCC implementation uses some cursory demangling of
the resulting type id, converting "3Box" into "Box"
and similarly.
Other APIs might warrant different polishing but the type names are
mostly used for internal purposes and differences are not all that
problematic.
Add scripts/auxiliar/smob-convert.sh for one-time C++ conversion
This script is used for the mechanical stage of converting the Smob
machinery from working via the C preprocessor to working via C++
templates.
Run scripts/auxiliar/smob-convert.sh
The last commit is not included in submission 1 of the patch in order
to make clear which parts of the patch are automatically generated and
which are reasonably subject to individual review/changes.
Submission 1 is obviously not compilable.
The ultimate submission will occur as a branch commit, with the final
commit being a revert of the commit containing the no longer necessary
script. It may still be useful in the history as a reference for
similar work, and for applying to separately developed existing code
using the Smob mechanism that is in need of merging/conversion.
http://codereview.appspot.com/137780043
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
- [Lilypond-auto] Issue 4082 in lilypond: Patch: Reimplement Smobs via templates rather than preprocessor,
lilypond <=
- Re: [Lilypond-auto] Issue 4082 in lilypond: Patch: Reimplement Smobs via templates rather than preprocessor, lilypond, 2014/08/27
- Re: [Lilypond-auto] Issue 4082 in lilypond: Patch: Reimplement Smobs via templates rather than preprocessor, lilypond, 2014/08/27
- Re: [Lilypond-auto] Issue 4082 in lilypond: Patch: Reimplement Smobs via templates rather than preprocessor, lilypond, 2014/08/27
- Re: [Lilypond-auto] Issue 4082 in lilypond: Patch: Reimplement Smobs via templates rather than preprocessor, lilypond, 2014/08/27
- Re: [Lilypond-auto] Issue 4082 in lilypond: Patch: Reimplement Smobs via templates rather than preprocessor, lilypond, 2014/08/27
- Re: [Lilypond-auto] Issue 4082 in lilypond: Patch: Reimplement Smobs via templates rather than preprocessor, lilypond, 2014/08/28
- Re: [Lilypond-auto] Issue 4082 in lilypond: Patch: Reimplement Smobs via templates rather than preprocessor, lilypond, 2014/08/28
- Re: [Lilypond-auto] Issue 4082 in lilypond: Patch: Reimplement Smobs via templates rather than preprocessor, lilypond, 2014/08/28
- Re: [Lilypond-auto] Issue 4082 in lilypond: Patch: Reimplement Smobs via templates rather than preprocessor, lilypond, 2014/08/30
- Re: [Lilypond-auto] Issue 4082 in lilypond: Patch: Reimplement Smobs via templates rather than preprocessor, lilypond, 2014/08/30