Doxygen
Loading...
Searching...
No Matches
MemberVector Class Reference

A vector of MemberDef object. More...

#include <src/memberlist.h>

Inheritance diagram for MemberVector:

Public Types

using T = MemberDef*
using Vec = std::vector<T>
using value_type = Vec::value_type
using allocator_type = Vec::allocator_type
using size_type = Vec::size_type
using difference_type = Vec::difference_type
using reference = Vec::reference
using const_reference = Vec::const_reference
using iterator = Vec::iterator
using const_iterator = Vec::const_iterator

Public Member Functions

void push_back (const T &value)
void push_back (T &&value)
iterator erase (iterator pos)
iterator erase (const_iterator pos)
iterator begin () noexcept
const_iterator begin () const noexcept
iterator end () noexcept
const_iterator end () const noexcept
size_type size () const noexcept
bool empty () const noexcept
reference front ()
const_reference front () const
reference back ()
const_reference back () const
reference operator[] (size_type pos)
const_reference operator[] (size_type pos) const
void sort ()
void inSort (MemberDef *md)
void remove (const MemberDef *md)
bool contains (const MemberDef *md) const
const MemberDeffind (const DString &name) const
MemberDeffind (const DString &name)
const MemberDeffindRev (const DString &name) const
MemberDeffindRev (const DString &name)

Static Public Member Functions

static bool lessThan (const MemberDef *md1, const MemberDef *md2)

Protected Attributes

Vec m_members

Detailed Description

A vector of MemberDef object.

Definition at line 35 of file memberlist.h.

Member Typedef Documentation

◆ allocator_type

using MemberVector::allocator_type = Vec::allocator_type

Definition at line 41 of file memberlist.h.

◆ const_iterator

using MemberVector::const_iterator = Vec::const_iterator

Definition at line 47 of file memberlist.h.

◆ const_reference

using MemberVector::const_reference = Vec::const_reference

Definition at line 45 of file memberlist.h.

◆ difference_type

using MemberVector::difference_type = Vec::difference_type

Definition at line 43 of file memberlist.h.

◆ iterator

using MemberVector::iterator = Vec::iterator

Definition at line 46 of file memberlist.h.

◆ reference

using MemberVector::reference = Vec::reference

Definition at line 44 of file memberlist.h.

◆ size_type

using MemberVector::size_type = Vec::size_type

Definition at line 42 of file memberlist.h.

◆ T

Definition at line 38 of file memberlist.h.

◆ value_type

using MemberVector::value_type = Vec::value_type

Definition at line 40 of file memberlist.h.

◆ Vec

using MemberVector::Vec = std::vector<T>

Definition at line 39 of file memberlist.h.

Member Function Documentation

◆ back() [1/2]

reference MemberVector::back ( )
inline

Definition at line 66 of file memberlist.h.

66{ return m_members.back(); }

References m_members.

◆ back() [2/2]

const_reference MemberVector::back ( ) const
inline

Definition at line 67 of file memberlist.h.

67{ return m_members.back(); }

References m_members.

◆ begin() [1/2]

const_iterator MemberVector::begin ( ) const
inlinenoexcept

Definition at line 56 of file memberlist.h.

56{ return m_members.begin(); }

References m_members.

◆ begin() [2/2]

iterator MemberVector::begin ( )
inlinenoexcept

Definition at line 55 of file memberlist.h.

55{ return m_members.begin(); }

References m_members.

Referenced by MemberDefImpl::_writeReimplementedBy(), refMapToVector(), and writeMemberToIndex().

◆ contains()

bool MemberVector::contains ( const MemberDef * md) const
inline

Definition at line 90 of file memberlist.h.

91 {
92 return std::find(m_members.begin(),m_members.end(),md)!=m_members.end();
93 }

References m_members.

Referenced by ModuleDefImpl::addMemberToModule(), FileDefImpl::insertMember(), and MemberDefImpl::insertReimplementedBy().

◆ empty()

◆ end() [1/2]

const_iterator MemberVector::end ( ) const
inlinenoexcept

Definition at line 58 of file memberlist.h.

58{ return m_members.end(); }

References m_members.

◆ end() [2/2]

iterator MemberVector::end ( )
inlinenoexcept

Definition at line 57 of file memberlist.h.

57{ return m_members.end(); }

References m_members.

Referenced by MemberDefImpl::_writeReimplementedBy(), refMapToVector(), and writeMemberToIndex().

◆ erase() [1/2]

iterator MemberVector::erase ( const_iterator pos)
inline

