diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-04-17 23:06:06 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-04-17 23:06:56 +0300 |
commit | dba0611175c8d4a56dfbc918ccef139351e5c3e0 (patch) | |
tree | b3c7a5684604facc0f0f5656fe373958c53dc5ad /src/render | |
parent | 53530f76275df76406a9ce438a33df78c50d0948 (diff) | |
download | mv-dba0611175c8d4a56dfbc918ccef139351e5c3e0.tar.gz mv-dba0611175c8d4a56dfbc918ccef139351e5c3e0.tar.bz2 mv-dba0611175c8d4a56dfbc918ccef139351e5c3e0.tar.xz mv-dba0611175c8d4a56dfbc918ccef139351e5c3e0.zip |
Revert "Remove override keyword, if it present with final."
This reverts commit 55480eb4477b2cf85af1bcdcc5e8ec4f4ce6682d.
Diffstat (limited to 'src/render')
-rw-r--r-- | src/render/graphicsdef.hpp | 52 | ||||
-rw-r--r-- | src/render/imagegraphics.h | 56 | ||||
-rw-r--r-- | src/render/mobileopengl2graphics.h | 16 | ||||
-rw-r--r-- | src/render/mobileopenglgraphics.h | 2 | ||||
-rw-r--r-- | src/render/modernopenglgraphics.h | 16 | ||||
-rw-r--r-- | src/render/normalopenglgraphics.h | 2 | ||||
-rw-r--r-- | src/render/openglgraphicsdef.hpp | 8 | ||||
-rw-r--r-- | src/render/openglgraphicsdef1.hpp | 2 | ||||
-rw-r--r-- | src/render/openglgraphicsdefadvanced.hpp | 2 | ||||
-rw-r--r-- | src/render/safeopenglgraphics.h | 2 | ||||
-rw-r--r-- | src/render/sdl2softwaregraphics.h | 4 | ||||
-rw-r--r-- | src/render/softwaregraphicsdef.hpp | 2 | ||||
-rw-r--r-- | src/render/surfacegraphics.h | 56 |
13 files changed, 110 insertions, 110 deletions
diff --git a/src/render/graphicsdef.hpp b/src/render/graphicsdef.hpp index 455e6ec5d..7e2b349e2 100644 --- a/src/render/graphicsdef.hpp +++ b/src/render/graphicsdef.hpp @@ -28,15 +28,15 @@ public: void drawImageRect(int x, int y, int w, int h, const ImageRect &restrict imgRect) - restrict2 final; + restrict2 override final; - void beginDraw() restrict2 final; + void beginDraw() restrict2 override final; - void endDraw() restrict2 final; + void endDraw() restrict2 override final; - void pushClipArea(const Rect &restrict area) restrict2 final; + void pushClipArea(const Rect &restrict area) restrict2 override final; - void popClipArea() restrict2 final; + void popClipArea() restrict2 override final; /** * Draws a resclaled version of the image @@ -44,11 +44,11 @@ public: void drawRescaledImage(const Image *restrict const image, int dstX, int dstY, const int desiredWidth, - const int desiredHeight) restrict2 final; + const int desiredHeight) restrict2 override final; void drawPattern(const Image *restrict const image, const int x, const int y, - const int w, const int h) restrict2 final; + const int w, const int h) restrict2 override final; void inline drawPatternInline(const Image *restrict const image, const int x, const int y, @@ -58,50 +58,50 @@ public: const int x, const int y, const int w, const int h, const int scaledWidth, - const int scaledHeight) restrict2 final; + const int scaledHeight) restrict2 override final; void calcPattern(ImageVertexes *restrict const vert, const Image *restrict const image, const int x, const int y, - const int w, const int h) const restrict2 final; + const int w, const int h) const restrict2 override final; void calcPattern(ImageCollection *restrict const vert, const Image *restrict const image, const int x, const int y, - const int w, const int h) const restrict2 final; + const int w, const int h) const restrict2 override final; void calcTileVertexes(ImageVertexes *restrict const vert, const Image *restrict const image, - int x, int y) const restrict2 final + int x, int y) const restrict2 override final A_NONNULL(2, 3); void calcTileCollection(ImageCollection *restrict const vertCol, const Image *restrict const image, - int x, int y) restrict2 final; + int x, int y) restrict2 override final; void drawTileVertexes(const ImageVertexes *restrict const vert) - restrict2 final; + restrict2 override final; void drawTileCollection(const ImageCollection - *restrict const vertCol) restrict2 final + *restrict const vertCol) restrict2 override final A_NONNULL(2); - void updateScreen() restrict2 final; + void updateScreen() restrict2 override final; void calcWindow(ImageCollection *restrict const vertCol, const int x, const int y, const int w, const int h, const ImageRect &restrict imgRect) - restrict2 final A_NONNULL(2); + restrict2 override final A_NONNULL(2); - void drawRectangle(const Rect &restrict rect) restrict2 final; + void drawRectangle(const Rect &restrict rect) restrict2 override final; - void fillRectangle(const Rect &restrict rect) restrict2 final; + void fillRectangle(const Rect &restrict rect) restrict2 override final; - void drawPoint(int x, int y) restrict2 final; + void drawPoint(int x, int y) restrict2 override final; void drawLine(int x1, int y1, - int x2, int y2) restrict2 final; + int x2, int y2) restrict2 override final; bool setVideoMode(const int w, const int h, const int scalle, @@ -109,22 +109,22 @@ public: const bool fs, const bool hwaccel, const bool resize, - const bool noFrame) restrict2 final; + const bool noFrame) restrict2 override final; void drawImage(const Image *restrict const image, - int dstX, int dstY) restrict2 final; + int dstX, int dstY) restrict2 override final; void copyImage(const Image *restrict const image, - int dstX, int dstY) restrict2 final; + int dstX, int dstY) restrict2 override final; void drawImageCached(const Image *restrict const image, - int x, int y) restrict2 final; + int x, int y) restrict2 override final; void drawPatternCached(const Image *restrict const image, const int x, const int y, - const int w, const int h) restrict2 final; + const int w, const int h) restrict2 override final; - void completeCache() restrict2 final; + void completeCache() restrict2 override final; private: void inline calcImageRect(ImageVertexes *restrict const vert, diff --git a/src/render/imagegraphics.h b/src/render/imagegraphics.h index bc0eafa04..8d4a72368 100644 --- a/src/render/imagegraphics.h +++ b/src/render/imagegraphics.h @@ -51,31 +51,31 @@ class ImegeGraphics final : public Graphics Image *getTarget() const restrict2 noexcept { return mTarget; } - void beginDraw() restrict2 final + void beginDraw() restrict2 override final { } - void endDraw() restrict2 final + void endDraw() restrict2 override final { } void pushClipArea(const Rect &restrict rect A_UNUSED) - restrict2 final + restrict2 override final { } - void popClipArea() restrict2 final + void popClipArea() restrict2 override final { } void drawRescaledImage(const Image *restrict const image A_UNUSED, int dstX A_UNUSED, int dstY A_UNUSED, const int desiredWidth A_UNUSED, const int desiredHeight A_UNUSED) - restrict2 final + restrict2 override final { } void drawPattern(const Image *restrict const image A_UNUSED, const int x A_UNUSED, const int y A_UNUSED, const int w A_UNUSED, - const int h A_UNUSED) restrict2 final + const int h A_UNUSED) restrict2 override final { } void drawRescaledPattern(const Image *const image A_UNUSED, @@ -85,7 +85,7 @@ class ImegeGraphics final : public Graphics const int h A_UNUSED, const int scaledWidth A_UNUSED, const int scaledHeight A_UNUSED) - final + override final { } void calcPattern(ImageVertexes *restrict const vert A_UNUSED, @@ -93,7 +93,7 @@ class ImegeGraphics final : public Graphics const int x A_UNUSED, const int y A_UNUSED, const int w A_UNUSED, - const int h A_UNUSED) const restrict2 final + const int h A_UNUSED) const restrict2 override final { } void calcPattern(ImageCollection *restrict const vert A_UNUSED, @@ -101,37 +101,37 @@ class ImegeGraphics final : public Graphics const int x A_UNUSED, const int y A_UNUSED, const int w A_UNUSED, - const int h A_UNUSED) const restrict2 final + const int h A_UNUSED) const restrict2 override final { } void calcTileVertexes(ImageVertexes *restrict const vert A_UNUSED, const Image *restrict const image A_UNUSED, int x A_UNUSED, - int y A_UNUSED) const restrict2 final + int y A_UNUSED) const restrict2 override final A_NONNULL(2, 3) { } void calcTileSDL(ImageVertexes *restrict const vert A_UNUSED, int x A_UNUSED, - int y A_UNUSED) const restrict2 final + int y A_UNUSED) const restrict2 override final { } void calcTileCollection(ImageCollection *restrict const vertCol A_UNUSED, const Image *restrict const image A_UNUSED, int x A_UNUSED, - int y A_UNUSED) restrict2 final + int y A_UNUSED) restrict2 override final { } void drawTileVertexes(const ImageVertexes *const - vert A_UNUSED) final + vert A_UNUSED) override final { } void drawTileCollection(const ImageCollection *const vertCol A_UNUSED) - final A_NONNULL(2) + override final A_NONNULL(2) { } - void updateScreen() final + void updateScreen() override final { } void drawNet(const int x1 A_UNUSED, @@ -139,28 +139,28 @@ class ImegeGraphics final : public Graphics const int x2 A_UNUSED, const int y2 A_UNUSED, const int width A_UNUSED, - const int height A_UNUSED) final + const int height A_UNUSED) override final { } void calcWindow(ImageCollection *restrict const vertCol A_UNUSED, const int x A_UNUSED, const int y A_UNUSED, const int w A_UNUSED, const int h A_UNUSED, const ImageRect &restrict imgRect A_UNUSED) - restrict2 final A_NONNULL(2) + restrict2 override final A_NONNULL(2) { } - void fillRectangle(const Rect &rect A_UNUSED) final + void fillRectangle(const Rect &rect A_UNUSED) override final { } - void drawRectangle(const Rect &rect A_UNUSED) restrict2 final + void drawRectangle(const Rect &rect A_UNUSED) restrict2 override final { } - void drawPoint(int x A_UNUSED, int y A_UNUSED) final + void drawPoint(int x A_UNUSED, int y A_UNUSED) override final { } void drawLine(int x1 A_UNUSED, int y1 A_UNUSED, int x2 A_UNUSED, int y2 A_UNUSED) - restrict2 final + restrict2 override final { } bool setVideoMode(const int w A_UNUSED, const int h A_UNUSED, @@ -168,26 +168,26 @@ class ImegeGraphics final : public Graphics const int bpp A_UNUSED, const bool fs A_UNUSED, const bool hwaccel A_UNUSED, const bool resize A_UNUSED, - const bool noFrame A_UNUSED) restrict2 final + const bool noFrame A_UNUSED) restrict2 override final { return false; } void drawImage(const Image *const image, - int dstX, int dstY) final; + int dstX, int dstY) override final; void copyImage(const Image *const image, - int dstX, int dstY) restrict2 final; + int dstX, int dstY) restrict2 override final; void drawImageCached(const Image *const image, - int x, int y) final; + int x, int y) override final; void drawPatternCached(const Image *restrict const image A_UNUSED, const int x A_UNUSED, const int y A_UNUSED, const int w A_UNUSED, - const int h A_UNUSED) restrict2 final + const int h A_UNUSED) restrict2 override final { } - void completeCache() restrict2 final; + void completeCache() restrict2 override final; /** * Draws a rectangle using images. 4 corner images, 4 side images and 1 @@ -195,7 +195,7 @@ class ImegeGraphics final : public Graphics */ void drawImageRect(const int x A_UNUSED, const int y A_UNUSED, const int w A_UNUSED, const int h A_UNUSED, - const ImageRect &imgRect A_UNUSED) final + const ImageRect &imgRect A_UNUSED) override final { } protected: diff --git a/src/render/mobileopengl2graphics.h b/src/render/mobileopengl2graphics.h index da0c02fd4..ecd04cc89 100644 --- a/src/render/mobileopengl2graphics.h +++ b/src/render/mobileopengl2graphics.h @@ -56,25 +56,25 @@ class MobileOpenGL2Graphics final : public Graphics ~MobileOpenGL2Graphics(); - void postInit() restrict2 final; + void postInit() restrict2 override final; - void setColor(const Color &restrict color) restrict2 final; + void setColor(const Color &restrict color) restrict2 override final; - void screenResized() restrict2 final; + void screenResized() restrict2 override final; void finalize(ImageCollection *restrict const col) - restrict2 final; + restrict2 override final; void finalize(ImageVertexes *restrict const vert) - restrict2 final; + restrict2 override final; - void testDraw() restrict2 final; + void testDraw() restrict2 override final; void removeArray(const uint32_t id, uint32_t *restrict const arr) - restrict2 final A_NONNULL(3); + restrict2 override final A_NONNULL(3); - void createGLContext() restrict2 final; + void createGLContext() restrict2 override final; #include "render/graphicsdef.hpp" diff --git a/src/render/mobileopenglgraphics.h b/src/render/mobileopenglgraphics.h index 4a50bb7b2..7af81a4c8 100644 --- a/src/render/mobileopenglgraphics.h +++ b/src/render/mobileopenglgraphics.h @@ -55,7 +55,7 @@ class MobileOpenGLGraphics final : public Graphics ~MobileOpenGLGraphics(); - void postInit() restrict2 final; + void postInit() restrict2 override final; inline void drawTriangleArrayfs(const GLshort *restrict const shortVertArray, diff --git a/src/render/modernopenglgraphics.h b/src/render/modernopenglgraphics.h index cabba8615..0c7d0d5c9 100644 --- a/src/render/modernopenglgraphics.h +++ b/src/render/modernopenglgraphics.h @@ -56,25 +56,25 @@ class ModernOpenGLGraphics final : public Graphics ~ModernOpenGLGraphics(); - void postInit() restrict2 final; + void postInit() restrict2 override final; - void setColor(const Color &restrict color) restrict2 final; + void setColor(const Color &restrict color) restrict2 override final; - void screenResized() restrict2 final; + void screenResized() restrict2 override final; void finalize(ImageCollection *restrict const col) - restrict2 final; + restrict2 override final; void finalize(ImageVertexes *restrict const vert) - restrict2 final; + restrict2 override final; - void testDraw() restrict2 final; + void testDraw() restrict2 override final; void removeArray(const uint32_t id, uint32_t *restrict const arr) - restrict2 final A_NONNULL(3); + restrict2 override final A_NONNULL(3); - void createGLContext() restrict2 final; + void createGLContext() restrict2 override final; #include "render/graphicsdef.hpp" diff --git a/src/render/normalopenglgraphics.h b/src/render/normalopenglgraphics.h index ed3c8e958..05014deed 100644 --- a/src/render/normalopenglgraphics.h +++ b/src/render/normalopenglgraphics.h @@ -76,7 +76,7 @@ class NormalOpenGLGraphics final : public Graphics inline void drawLineArrayf(const int size) restrict2 A_INLINE; - void testDraw() restrict2 final; + void testDraw() restrict2 override final; #include "render/graphicsdef.hpp" diff --git a/src/render/openglgraphicsdef.hpp b/src/render/openglgraphicsdef.hpp index b27145f64..42f61c2be 100644 --- a/src/render/openglgraphicsdef.hpp +++ b/src/render/openglgraphicsdef.hpp @@ -26,7 +26,7 @@ public: void drawNet(const int x1, const int y1, const int x2, const int y2, - const int width, const int height) restrict2 final; + const int width, const int height) restrict2 override final; static void dumpSettings(); @@ -34,12 +34,12 @@ public: void updateTextureFormat() restrict2; - bool isAllowScale() const restrict2 noexcept final + bool isAllowScale() const restrict2 noexcept override final { return true; } - void clearScreen() const restrict2 final; + void clearScreen() const restrict2 override final; - void deleteArrays() restrict2 final; + void deleteArrays() restrict2 override final; static void bindTexture(const GLenum target, const GLuint texture); diff --git a/src/render/openglgraphicsdef1.hpp b/src/render/openglgraphicsdef1.hpp index 6e9bc21b5..1d6a7c40d 100644 --- a/src/render/openglgraphicsdef1.hpp +++ b/src/render/openglgraphicsdef1.hpp @@ -21,7 +21,7 @@ */ public: - void setColor(const Color &restrict color) final + void setColor(const Color &restrict color) override final { mColor = color; mColorAlpha = (color.a != 255); diff --git a/src/render/openglgraphicsdefadvanced.hpp b/src/render/openglgraphicsdefadvanced.hpp index b5e3a770b..c63c6ba7f 100644 --- a/src/render/openglgraphicsdefadvanced.hpp +++ b/src/render/openglgraphicsdefadvanced.hpp @@ -24,7 +24,7 @@ public: inline void drawVertexes(const OpenGLGraphicsVertexes &restrict ogl) restrict2 A_INLINE; - void initArrays(const int vertCount) restrict2 final; + void initArrays(const int vertCount) restrict2 override final; #ifdef DEBUG_DRAW_CALLS unsigned int getDrawCalls() restrict2 const noexcept diff --git a/src/render/safeopenglgraphics.h b/src/render/safeopenglgraphics.h index c5c8d3a20..212c49e9d 100644 --- a/src/render/safeopenglgraphics.h +++ b/src/render/safeopenglgraphics.h @@ -51,7 +51,7 @@ class SafeOpenGLGraphics final : public Graphics ~SafeOpenGLGraphics(); - void testDraw() restrict2 final; + void testDraw() restrict2 override final; #include "render/graphicsdef.hpp" diff --git a/src/render/sdl2softwaregraphics.h b/src/render/sdl2softwaregraphics.h index 55e928175..ac6970cb1 100644 --- a/src/render/sdl2softwaregraphics.h +++ b/src/render/sdl2softwaregraphics.h @@ -57,7 +57,7 @@ class SDL2SoftwareGraphics final : public Graphics ~SDL2SoftwareGraphics(); void setRendererFlags(const uint32_t flags) - restrict2 noexcept final + restrict2 noexcept override final { mRendererFlags = flags; } #include "render/graphicsdef.hpp" @@ -65,7 +65,7 @@ class SDL2SoftwareGraphics final : public Graphics #include "render/softwaregraphicsdef.hpp" bool resizeScreen(const int width, - const int height) restrict2 final; + const int height) restrict2 override final; protected: int SDL_FakeUpperBlit(const SDL_Surface *restrict const src, diff --git a/src/render/softwaregraphicsdef.hpp b/src/render/softwaregraphicsdef.hpp index b9ad18cfa..305b6ac40 100644 --- a/src/render/softwaregraphicsdef.hpp +++ b/src/render/softwaregraphicsdef.hpp @@ -22,4 +22,4 @@ public: void calcTileSDL(ImageVertexes *restrict const vert, - int x, int y) const restrict2 final; + int x, int y) const restrict2 override final; diff --git a/src/render/surfacegraphics.h b/src/render/surfacegraphics.h index 320692f7b..0706dfc65 100644 --- a/src/render/surfacegraphics.h +++ b/src/render/surfacegraphics.h @@ -53,31 +53,31 @@ class SurfaceGraphics final : public Graphics SDL_Surface *getTarget() const restrict2 noexcept { return mTarget; } - void beginDraw() restrict2 final + void beginDraw() restrict2 override final { } - void endDraw() restrict2 final + void endDraw() restrict2 override final { } void pushClipArea(const Rect &restrict rect A_UNUSED) - restrict2 final + restrict2 override final { } - void popClipArea() restrict2 final + void popClipArea() restrict2 override final { } void drawRescaledImage(const Image *restrict const image A_UNUSED, int dstX A_UNUSED, int dstY A_UNUSED, const int desiredWidth A_UNUSED, const int desiredHeight A_UNUSED) - restrict2 final + restrict2 override final { } void drawPattern(const Image *restrict const image A_UNUSED, const int x A_UNUSED, const int y A_UNUSED, const int w A_UNUSED, - const int h A_UNUSED) restrict2 final + const int h A_UNUSED) restrict2 override final { } void drawRescaledPattern(const Image *const image A_UNUSED, @@ -87,7 +87,7 @@ class SurfaceGraphics final : public Graphics const int h A_UNUSED, const int scaledWidth A_UNUSED, const int scaledHeight A_UNUSED) - final + override final { } void calcPattern(ImageVertexes *restrict const vert A_UNUSED, @@ -95,7 +95,7 @@ class SurfaceGraphics final : public Graphics const int x A_UNUSED, const int y A_UNUSED, const int w A_UNUSED, - const int h A_UNUSED) const restrict2 final + const int h A_UNUSED) const restrict2 override final { } void calcPattern(ImageCollection *restrict const vert A_UNUSED, @@ -103,38 +103,38 @@ class SurfaceGraphics final : public Graphics const int x A_UNUSED, const int y A_UNUSED, const int w A_UNUSED, - const int h A_UNUSED) const restrict2 final + const int h A_UNUSED) const restrict2 override final { } void calcTileVertexes(ImageVertexes *restrict const vert A_UNUSED, const Image *restrict const image A_UNUSED, int x A_UNUSED, - int y A_UNUSED) const restrict2 final + int y A_UNUSED) const restrict2 override final A_NONNULL(2, 3) { } void calcTileSDL(ImageVertexes *restrict const vert A_UNUSED, int x A_UNUSED, - int y A_UNUSED) const restrict2 final + int y A_UNUSED) const restrict2 override final { } void calcTileCollection(ImageCollection *restrict const vertCol A_UNUSED, const Image *restrict const image A_UNUSED, int x A_UNUSED, - int y A_UNUSED) restrict2 final + int y A_UNUSED) restrict2 override final { } void drawTileVertexes(const ImageVertexes *restrict const - vert A_UNUSED) restrict2 final + vert A_UNUSED) restrict2 override final { } void drawTileCollection(const ImageCollection *restrict const vertCol A_UNUSED) - restrict2 final A_NONNULL(2) + restrict2 override final A_NONNULL(2) { } - void updateScreen() final + void updateScreen() override final { } void drawNet(const int x1 A_UNUSED, @@ -142,14 +142,14 @@ class SurfaceGraphics final : public Graphics const int x2 A_UNUSED, const int y2 A_UNUSED, const int width A_UNUSED, - const int height A_UNUSED) restrict2 final + const int height A_UNUSED) restrict2 override final { } void calcWindow(ImageCollection *restrict const vertCol A_UNUSED, const int x A_UNUSED, const int y A_UNUSED, const int w A_UNUSED, const int h A_UNUSED, const ImageRect &restrict imgRect A_UNUSED) - restrict2 final A_NONNULL(2) + restrict2 override final A_NONNULL(2) { } void setBlitMode(const BlitModeT mode) restrict2 noexcept @@ -159,19 +159,19 @@ class SurfaceGraphics final : public Graphics { return mBlitMode; } void fillRectangle(const Rect &restrict rect A_UNUSED) - restrict2 final + restrict2 override final { } void drawRectangle(const Rect &restrict rect A_UNUSED) - restrict2 final + restrict2 override final { } - void drawPoint(int x A_UNUSED, int y A_UNUSED) restrict2 final + void drawPoint(int x A_UNUSED, int y A_UNUSED) restrict2 override final { } void drawLine(int x1 A_UNUSED, int y1 A_UNUSED, int x2 A_UNUSED, int y2 A_UNUSED) - restrict2 final + restrict2 override final { } bool setVideoMode(const int w A_UNUSED, const int h A_UNUSED, @@ -179,26 +179,26 @@ class SurfaceGraphics final : public Graphics const int bpp A_UNUSED, const bool fs A_UNUSED, const bool hwaccel A_UNUSED, const bool resize A_UNUSED, - const bool noFrame A_UNUSED) restrict2 final + const bool noFrame A_UNUSED) restrict2 override final { return false; } void drawImage(const Image *restrict const image, - int dstX, int dstY) restrict2 final; + int dstX, int dstY) restrict2 override final; void copyImage(const Image *restrict const image, - int dstX, int dstY) restrict2 final; + int dstX, int dstY) restrict2 override final; void drawImageCached(const Image *restrict const image, - int x, int y) restrict2 final; + int x, int y) restrict2 override final; void drawPatternCached(const Image *restrict const image A_UNUSED, const int x A_UNUSED, const int y A_UNUSED, const int w A_UNUSED, - const int h A_UNUSED) restrict2 final + const int h A_UNUSED) restrict2 override final { } - void completeCache() restrict2 final; + void completeCache() restrict2 override final; /** * Draws a rectangle using images. 4 corner images, 4 side images and 1 @@ -207,7 +207,7 @@ class SurfaceGraphics final : public Graphics void drawImageRect(const int x A_UNUSED, const int y A_UNUSED, const int w A_UNUSED, const int h A_UNUSED, const ImageRect &restrict imgRect A_UNUSED) - restrict2 final + restrict2 override final { } protected: |