Core: One::Create fixed to support multiple parameters

git-svn-id: svn://ultimatepp.org/upp/trunk@10249 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2016-09-28 19:18:54 +00:00
parent 0a9fa636ed
commit dca71c118d
2 changed files with 15 additions and 11 deletions

View file

@ -44,6 +44,10 @@ public:
template <class TT, class... Args>
TT& Create(Args... args) { TT *q = new TT(args...); Attach(q); return *q; }
template <class TT> // with C++ conforming compiler, this would not be neede - GCC bug workaround
TT& Create() { TT *q = new TT; Attach(q); return *q; }
template <class... Args>
T& Create(Args... args) { T *q = new T(args...); Attach(q); return *q; }
T& Create() { T *q = new T; Attach(q); return *q; }
template <class TT>

View file

@ -16,22 +16,22 @@ file
BufferPainter.h,
Xform2D.cpp,
Approximate.cpp,
Stroker.cpp optimize_speed,
Stroker.cpp,
Dasher.cpp,
Transformer.cpp,
Interpolator.cpp optimize_speed,
Rasterizer.cpp optimize_speed,
RasterizerClip.cpp optimize_speed,
Path.cpp optimize_speed,
Interpolator.cpp,
Rasterizer.cpp,
RasterizerClip.cpp,
Path.cpp,
Context.cpp,
Fillers.h,
Fillers.cpp optimize_speed,
Fillers.cpp,
RenderChar.cpp,
Render.cpp optimize_speed,
Image.cpp optimize_speed,
Mask.cpp optimize_speed,
Gradient.cpp optimize_speed,
RadialGradient.cpp optimize_speed,
Render.cpp,
Image.cpp,
Mask.cpp,
Gradient.cpp,
RadialGradient.cpp,
OnPath.cpp,
SVG readonly separator,
SvgInternal.h,