1
0
mirror of https://github.com/mfontanini/libtins synced 2026-01-23 02:35:57 +01:00

Fixed some bugs. Added documentation.

This commit is contained in:
Matias Fontanini
2012-10-20 11:12:59 -03:00
parent abaa2bf926
commit 5fd892c77e
10 changed files with 115 additions and 82 deletions

View File

@@ -33,6 +33,7 @@
#include <string>
#include <iterator>
#include <pcap.h>
#include "utils.h"
namespace Tins {
class PDU;
@@ -82,27 +83,10 @@ public:
*/
template<typename ForwardIterator>
void write(ForwardIterator start, ForwardIterator end) {
typedef typename std::iterator_traits<ForwardIterator>::value_type value_type;
typedef derefer<value_type> deref_type;
while(start != end)
write(deref_type::deref(*start++));
write(Utils::dereference_until_pdu(*start++));
}
private:
template<typename T>
struct derefer {
static T &deref(T &value) {
return value;
}
};
template<typename T>
struct derefer<T*> {
static T &deref(T *value) {
return *value;
}
};
// You shall not copy
PacketWriter(const PacketWriter&);
PacketWriter& operator=(const PacketWriter&);