Crypto++  5.6.3
Free C++ class library of cryptographic schemes
stdcpp.h
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 #if _MSC_VER >= 1600
24 // for make_unchecked_array_iterator
25 #include <iterator>
26 #endif
27 
28 #include <cstdlib>
29 #include <cstddef>
30 #include <cstring>
31 #include <climits>
32 #include <cassert>
33 
34 #ifdef CRYPTOPP_INCLUDE_VECTOR_CC
35 // workaround needed on Sun Studio 12u1 Sun C++ 5.10 SunOS_i386 128229-02 2009/09/21
36 #include <vector.cc>
37 #endif
38 
39 // for alloca
40 #if defined(CRYPTOPP_BSD_AVAILABLE)
41 #include <stdlib.h>
42 #elif defined(CRYPTOPP_UNIX_AVAILABLE) || defined(__sun) || defined(QNX)
43 #include <alloca.h>
44 #elif defined(CRYPTOPP_WIN32_AVAILABLE) || defined(__MINGW32__) || defined(__BORLANDC__)
45 #include <malloc.h>
46 #endif
47 
48 #ifdef _MSC_VER
49 #pragma warning(disable: 4231) // re-disable this
50 #ifdef _CRTAPI1
51 #define CRYPTOPP_MSVCRT6
52 #endif
53 #endif
54 
55 #endif