EHS
MdlCodec.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
ehs/Str.h
"
4
#include "
ehs/Serializer.h
"
5
#include "
ehs/system/CPU.h
"
6
7
namespace
ehs
8
{
9
class
Mdl;
10
class
MdlCodec;
11
12
typedef
bool (*
EnocdeMdlCb
)(
const
MdlCodec
*,
Serializer<UInt_64>
&,
const
Mdl
*);
13
typedef
bool (*
DecodeMdlCb
)(
const
MdlCodec
*,
Serializer<UInt_64>
&,
Mdl
*);
14
15
class
EHS_LIB_IO
MdlCodec
16
{
17
private
:
18
Str_8
id;
19
UInt_64 hashExt;
20
Str_8
ext;
21
Endianness
endianness;
22
EnocdeMdlCb
encoder;
23
DecodeMdlCb
decoder;
24
25
public
:
26
MdlCodec
();
27
28
MdlCodec
(
Str_8
id
,
Str_8
ext,
Endianness
end,
EnocdeMdlCb
encoder,
DecodeMdlCb
decoder);
29
30
MdlCodec
(
MdlCodec
&& codec)
noexcept
;
31
32
MdlCodec
(
const
MdlCodec
& codec);
33
34
MdlCodec
& operator=(
MdlCodec
&& codec)
noexcept
;
35
36
MdlCodec
& operator=(
const
MdlCodec
& codec);
37
38
Str_8
GetId()
const
;
39
40
UInt_64 GetHashExt()
const
;
41
42
Str_8
GetExt()
const
;
43
44
Endianness
GetEndianness()
const
;
45
46
bool
Encode(
Serializer<UInt_64>
& out,
const
Mdl
* in)
const
;
47
48
bool
Decode(
Serializer<UInt_64>
& in,
Mdl
* out)
const
;
49
};
50
}
CPU.h
Serializer.h
Str.h
ehs::MdlCodec
Definition:
MdlCodec.h:16
ehs::Mdl
Definition:
Mdl.h:19
ehs::Serializer< UInt_64 >
ehs::Str< Char_8, UInt_64 >
ehs
Definition:
Anchor.h:6
ehs::Endianness
Endianness
Definition:
CPU.h:21
ehs::DecodeMdlCb
bool(* DecodeMdlCb)(const MdlCodec *, Serializer< UInt_64 > &, Mdl *)
Definition:
MdlCodec.h:13
ehs::EnocdeMdlCb
bool(* EnocdeMdlCb)(const MdlCodec *, Serializer< UInt_64 > &, const Mdl *)
Definition:
MdlCodec.h:12
include
ehs
io
mdl
MdlCodec.h
Generated by
1.9.4