Files
scandocs/uni/masterarbeit/source/moversight/ut/MessagReferenceCircularBuffer.h
2014-06-30 13:58:10 +02:00

60 lines
1.6 KiB
C++

/*
* File: MessagReferenceCircularBuffer.h
* Author: jgaebler
*
* Created on October 29, 2012, 9:05 AM
*/
#pragma once
#ifndef MESSAGREFERENCECIRCULARBUFFER_H
#define MESSAGREFERENCECIRCULARBUFFER_H
#include "common/Defines.h"
#include "common/transport/MessageReference.h"
#include "common/container/CircularBuffer.h"
namespace ubeeme {
namespace moversight {
class MessageReferenceCircularBuffer : public CircularBuffer<MessageReference> {
public:
/**
* @brief Constructor. Creates an circular buffer, witch stores at most 50 elements.
*/
MessageReferenceCircularBuffer() : CircularBuffer<MessageReference>(50) {
}
/**
* @brief Constructor
* @param size The size of the circular buffer
*/
MessageReferenceCircularBuffer(size_t size) : CircularBuffer<MessageReference>(size) {
}
/**
* @brief Determines, if the given message reference stored in the buffer.
* @param mRef The message reference to check.
* @return True, if the given message reference already stored in the buffer, false otherwise.
*/
bool contains(MessageReference const & mRef) const {
for (size_t i = 0; i < size(); i++) {
MessageReference local = get(i);
if(local == mRef){
return true;
}
}
return false;
}
};
}
}
#endif /* MESSAGREFERENCECIRCULARBUFFER_H */