예제 #1
0
 /// <summary>Split this 128-bit UUID into two 64-bit numbers</summary>
 /// <param name="high">Receives the first 8 bytes (in network order) of this UUID</param>
 /// <param name="low">Receives the last 8 bytes (in network order) of this UUID</param>
 public void Split(out ulong high, out ulong low)
 {
     unsafe
     {
         byte *buffer = stackalloc byte[16];
         WriteUnsafe(m_packed, buffer);
         high = Uuid64.ReadUnsafe(buffer);
         low  = Uuid64.ReadUnsafe(buffer + 8);
     }
 }
예제 #2
0
 /// <summary>Split this 128-bit UUID into two 64-bit UUIDs</summary>
 /// <param name="high">Receives the first 8 bytes (in network order) of this UUID</param>
 /// <param name="low">Receives the last 8 bytes (in network order) of this UUID</param>
 public void Split(out Uuid64 high, out Uuid64 low)
 {
     unsafe
     {
         byte *buffer = stackalloc byte[16];
         WriteUnsafe(m_packed, buffer);
         high = new Uuid64(Uuid64.ReadUnsafe(buffer));
         low  = new Uuid64(Uuid64.ReadUnsafe(buffer + 8));
     }
 }
예제 #3
0
 /// <summary>Split this 128-bit UUID into two 64-bit numbers</summary>
 /// <param name="high">Receives the first 8 bytes (in network order) of this UUID</param>
 /// <param name="mid">Receives the middle 4 bytes (in network order) of this UUID</param>
 /// <param name="low">Receives the last 4 bytes (in network order) of this UUID</param>
 public void Split(out ulong high, out uint mid, out uint low)
 {
     unsafe
     {
         byte *buffer = stackalloc byte[16];
         WriteUnsafe(m_packed, buffer);
         high = Uuid64.ReadUnsafe(buffer);
         var id = Uuid64.ReadUnsafe(buffer + 8);
         mid = (uint)(id >> 32);
         low = (uint)id;
     }
 }