From 301ed73487336677a055a60787c2f2f145bdc5d2 Mon Sep 17 00:00:00 2001 From: Andrei Golubev Date: Tue, 13 Oct 2020 10:14:13 +0200 Subject: Convert QList alias definitions to 'using' Modern syntax for type aliases looks much nicer and is easier to read. Additionally, QDoc is able to generate better documentation for 'using' based aliases. Also, aliases are simplified for QDoc Task-number: QTBUG-86553 Change-Id: I44932fbd94f32c1463eafedd1b48c1e840b697e3 Reviewed-by: Lars Knoll Reviewed-by: Paul Wicking Reviewed-by: Thiago Macieira --- src/corelib/tools/qlist.h | 46 ++++++++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 18 deletions(-) (limited to 'src/corelib/tools/qlist.h') diff --git a/src/corelib/tools/qlist.h b/src/corelib/tools/qlist.h index 34d67c7c92..c7b96a59d6 100644 --- a/src/corelib/tools/qlist.h +++ b/src/corelib/tools/qlist.h @@ -84,9 +84,9 @@ class QList : public QListSpecialMethods #endif { - typedef QTypedArrayData Data; - typedef QArrayDataOps DataOps; - typedef QArrayDataPointer DataPointer; + using Data = QTypedArrayData; + using DataOps = QArrayDataOps; + using DataPointer = QArrayDataPointer; class DisableRValueRefs {}; DataPointer d; @@ -95,22 +95,32 @@ class QList template friend qsizetype QtPrivate::lastIndexOf(const QList &list, const U &u, qsizetype from) noexcept; public: - typedef T Type; - typedef T value_type; - typedef value_type *pointer; - typedef const value_type *const_pointer; - typedef value_type &reference; - typedef const value_type &const_reference; - typedef qsizetype size_type; - typedef qptrdiff difference_type; - typedef typename Data::iterator iterator; - typedef typename Data::const_iterator const_iterator; - typedef iterator Iterator; - typedef const_iterator ConstIterator; - typedef std::reverse_iterator reverse_iterator; - typedef std::reverse_iterator const_reverse_iterator; - typedef typename DataPointer::parameter_type parameter_type; + using Type = T; + using value_type = T; + using pointer = T *; + using const_pointer = const T *; + using reference = T &; + using const_reference = const T &; + using size_type = qsizetype; + using difference_type = qptrdiff; +#ifndef Q_QDOC + using iterator = typename Data::iterator; + using const_iterator = typename Data::const_iterator; +#else // simplified aliases for QDoc + using iterator = T *; + using const_iterator = const T *; +#endif + using Iterator = iterator; + using ConstIterator = const_iterator; + using reverse_iterator = std::reverse_iterator; + using const_reverse_iterator = std::reverse_iterator; +#ifndef Q_QDOC + using parameter_type = typename DataPointer::parameter_type; using rvalue_ref = typename std::conditional::type; +#else // simplified aliases for QDoc + using parameter_type = const T &; + using rvalue_ref = T &&; +#endif private: void resize_internal(qsizetype i, Qt::Initialization); -- cgit v1.2.3