Core/Serialization: Add bit serialization
Former-commit-id: dbaf3a2d40a85955b4d48efba72a5df9d92d0eb1
This commit is contained in:
@@ -2,16 +2,29 @@
|
||||
// This file is part of the "Nazara Engine - Core module"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#include <Nazara/Core/Algorithm.hpp>
|
||||
#include <Nazara/Core/Debug.hpp>
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
inline Serializer::Serializer(Stream& stream)
|
||||
{
|
||||
m_serializationContext.currentBitPos = 8;
|
||||
m_serializationContext.endianness = Endianness_BigEndian;
|
||||
m_serializationContext.stream = &stream;
|
||||
}
|
||||
|
||||
inline Serializer::~Serializer()
|
||||
{
|
||||
if (m_serializationContext.currentBitPos != 8)
|
||||
{
|
||||
m_serializationContext.currentBitPos = 8; //< To prevent Serialize to flush bits itself
|
||||
|
||||
if (!Serialize<UInt8>(m_serializationContext, m_serializationContext.currentByte))
|
||||
NazaraWarning("Failed to flush bits at serializer destruction");
|
||||
}
|
||||
}
|
||||
|
||||
inline Endianness Serializer::GetDataEndianness() const
|
||||
{
|
||||
return m_serializationContext.endianness;
|
||||
@@ -43,3 +56,4 @@ namespace Nz
|
||||
}
|
||||
|
||||
#include <Nazara/Core/DebugOff.hpp>
|
||||
#include "Serializer.hpp"
|
||||
|
||||
Reference in New Issue
Block a user