15 #include <vsg/io/Options.h>
16 #include <vsg/io/Output.h>
37 void _write(
size_t num,
const T* value)
39 _output.write(
reinterpret_cast<const char*
>(value), num *
sizeof(T));
43 void write(
size_t num,
const int8_t* value)
override { _write(num, value); }
44 void write(
size_t num,
const uint8_t* value)
override { _write(num, value); }
45 void write(
size_t num,
const int16_t* value)
override { _write(num, value); }
46 void write(
size_t num,
const uint16_t* value)
override { _write(num, value); }
47 void write(
size_t num,
const int32_t* value)
override { _write(num, value); }
48 void write(
size_t num,
const uint32_t* value)
override { _write(num, value); }
49 void write(
size_t num,
const int64_t* value)
override { _write(num, value); }
50 void write(
size_t num,
const uint64_t* value)
override { _write(num, value); }
51 void write(
size_t num,
const float* value)
override { _write(num, value); }
52 void write(
size_t num,
const double* value)
override { _write(num, value); }
54 void _write(
const std::string& str)
56 uint32_t size =
static_cast<uint32_t
>(str.size());
57 _output.write(
reinterpret_cast<const char*
>(&size),
sizeof(uint32_t));
58 _output.write(str.c_str(), size);
61 void write(
size_t num,
const std::string* value)
override;
62 void write(
size_t num,
const Path* value)
override;
68 std::ostream& _output;
Definition: BinaryOutput.h:26
void writeEndOfLine() override
write end of line a non op for binary
Definition: BinaryOutput.h:34
void write(const vsg::Object *object) override
write object
void writePropertyName(const char *) override
write property name an non op for binary
Definition: BinaryOutput.h:31
void write(size_t num, const int8_t *value) override
write contiguous array of value(s)
Definition: BinaryOutput.h:43