summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/framing/SequenceNumberSet.h
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2007-11-16 20:16:23 +0000
committerAlan Conway <aconway@apache.org>2007-11-16 20:16:23 +0000
commit493b528a6ba5961613d4ecea7b81f5b3638dc3d9 (patch)
tree1a64a1498a5d50e0ed5c7bc4dec625ec8aa1e78d /cpp/src/qpid/framing/SequenceNumberSet.h
parentc31a7344ed65dc8201067b95f1a78d1c393e217b (diff)
downloadqpid-python-493b528a6ba5961613d4ecea7b81f5b3638dc3d9.tar.gz
Added qpid::InlineVector - std::vector with inline storage to avoid
heap allocation for small vectors. Made SequenceNumberSet : public InlineVector<SequenceNumber, 2> In 100k perftest reduces heap allocation in client by 40%, broker 9%. . git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@595808 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/framing/SequenceNumberSet.h')
-rw-r--r--cpp/src/qpid/framing/SequenceNumberSet.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/cpp/src/qpid/framing/SequenceNumberSet.h b/cpp/src/qpid/framing/SequenceNumberSet.h
index 9091e7142e..666307f9d9 100644
--- a/cpp/src/qpid/framing/SequenceNumberSet.h
+++ b/cpp/src/qpid/framing/SequenceNumberSet.h
@@ -22,20 +22,21 @@
#define _framing_SequenceNumberSet_h
#include <ostream>
-#include <vector>
#include "amqp_types.h"
#include "Buffer.h"
#include "SequenceNumber.h"
#include "qpid/framing/reply_exceptions.h"
+#include "qpid/InlineVector.h"
namespace qpid {
namespace framing {
-class SequenceNumberSet : public std::vector<SequenceNumber>
-{
+class SequenceNumberSet : public InlineVector<SequenceNumber, 2>
+{
+ typedef InlineVector<SequenceNumber, 2> Base;
public:
- typedef std::vector<SequenceNumber>::const_iterator const_iterator;
- typedef std::vector<SequenceNumber>::iterator iterator;
+ typedef Base::const_iterator const_iterator;
+ typedef Base::iterator iterator;
void encode(Buffer& buffer) const;
void decode(Buffer& buffer);