AnCH Framework
0.1
Another C++ Hack Framework
Loading...
Searching...
No Matches
endianness.hpp
1
/*
2
ANCH Framework: ANother C++ Hack is a C++ framework based on C++11 standard
3
Copyright (C) 2012 Vincent Lachenal
4
5
This file is part of ANCH Framework.
6
7
ANCH Framework is free software: you can redistribute it and/or modify
8
it under the terms of the GNU Lesser General Public License as published by
9
the Free Software Foundation, either version 3 of the License, or
10
(at your option) any later version.
11
12
ANCH Framework is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU Lesser General Public License for more details.
16
17
You should have received a copy of the GNU Lesser General Public License
18
along with ANCH Framework. If not, see <http://www.gnu.org/licenses/>.
19
*/
20
#pragma once
21
22
#include <cstddef>
23
24
25
namespace
anch
{
26
37
template
<
typename
T>
38
void
byteSwap
(T src, uint8_t* dest);
/* {
39
const uint8_t* words = reinterpret_cast<const uint8_t*>(&src);
40
std::size_t size = sizeof(T);
41
for(std::size_t i = 0 ; i < size ; i++) {
42
dest[i] = words[size - 1 - i];
43
}
44
}*/
45
55
bool
isBigEndian
();
/* {
56
const uint32_t byteOrderTest = 0x01;
57
return (reinterpret_cast<const uint8_t*>(&byteOrderTest)[0] == 0);
58
}*/
59
69
bool
isLittleEndian
();
/* {
70
return !isBigEndian();
71
}*/
72
73
}
74
75
#include "impl/endianness.hpp"
anch
AnCH framework base namespace.
Definition
app.hpp:28
anch::byteSwap
void byteSwap(T src, uint8_t *dest)
anch::isLittleEndian
bool isLittleEndian()
anch::isBigEndian
bool isBigEndian()
anch-utils
inc
endianness.hpp
Generated by
1.13.2