MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
template_instnt.cpp
1 /*
2  Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
3 
4  This program is free software; you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation; version 2 of the License.
7 
8  This program is distributed in the hope that it will be useful,
9  but WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  GNU General Public License for more details.
12 
13  You should have received a copy of the GNU General Public License
14  along with this program; see the file COPYING. If not, write to the
15  Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
16  MA 02110-1301 USA.
17 */
18 
19 
20 /* Explicit template instantiation requests
21  */
22 
23 
24 #include "runtime.hpp"
25 #include "integer.hpp"
26 #include "rsa.hpp"
27 #include "sha.hpp"
28 #include "md5.hpp"
29 #include "hmac.hpp"
30 #include "ripemd.hpp"
31 #include "pwdbased.hpp"
32 #include "algebra.hpp"
33 #include "vector.hpp"
34 #include "hash.hpp"
35 
36 #ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION
37 namespace TaoCrypt {
38 
39 #if defined(SSE2_INTRINSICS_AVAILABLE)
40 template AlignedAllocator<unsigned int>::pointer StdReallocate<unsigned int, AlignedAllocator<unsigned int> >(AlignedAllocator<unsigned int>&, unsigned int*, AlignedAllocator<unsigned int>::size_type, AlignedAllocator<unsigned int>::size_type, bool);
41 #endif
42 
43 template class RSA_Decryptor<RSA_BlockType2>;
44 template class RSA_Encryptor<RSA_BlockType1>;
45 template class RSA_Encryptor<RSA_BlockType2>;
46 template void tcDelete<HASH>(HASH*);
47 template void tcDelete<Integer>(Integer*);
48 template void tcArrayDelete<byte>(byte*);
49 template AllocatorWithCleanup<byte>::pointer StdReallocate<byte, AllocatorWithCleanup<byte> >(AllocatorWithCleanup<byte>&, byte*, AllocatorWithCleanup<byte>::size_type, AllocatorWithCleanup<byte>::size_type, bool);
50 template void tcArrayDelete<word>(word*);
51 template AllocatorWithCleanup<word>::pointer StdReallocate<word, AllocatorWithCleanup<word> >(AllocatorWithCleanup<word>&, word*, AllocatorWithCleanup<word>::size_type, AllocatorWithCleanup<word>::size_type, bool);
52 
53 #ifndef TAOCRYPT_SLOW_WORD64 // defined when word != word32
54 template void tcArrayDelete<word32>(word32*);
55 template AllocatorWithCleanup<word32>::pointer StdReallocate<word32, AllocatorWithCleanup<word32> >(AllocatorWithCleanup<word32>&, word32*, AllocatorWithCleanup<word32>::size_type, AllocatorWithCleanup<word32>::size_type, bool);
56 #endif
57 
58 template void tcArrayDelete<char>(char*);
59 
60 template class PBKDF2_HMAC<SHA>;
61 template class HMAC<MD5>;
62 template class HMAC<SHA>;
63 template class HMAC<RIPEMD160>;
64 }
65 
66 namespace mySTL {
67 template vector<TaoCrypt::Integer>* uninit_fill_n<vector<TaoCrypt::Integer>*, size_t, vector<TaoCrypt::Integer> >(vector<TaoCrypt::Integer>*, size_t, vector<TaoCrypt::Integer> const&);
68 template void destroy<vector<TaoCrypt::Integer>*>(vector<TaoCrypt::Integer>*, vector<TaoCrypt::Integer>*);
69 template TaoCrypt::Integer* uninit_copy<TaoCrypt::Integer*, TaoCrypt::Integer*>(TaoCrypt::Integer*, TaoCrypt::Integer*, TaoCrypt::Integer*);
70 template TaoCrypt::Integer* uninit_fill_n<TaoCrypt::Integer*, size_t, TaoCrypt::Integer>(TaoCrypt::Integer*, size_t, TaoCrypt::Integer const&);
71 template void destroy<TaoCrypt::Integer*>(TaoCrypt::Integer*, TaoCrypt::Integer*);
72 template TaoCrypt::byte* GetArrayMemory<TaoCrypt::byte>(size_t);
73 template void FreeArrayMemory<TaoCrypt::byte>(TaoCrypt::byte*);
74 template TaoCrypt::Integer* GetArrayMemory<TaoCrypt::Integer>(size_t);
75 template void FreeArrayMemory<TaoCrypt::Integer>(TaoCrypt::Integer*);
76 template vector<TaoCrypt::Integer>* GetArrayMemory<vector<TaoCrypt::Integer> >(size_t);
77 template void FreeArrayMemory<vector<TaoCrypt::Integer> >(vector<TaoCrypt::Integer>*);
78 template void FreeArrayMemory<void>(void*);
79 }
80 
81 #endif