summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-04-25 19:42:51 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-04-25 19:42:51 (GMT)
commit9165a15b7ee8e9e8f1e50412b8dacebf77432ea1 (patch)
tree2681ae8f8060088361ef9ae7a1c28081b1895d4c /src
parent44a19079003d62fb600e8d952a2ea7b6b2b23d22 (diff)
downloadDoxygen-9165a15b7ee8e9e8f1e50412b8dacebf77432ea1.zip
Doxygen-9165a15b7ee8e9e8f1e50412b8dacebf77432ea1.tar.gz
Doxygen-9165a15b7ee8e9e8f1e50412b8dacebf77432ea1.tar.bz2
Refactor: better encapsulation for MemberName
Diffstat (limited to 'src')
-rw-r--r--src/arguments.h2
-rw-r--r--src/membername.h27
2 files changed, 28 insertions, 1 deletions
diff --git a/src/arguments.h b/src/arguments.h
index 2da6cc9..491b582 100644
--- a/src/arguments.h
+++ b/src/arguments.h
@@ -87,6 +87,8 @@ class ArgumentList
iterator end() { return m_args.end(); }
const_iterator begin() const { return m_args.cbegin(); }
const_iterator end() const { return m_args.cend(); }
+ const_iterator cbegin() const { return m_args.cbegin(); }
+ const_iterator cend() const { return m_args.cend(); }
bool empty() const { return m_args.empty(); }
int size() const { return m_args.size(); }
void clear() { m_args.clear(); }
diff --git a/src/membername.h b/src/membername.h
index 4094132..8d0ad7c 100644
--- a/src/membername.h
+++ b/src/membername.h
@@ -23,13 +23,38 @@
#include "sortdict.h"
#include "linkedmap.h"
-class MemberName : public std::vector< std::unique_ptr<MemberDef> >
+class MemberName
{
public:
+ using Ptr = std::unique_ptr<MemberDef>;
+ using Vec = std::vector<Ptr>;
+ using iterator = typename Vec::iterator;
+ using const_iterator = typename Vec::const_iterator;
+ using reverse_iterator = typename Vec::reverse_iterator;
+ using const_reverse_iterator = typename Vec::const_reverse_iterator;
+
MemberName(const char *name) : m_name(name) {}
const char *memberName() const { return m_name; }
+
+ iterator begin() { return m_members.begin(); }
+ iterator end() { return m_members.end(); }
+ const_iterator cbegin() const { return m_members.cbegin(); }
+ const_iterator cend() const { return m_members.cend(); }
+ reverse_iterator rbegin() { return m_members.rbegin(); }
+ reverse_iterator rend() { return m_members.rend(); }
+ const_reverse_iterator crbegin() const { return m_members.crbegin(); }
+ const_reverse_iterator crend() const { return m_members.crend(); }
+ bool empty() const { return m_members.empty(); }
+ int size() const { return m_members.size(); }
+ Ptr &back() { return m_members.back(); }
+ const Ptr &back() const { return m_members.back(); }
+ Ptr &front() { return m_members.front(); }
+ const Ptr &front() const { return m_members.front(); }
+ void push_back(Ptr &&p) { m_members.push_back(std::move(p)); }
+
private:
QCString m_name;
+ Vec m_members;
};
/** Ordered dictionary of MemberName objects. */