Преглед изворни кода

AK: Add Byte accessors for BigEndian and LittleEndian

Tim Schumacher пре 2 година
родитељ
комит
35bcdefdf7
1 измењених фајлова са 8 додато и 0 уклоњено
  1. 8 0
      AK/Endian.h

+ 8 - 0
AK/Endian.h

@@ -100,6 +100,10 @@ public:
 
     constexpr operator T() const { return convert_between_host_and_little_endian(m_value); }
 
+    // This returns the internal representation. In this case, that is the value stored in little endian format.
+    constexpr Bytes bytes() { return Bytes { &m_value, sizeof(m_value) }; }
+    constexpr ReadonlyBytes bytes() const { return ReadonlyBytes { &m_value, sizeof(m_value) }; }
+
 private:
     T m_value { 0 };
 };
@@ -128,6 +132,10 @@ public:
 
     constexpr operator T() const { return convert_between_host_and_big_endian(m_value); }
 
+    // This returns the internal representation. In this case, that is the value stored in big endian format.
+    constexpr Bytes bytes() { return Bytes { &m_value, sizeof(m_value) }; }
+    constexpr ReadonlyBytes bytes() const { return ReadonlyBytes { &m_value, sizeof(m_value) }; }
+
 private:
     T m_value { 0 };
 };