src/common/mtag-buffer.cc
changeset 3037 b0f12f3a75b3
parent 3035 644bfc099992
child 3040 e11e106c7c19
--- a/src/common/mtag-buffer.cc	Thu Apr 24 14:58:17 2008 -0700
+++ b/src/common/mtag-buffer.cc	Thu Apr 24 15:44:15 2008 -0700
@@ -36,6 +36,23 @@
   WriteU8 ((data >> 48) & 0xff);
   WriteU8 ((data >> 54) & 0xff);
 }
+void
+MtagBuffer::WriteDouble (double v)
+{
+  uint8_t *buf = (uint8_t *)&v;
+  for (uint32_t i = 0; i < sizeof (double); ++i, ++buf)
+    {
+      WriteU8 (*buf);
+    }
+}
+void 
+MtagBuffer::Write (const uint8_t *buffer, uint32_t size)
+{
+  for (uint32_t i = 0; i < size; ++i, ++buffer)
+    {
+      WriteU8 (*buffer);
+    }
+}
 uint8_t  
 MtagBuffer::ReadU8 (void)
 {
@@ -100,6 +117,25 @@
 
   return data;
 }
+double
+MtagBuffer::ReadDouble (void)
+{
+  double v;
+  uint8_t *buf = (uint8_t *)&v;
+  for (uint32_t i = 0; i < sizeof (double); ++i, ++buf)
+    {
+      *buf = ReadU8 ();
+    }
+  return v;
+}
+void 
+MtagBuffer::Read (uint8_t *buffer, uint32_t size)
+{
+  for (uint32_t i = 0; i < size; ++i, ++buffer)
+    {
+      *buffer = ReadU8 ();
+    }
+}
 MtagBuffer::MtagBuffer (uint8_t *start, uint8_t *end)
   : m_current (start),
     m_end (end)