diff --git a/src/blackmisc/sequence.h b/src/blackmisc/sequence.h index 9a98e7d98..a6524194e 100644 --- a/src/blackmisc/sequence.h +++ b/src/blackmisc/sequence.h @@ -148,6 +148,11 @@ namespace BlackMisc */ const_reference front() const { Q_ASSERT(!empty()); return pimpl()->front(); } + /*! + * \brief Access the first element, or a default-initialized value if the sequence is empty. + */ + const_reference frontOrDefault() const { static const value_type def; return empty() ? def : front(); } + /*! * \brief Access the last element. * \pre The sequence must not be empty. @@ -160,6 +165,11 @@ namespace BlackMisc */ const_reference back() const { Q_ASSERT(!empty()); return pimpl()->back(); } + /*! + * \brief Access the last element, or a default-initialized value if the sequence is empty. + */ + const_reference backOrDefault() const { static const value_type def; return empty() ? def : back(); } + /*! * \brief Returns number of elements in the sequence. */