EVE 1.0
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
packed-sizeof.h
Go to the documentation of this file.
1
#ifndef PACKED_SIZEOF_H_INCLUDED
2
#define PACKED_SIZEOF_H_INCLUDED
3
/**********************************************************************/
4
/*
5
* Copyright (c) 2014-2015, Jetro AS
6
* All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without modification,
9
* are permitted provided that the following conditions are met:
10
*
11
* 1. Redistributions of source code must retain the above copyright notice,
12
* this list of conditions and the following disclaimer.
13
* 2. Redistributions in binary form must reproduce the above copyright notice,
14
* this list of conditions and the following disclaimer in the documentation
15
* and/or other materials provided with the distribution.
16
* 3. The name of the author may not be used to endorse or promote products
17
* derived from this software without specific prior written permission.
18
*
19
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONRIBUTORS ``AS IS'' AND ANY EXPRESS
20
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
22
* SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
24
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
27
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
28
* OF SUCH DAMAGE.
29
*
30
* This file is part of the EVE platform.
31
*/
32
33
/**
34
* \file
35
* @brief A part of TOC table compile-time generator
36
*
37
* @author DT, Jetro AS
38
*/
/******************************************************************/
39
40
#include <stddef.h>
41
42
/* Packed version of sizeof */
43
template
<
class
T>
44
static
constexpr
size_t
packed_sizeof(
const
T &t)
45
{
46
struct
P :
private
T {
char
p[1]; };
47
return
offsetof(P, p);
48
}
49
50
#endif
Core
Include
toc
autogen
packed-sizeof.h
Generated on Thu Mar 30 2017 10:16:56 for EVE 1.0 by
1.8.11