more C++11 specifier

This commit is contained in:
Uwe Rathmann 2020-05-03 13:40:19 +02:00
parent 5fe6a9beb0
commit 2dece458e4
2 changed files with 40 additions and 47 deletions

View File

@ -22,24 +22,12 @@ static inline qreal qskAbsoluted( qreal length, qreal percentage )
return percentage / 100.0 * 0.5 * length; return percentage / 100.0 * 0.5 * length;
} }
QskBoxBorderMetrics::~QskBoxBorderMetrics() void QskBoxBorderMetrics::setSizeMode( Qt::SizeMode sizeMode ) noexcept
{
}
bool QskBoxBorderMetrics::operator==( const QskBoxBorderMetrics& other ) const
{
if ( m_sizeMode != other.m_sizeMode )
return false;
return m_widths == other.m_widths;
}
void QskBoxBorderMetrics::setSizeMode( Qt::SizeMode sizeMode )
{ {
m_sizeMode = sizeMode; m_sizeMode = sizeMode;
} }
void QskBoxBorderMetrics::setWidths( const QskMargins& widths ) void QskBoxBorderMetrics::setWidths( const QskMargins& widths ) noexcept
{ {
m_widths.setLeft( qMax( widths.left(), 0.0 ) ); m_widths.setLeft( qMax( widths.left(), 0.0 ) );
m_widths.setTop( qMax( widths.top(), 0.0 ) ); m_widths.setTop( qMax( widths.top(), 0.0 ) );
@ -47,12 +35,12 @@ void QskBoxBorderMetrics::setWidths( const QskMargins& widths )
m_widths.setBottom( qMax( widths.bottom(), 0.0 ) ); m_widths.setBottom( qMax( widths.bottom(), 0.0 ) );
} }
void QskBoxBorderMetrics::setWidthAt( Qt::Edges edges, qreal width ) void QskBoxBorderMetrics::setWidthAt( Qt::Edges edges, qreal width ) noexcept
{ {
m_widths.setMarginsAt( edges, qMax( width, 0.0 ) ); m_widths.setMarginsAt( edges, qMax( width, 0.0 ) );
} }
QskBoxBorderMetrics QskBoxBorderMetrics::toAbsolute( const QSizeF& size ) const QskBoxBorderMetrics QskBoxBorderMetrics::toAbsolute( const QSizeF& size ) const noexcept
{ {
if ( m_sizeMode != Qt::RelativeSize ) if ( m_sizeMode != Qt::RelativeSize )
return *this; return *this;
@ -79,7 +67,7 @@ QskBoxBorderMetrics QskBoxBorderMetrics::toAbsolute( const QSizeF& size ) const
} }
QskBoxBorderMetrics QskBoxBorderMetrics::interpolated( QskBoxBorderMetrics QskBoxBorderMetrics::interpolated(
const QskBoxBorderMetrics& to, qreal ratio ) const const QskBoxBorderMetrics& to, qreal ratio ) const noexcept
{ {
if ( ( *this == to ) || ( m_sizeMode != to.m_sizeMode ) ) if ( ( *this == to ) || ( m_sizeMode != to.m_sizeMode ) )
return to; return to;
@ -95,7 +83,7 @@ QVariant QskBoxBorderMetrics::interpolate(
return QVariant::fromValue( from.interpolated( to, progress ) ); return QVariant::fromValue( from.interpolated( to, progress ) );
} }
uint QskBoxBorderMetrics::hash( uint seed ) const uint QskBoxBorderMetrics::hash( uint seed ) const noexcept
{ {
uint hash = qHashBits( &m_widths, sizeof( m_widths ), seed ); uint hash = qHashBits( &m_widths, sizeof( m_widths ), seed );

View File

@ -12,45 +12,42 @@
#include <qnamespace.h> #include <qnamespace.h>
#include <qsize.h> #include <qsize.h>
class QDebug;
class QVariant; class QVariant;
class QSK_EXPORT QskBoxBorderMetrics class QSK_EXPORT QskBoxBorderMetrics
{ {
public: public:
constexpr QskBoxBorderMetrics(); constexpr QskBoxBorderMetrics() noexcept;
constexpr QskBoxBorderMetrics( constexpr QskBoxBorderMetrics(
qreal width, Qt::SizeMode = Qt::AbsoluteSize ); qreal width, Qt::SizeMode = Qt::AbsoluteSize ) noexcept;
constexpr QskBoxBorderMetrics( qreal left, qreal top, constexpr QskBoxBorderMetrics( qreal left, qreal top,
qreal right, qreal bottom, Qt::SizeMode = Qt::AbsoluteSize ); qreal right, qreal bottom, Qt::SizeMode = Qt::AbsoluteSize ) noexcept;
constexpr QskBoxBorderMetrics( constexpr QskBoxBorderMetrics( const QskMargins& widths,
const QskMargins& widths, Qt::SizeMode sizeMode = Qt::AbsoluteSize ); Qt::SizeMode sizeMode = Qt::AbsoluteSize ) noexcept;
~QskBoxBorderMetrics(); constexpr bool operator==( const QskBoxBorderMetrics& ) const noexcept;
constexpr bool operator!=( const QskBoxBorderMetrics& ) const noexcept;
bool operator==( const QskBoxBorderMetrics& ) const; constexpr bool isNull() const noexcept;
bool operator!=( const QskBoxBorderMetrics& ) const;
bool isNull() const; void setWidthAt( Qt::Edges, qreal width ) noexcept;
qreal widthAt( Qt::Edge ) const noexcept;
void setWidthAt( Qt::Edges, qreal width ); void setWidths( const QskMargins& ) noexcept;
qreal widthAt( Qt::Edge ) const; constexpr const QskMargins& widths() const noexcept;
void setWidths( const QskMargins& ); void setSizeMode( Qt::SizeMode ) noexcept;
const QskMargins& widths() const; constexpr Qt::SizeMode sizeMode() const noexcept;
void setSizeMode( Qt::SizeMode );
Qt::SizeMode sizeMode() const;
QskBoxBorderMetrics interpolated( QskBoxBorderMetrics interpolated(
const QskBoxBorderMetrics&, qreal value ) const; const QskBoxBorderMetrics&, qreal value ) const noexcept;
QskBoxBorderMetrics toAbsolute( const QSizeF& ) const; QskBoxBorderMetrics toAbsolute( const QSizeF& ) const noexcept;
uint hash( uint seed = 0 ) const; uint hash( uint seed = 0 ) const noexcept;
static QVariant interpolate( const QskBoxBorderMetrics&, static QVariant interpolate( const QskBoxBorderMetrics&,
const QskBoxBorderMetrics&, qreal progress ); const QskBoxBorderMetrics&, qreal progress );
@ -60,59 +57,67 @@ class QSK_EXPORT QskBoxBorderMetrics
Qt::SizeMode m_sizeMode : 2; Qt::SizeMode m_sizeMode : 2;
}; };
inline constexpr QskBoxBorderMetrics::QskBoxBorderMetrics() inline constexpr QskBoxBorderMetrics::QskBoxBorderMetrics() noexcept
: m_sizeMode( Qt::AbsoluteSize ) : m_sizeMode( Qt::AbsoluteSize )
{ {
} }
inline constexpr QskBoxBorderMetrics::QskBoxBorderMetrics( inline constexpr QskBoxBorderMetrics::QskBoxBorderMetrics(
qreal width, Qt::SizeMode sizeMode ) qreal width, Qt::SizeMode sizeMode ) noexcept
: m_widths( width ) : m_widths( width )
, m_sizeMode( sizeMode ) , m_sizeMode( sizeMode )
{ {
} }
inline constexpr QskBoxBorderMetrics::QskBoxBorderMetrics( inline constexpr QskBoxBorderMetrics::QskBoxBorderMetrics(
const QskMargins& widths, Qt::SizeMode sizeMode ) const QskMargins& widths, Qt::SizeMode sizeMode ) noexcept
: m_widths( widths ) : m_widths( widths )
, m_sizeMode( sizeMode ) , m_sizeMode( sizeMode )
{ {
} }
inline constexpr QskBoxBorderMetrics::QskBoxBorderMetrics( inline constexpr QskBoxBorderMetrics::QskBoxBorderMetrics(
qreal left, qreal top, qreal right, qreal bottom, Qt::SizeMode sizeMode ) qreal left, qreal top, qreal right, qreal bottom, Qt::SizeMode sizeMode ) noexcept
: m_widths( left, top, right, bottom ) : m_widths( left, top, right, bottom )
, m_sizeMode( sizeMode ) , m_sizeMode( sizeMode )
{ {
} }
inline bool QskBoxBorderMetrics::operator!=( const QskBoxBorderMetrics& other ) const inline constexpr bool QskBoxBorderMetrics::operator==(
const QskBoxBorderMetrics& other ) const noexcept
{
return ( m_sizeMode == other.m_sizeMode ) && ( m_widths == other.m_widths );
}
inline constexpr bool QskBoxBorderMetrics::operator!=(
const QskBoxBorderMetrics& other ) const noexcept
{ {
return !( *this == other ); return !( *this == other );
} }
inline bool QskBoxBorderMetrics::isNull() const inline constexpr bool QskBoxBorderMetrics::isNull() const noexcept
{ {
return m_widths.isNull(); return m_widths.isNull();
} }
inline const QskMargins& QskBoxBorderMetrics::widths() const inline constexpr const QskMargins& QskBoxBorderMetrics::widths() const noexcept
{ {
return m_widths; return m_widths;
} }
inline qreal QskBoxBorderMetrics::widthAt( Qt::Edge edge ) const inline qreal QskBoxBorderMetrics::widthAt( Qt::Edge edge ) const noexcept
{ {
return m_widths.marginAt( edge ); return m_widths.marginAt( edge );
} }
inline Qt::SizeMode QskBoxBorderMetrics::sizeMode() const inline constexpr Qt::SizeMode QskBoxBorderMetrics::sizeMode() const noexcept
{ {
return m_sizeMode; return m_sizeMode;
} }
#ifndef QT_NO_DEBUG_STREAM #ifndef QT_NO_DEBUG_STREAM
class QDebug;
QSK_EXPORT QDebug operator<<( QDebug, const QskBoxBorderMetrics& ); QSK_EXPORT QDebug operator<<( QDebug, const QskBoxBorderMetrics& );
#endif #endif