sirit/src/stream.h

35 lines
621 B
C
Raw Normal View History

2018-08-26 00:16:37 +01:00
/* This file is part of the sirit project.
2019-07-14 22:48:59 +01:00
* Copyright (c) 2019 sirit
* This software may be used and distributed according to the terms of the
* 3-Clause BSD License
2018-08-26 00:16:37 +01:00
*/
#pragma once
#include <string_view>
2018-08-26 00:16:37 +01:00
#include <vector>
2019-03-11 06:26:21 +00:00
#include "common_types.h"
2018-08-26 00:16:37 +01:00
namespace Sirit {
class Stream {
2019-03-11 06:26:21 +00:00
public:
explicit Stream(std::vector<u32>& words);
2018-08-26 00:16:37 +01:00
~Stream();
2018-10-03 04:32:45 +01:00
void Write(std::string_view string);
2018-08-26 00:16:37 +01:00
void Write(u64 value);
void Write(u32 value);
void Write(u16 first, u16 second);
2018-08-26 00:16:37 +01:00
void Write(u8 first, u8 second, u8 third, u8 fourth);
2018-08-26 00:16:37 +01:00
2019-03-11 06:26:21 +00:00
private:
std::vector<u32>& words;
2018-08-26 00:16:37 +01:00
};
} // namespace Sirit