source: git/src-cryptopp/stdcpp.h

Last change on this file was e230cb0, checked in by David Stainton <dstainton415@…>, at 2016-10-12T13:27:29Z

Add cryptopp from tag CRYPTOPP_5_6_5

  • Property mode set to 100644
File size: 1.8 KB
Line 
1#ifndef CRYPTOPP_STDCPP_H
2#define CRYPTOPP_STDCPP_H
3
4#if _MSC_VER >= 1500
5#define _DO_NOT_DECLARE_INTERLOCKED_INTRINSICS_IN_MEMORY
6#include <intrin.h>
7#endif
8
9#include <string>
10#include <memory>
11#include <exception>
12#include <typeinfo>
13#include <algorithm>
14#include <functional>
15#include <utility>
16#include <vector>
17#include <limits>
18#include <deque>
19#include <list>
20#include <map>
21#include <new>
22
23// http://connect.microsoft.com/VisualStudio/feedback/details/1600701/type-info-does-not-compile-with-has-exceptions-0
24#if defined(_MSC_VER) && (_MSC_VER < 1900) && defined(_HAS_EXCEPTIONS) && (_HAS_EXCEPTIONS == 0)
25namespace std {
26  using ::type_info;
27}
28#endif
29
30// make_unchecked_array_iterator
31#if _MSC_VER >= 1600
32#include <iterator>
33#endif
34
35#if defined(CRYPTOPP_CXX11_ATOMICS)
36#include <atomic>
37#endif
38
39#if defined(CRYPTOPP_CXX11_SYNCHRONIZATION)
40#include <mutex>
41#endif
42
43#if defined(CRYPTOPP_CXX11_RVALUES)
44# include <utility>
45#endif
46
47#include <cstdlib>
48#include <cstddef>
49#include <cstring>
50#include <climits>
51
52// uintptr_t and ptrdiff_t
53#if (__cplusplus < 201103L) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))
54# include <stdint.h>
55#elif defined(_MSC_VER) && (_MSC_VER < 1700)
56# include <stddef.h>
57#endif
58
59// workaround needed on Sun Studio 12u1 Sun C++ 5.10 SunOS_i386 128229-02 2009/09/21
60#ifdef CRYPTOPP_INCLUDE_VECTOR_CC
61# include <vector.cc>
62#endif
63
64// for alloca
65#if defined(CRYPTOPP_BSD_AVAILABLE)
66# include <stdlib.h>
67#elif defined(CRYPTOPP_UNIX_AVAILABLE) || defined(__sun) || defined(QNX)
68# include <alloca.h>
69#elif defined(CRYPTOPP_WIN32_AVAILABLE) || defined(__MINGW32__) || defined(__BORLANDC__)
70# include <malloc.h>
71#endif
72
73#ifdef _MSC_VER
74# pragma warning(disable: 4231) // re-disable this
75# ifdef _CRTAPI1
76#  define CRYPTOPP_MSVCRT6
77# endif
78#endif
79
80#endif
Note: See TracBrowser for help on using the repository browser.