Definition at line 53 of file memberlist.h.

53{ return m_members.erase(pos); }

References m_members.

◆ erase() [2/2]

iterator MemberVector::erase ( iterator pos)
inline

Definition at line 52 of file memberlist.h.

52{ return m_members.erase(pos); }

References m_members.

Referenced by remove().

◆ find() [1/2]

MemberDef * MemberVector::find ( const DString & name)
inline

Definition at line 103 of file memberlist.h.

104 {
105 return const_cast<MemberDef *>(static_cast<const MemberVector *>(this)->find(name));
106 }

References find().

◆ find() [2/2]

const MemberDef * MemberVector::find ( const DString & name) const
inline

Definition at line 94 of file memberlist.h.

95 {
96 auto it = std::find_if(m_members.begin(),m_members.end(),[name=name](auto &el) { return el->name()==name; });
97 if (it != m_members.end())
98 {
99 return *it;
100 }
101 return nullptr;
102 }

References m_members.

Referenced by find(), and tryAddEnumDocsToGroupMember().

◆ findRev() [1/2]

MemberDef * MemberVector::findRev ( const DString & name)
inline

Definition at line 116 of file memberlist.h.

117 {
118 return const_cast<MemberDef *>(static_cast<const MemberVector *>(this)->findRev(name));
119 }

References findRev().

◆ findRev() [2/2]

const MemberDef * MemberVector::findRev ( const DString & name) const
inline

Definition at line 107 of file memberlist.h.

108 {
109 auto it = std::find_if(m_members.rbegin(),m_members.rend(),[name=name](auto &el) { return el->name()==name; });
110 if (it != m_members.rend())
111 {
112 return *it;
113 }
114 return nullptr;
115 }

References m_members.

Referenced by buildDefineList(), and findRev().

◆ front() [1/2]

reference MemberVector::front ( )
inline

Definition at line 63 of file memberlist.h.

63{ return m_members.front(); }

References m_members.

◆ front() [2/2]

const_reference MemberVector::front ( ) const
inline

Definition at line 64 of file memberlist.h.

64{ return m_members.front(); }

References m_members.

◆ inSort()

void MemberVector::inSort ( MemberDef * md)
inline

Definition at line 81 of file memberlist.h.

82 {
83 m_members.insert( std::upper_bound( m_members.begin(), m_members.end(), md, lessThan), md);
84 }
static bool lessThan(const MemberDef *md1, const MemberDef *md2)
Definition memberlist.h:73

References lessThan(), and m_members.

Referenced by MemberDefImpl::insertReimplementedBy().

◆ lessThan()

bool MemberVector::lessThan ( const MemberDef * md1,
const MemberDef * md2 )
inlinestatic

Definition at line 73 of file memberlist.h.

74 {
75 return genericCompareMembers(md1,md2)<0;
76 }
int genericCompareMembers(const MemberDef *c1, const MemberDef *c2)

References genericCompareMembers().

Referenced by inSort(), and sort().

◆ operator[]() [1/2]

reference MemberVector::operator[] ( size_type pos)
inline

Definition at line 69 of file memberlist.h.

69{ return m_members.operator[](pos); }

References m_members.

◆ operator[]() [2/2]

const_reference MemberVector::operator[] ( size_type pos) const
inline

Definition at line 70 of file memberlist.h.

70{ return m_members.operator[](pos); }

References m_members.

◆ push_back() [1/2]

void MemberVector::push_back ( const T & value)
inline

◆ push_back() [2/2]

void MemberVector::push_back ( T && value)
inline

Definition at line 50 of file memberlist.h.

50{ m_members.push_back(std::move(value)); }

References m_members.

◆ remove()

void MemberVector::remove ( const MemberDef * md)
inline

Definition at line 85 of file memberlist.h.

86 {
87 auto it = std::find(m_members.begin(),m_members.end(),md);
88 if (it!=m_members.end()) erase(it);
89 }
iterator erase(iterator pos)
Definition memberlist.h:52

References erase(), and m_members.

Referenced by addMembersToMemberGroup(), FileDefImpl::removeMemberFromList(), and GroupDefImpl::removeMemberFromList().

◆ size()

size_type MemberVector::size ( ) const
inlinenoexcept

Definition at line 60 of file memberlist.h.

60{ return m_members.size(); }

References m_members.

Referenced by GroupDefImpl::numDocMembers().

◆ sort()

void MemberVector::sort ( )
inline

Member Data Documentation

◆ m_members


The documentation for this class was generated from the following file: