56#ifndef LASS_GUARDIAN_OF_INCLUSION_IO_BINARY_STREAM_BASE_H
57#define LASS_GUARDIAN_OF_INCLUSION_IO_BINARY_STREAM_BASE_H
72class LASS_DLL BinaryStreamBase:
public StreamBase
75 using pos_type = size_t;
76#if LASS_COMPILER_TYPE == LASS_COMPILER_TYPE_MSVC && LASS_ADDRESS_SIZE == 64
77 using off_type = __int64;
79 using off_type = long;
82 static_assert(num::NumTraits<off_type>::max < num::NumTraits<pos_type>::max,
"max off_type value must fit in pos_type");
84 num::Endianness endianness()
const {
return streamEndianness_; }
85 void setEndianness(num::Endianness iEndianness) { streamEndianness_ = iEndianness; }
89 BinaryStreamBase(num::Endianness iEndianness = num::littleEndian);
90 virtual ~BinaryStreamBase();
94 num::Endianness streamEndianness_;
107 num::Endianness oldEndianness_;
Base class for LASS binary streams with byte-order househoulding.
use as base class if derived should not be copyable
#define LASS_DLL
DLL interface: import or export symbols?
streams, binary streams, vrmlstreams, ...
Library for Assembled Shared Sources.