OnixS C++ SGX Titan OUCH Trading Handler
1.2.0
API documentation
Home
Contents
Namespaces
Classes
Files
File List
File Members
src
TypeTraitsVerification.h
Go to the documentation of this file.
1
// Copyright Onix Solutions Limited [OnixS]. All rights reserved.
2
//
3
// This software owned by Onix Solutions Limited [OnixS] and is
4
// protected by copyright law and international copyright treaties.
5
//
6
// Access to and use of the software is governed by the terms of the applicable
7
// OnixS Software Services Agreement (the Agreement) and Customer end user license
8
// agreements granting a non-assignable, non-transferable and non-exclusive license
9
// to use the software for it's own data processing purposes under the terms defined
10
// in the Agreement.
11
//
12
// Except as otherwise granted within the terms of the Agreement, copying or
13
// reproduction of any part of this source code or associated reference material
14
// to any other location for further reproduction or redistribution, and any
15
// amendments to this copyright notice, are expressly prohibited.
16
//
17
// Any reproduction or redistribution for sale or hiring of the Software not in
18
// accordance with the terms of the Agreement is a violation of copyright law.
19
//
20
21
#pragma once
22
23
#include <boost/static_assert.hpp>
24
#include <boost/type_traits/is_pod.hpp>
25
26
#define \
27
ONIXS_SGXTITAN_OUCH_ENSURE_IS_POD(Type) \
28
BOOST_STATIC_ASSERT_MSG \
29
( \
30
boost::is_pod<Type>::value, \
31
#Type " must be a plain data type. " \
32
);
33
34
#define \
35
ONIXS_SGXTITAN_OUCH_ENSURE_TYPE_SIZE(Type, Size) \
36
BOOST_STATIC_ASSERT_MSG \
37
( \
38
sizeof(Type) == (Size), \
39
"Size of " #Type " must be " #Size ". " \
40
);