OnixS C++ SGX Titan OUCH Trading Handler  1.2.0
API documentation
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  );