The only reason for virtual functions appears to be supplying two ints. Inlining virtual functions is an unlikely design. And the implementations just supply constants. Note that copying (with slicing) is allowed.
How about a handle class:
class GLConfiguration
{
public:
GLConfiguration(int depth_buffer_bits = 24, int stencil_buffer_bits = 8);
~GLConfiguration();
int depth_buffer_bits() const;
int stencil_buffer_bits() const;
class GLConfiguration ...
I'm not sure of the design intent here.
The only reason for virtual functions appears to be supplying two ints. Inlining virtual functions is an unlikely design. And the implementations just supply constants. Note that copying (with slicing) is allowed.
How about a handle class:
class GLConfiguration tion(int depth_buffer_bits = 24, int stencil_buffer_bits = 8); ation() ;
{
public:
GLConfigura
~GLConfigur
int depth_buffer_bits() const; buffer_ bits() const;
int stencil_
void operator( )(mir:: Server& server) const;
private: :shared_ ptr<Self> self;
struct Self;
std:
};