Skip to content

Commit 52c4a74

Browse files
authored
Merge pull request #98 from laplaceyang/pr_iterator
add iterator for msgs access of mulitpart_t
2 parents e2c1108 + 5cd8482 commit 52c4a74

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

zmq_addon.hpp

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,13 @@ class multipart_t
4646
std::deque<message_t> m_parts;
4747

4848
public:
49+
50+
typedef std::deque<message_t>::iterator iterator;
51+
typedef std::deque<message_t>::const_iterator const_iterator;
52+
53+
typedef std::deque<message_t>::reverse_iterator reverse_iterator;
54+
typedef std::deque<message_t>::const_reverse_iterator const_reverse_iterator;
55+
4956
// Default constructor
5057
multipart_t()
5158
{}
@@ -113,6 +120,56 @@ class multipart_t
113120
return m_parts.at(n);
114121
}
115122

123+
iterator begin()
124+
{
125+
return m_parts.begin();
126+
}
127+
128+
const_iterator begin() const
129+
{
130+
return m_parts.begin();
131+
}
132+
133+
const_iterator cbegin() const
134+
{
135+
return m_parts.cbegin();
136+
}
137+
138+
reverse_iterator rbegin()
139+
{
140+
return m_parts.rbegin();
141+
}
142+
143+
const_reverse_iterator rbegin() const
144+
{
145+
return m_parts.rbegin();
146+
}
147+
148+
iterator end()
149+
{
150+
return m_parts.end();
151+
}
152+
153+
const_iterator end() const
154+
{
155+
return m_parts.end();
156+
}
157+
158+
const_iterator cend() const
159+
{
160+
return m_parts.cend();
161+
}
162+
163+
reverse_iterator rend()
164+
{
165+
return m_parts.rend();
166+
}
167+
168+
const_reverse_iterator rend() const
169+
{
170+
return m_parts.rend();
171+
}
172+
116173
// Delete all parts
117174
void clear()
118175
{

0 commit comments

Comments
 (0)