first commit
This commit is contained in:
parent
2ab53159ce
commit
b98826a65f
90
byte_order_stuff.cpp
Normal file
90
byte_order_stuff.cpp
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
//
|
||||||
|
// byte_order_stuff.cpp
|
||||||
|
// libscio
|
||||||
|
//
|
||||||
|
// Created by Bob Polis at 2020-02-14
|
||||||
|
// Copyright (c) 2020 SwiftCoder. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "libscio.hpp"
|
||||||
|
|
||||||
|
sc::io::byte_order_changer(const sc::io::data_streamer* ds, sc::io::byte_order order) : _data_streamer {ds}, _saved_byte_order {order} {
|
||||||
|
if (ds == nullptr) {
|
||||||
|
std::cerr << "byte_order_changer: no data streamer given\n";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
_saved_byte_order = _data_streamer->target_byte_order();
|
||||||
|
_date_streamer->target_byte_order(order);
|
||||||
|
}
|
||||||
|
|
||||||
|
sc::io::~byte_order_changer() {
|
||||||
|
if (_data_streamer) {
|
||||||
|
_data_streamer->target_byte_order(_saved_byte_order);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sc::io::byte_order_changer(sc::io::byte_order_changer&& other) {
|
||||||
|
_data_streamer = other._data_streamer;
|
||||||
|
_saved_byte_order = other._saved_byte_order;
|
||||||
|
other._data_streamer = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
sc::io::byte_order_changer operator=(sc::io::byte_order_changer&& other) {
|
||||||
|
if (*other != this) {
|
||||||
|
_data_streamer = other._data_streamer;
|
||||||
|
_saved_byte_order = other._saved_byte_order;
|
||||||
|
other._data_streamer = nullptr;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sc::io::byte_order sc::io::data_streamer::cur_byte_order() {
|
||||||
|
uint8_t ch[2] = {0x12, 0x34};
|
||||||
|
uint16_t* p = reinterpret_cast<uint16_t*>(ch);
|
||||||
|
return *p == 0x1234 ? sc::io::byte_order::big_endian : sc::io::byte_order::little_endian;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string sc::io::data_streamer::get4chars(std::istream& file) const {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t sc::io::data_streamer::getui8(std::istream& file) const {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int8_t sc::io::data_streamer::getsi8(std::istream& file) const {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
uin16_t sc::io::data_streamer::getui16(std::istream& file) const {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int16_t sc::io::data_streamer::getsi16(std::istream& file) const {}
|
||||||
|
uint32_t sc::io::data_streamer::getui24(std::istream& file) const {}
|
||||||
|
int32_t sc::io::data_streamer::getsi24(std::istream& file) const {}
|
||||||
|
uint32_t sc::io::data_streamer::getui32(std::istream& file) const {}
|
||||||
|
int32_t sc::io::data_streamer::getsi32(std::istream& file) const {}
|
||||||
|
uint64_t sc::io::data_streamer::getui64(std::istream& file) const {}
|
||||||
|
int64_t sc::io::data_streamer::getsi64(std::istream& file) const {}
|
||||||
|
|
||||||
|
float sc::io::data_streamer::getf32(std::istream& file) const {}
|
||||||
|
double sc::io::data_streamer::getf64(std::istream& file) const {}
|
||||||
|
double sc::io::data_streamer::getf80(std::istream& file) const {}
|
||||||
|
|
||||||
|
void sc::io::data_streamer::put4chars(const std::string& s, ostream& file) const {}
|
||||||
|
|
||||||
|
void sc::io::data_streamer::putui8(uint8_t val, std::ostream& file) const {}
|
||||||
|
void sc::io::data_streamer::putsi8(int8_t val, std::ostream& file) const {}
|
||||||
|
void sc::io::data_streamer::putui16(uint16_t val, std::ostream& file) const {}
|
||||||
|
void sc::io::data_streamer::putsi16(int16_t val, std::ostream& file) const {}
|
||||||
|
void sc::io::data_streamer::putui24(uint32_t val, std::ostream& file) const {}
|
||||||
|
void sc::io::data_streamer::putsi24(int32_t val, std::ostream& file) const {}
|
||||||
|
void sc::io::data_streamer::putui32(uint32_t val, std::ostream& file) const {}
|
||||||
|
void sc::io::data_streamer::putsi32(int32_t val, std::ostream& file) const {}
|
||||||
|
void sc::io::data_streamer::putui64(uint64_t val, std::ostream& file) const {}
|
||||||
|
void sc::io::data_streamer::putsi64(int64_t val, std::ostream& file) const {}
|
||||||
|
|
||||||
|
void sc::io::data_streamer::putf32(float val, std::ostream& file) const {}
|
||||||
|
void sc::io::data_streamer::putf64(double val, std::ostream& file) const {}
|
||||||
|
void sc::io::data_streamer::putf80(double val, std::ostream& file) const {}
|
Loading…
x
Reference in New Issue
Block a user