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
25namespace 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 framework base namespace.
Definition app.hpp:28
void byteSwap(T src, uint8_t *dest)
bool isLittleEndian()
bool isBigEndian()