1 | ////////////////////////////////////////////////////////////////////////////////
|
---|
2 | // NTL Nonstandard Template Library for C++
|
---|
3 | // Copyright (c) 2003 by Miroslav Fidler, Tomas Rylek
|
---|
4 | //
|
---|
5 | // Created by Miroslav Fidler, Tomas Rylek, cxl@volny.cz
|
---|
6 | //
|
---|
7 | // Permission to use, copy, modify, distribute and sell this software for any
|
---|
8 | // purpose is hereby granted without fee, provided that the above copyright
|
---|
9 | // notice appear in all copies and that both that copyright notice and this
|
---|
10 | // permission notice appear in supporting documentation.
|
---|
11 | // The author makes no representations about the suitability of this software
|
---|
12 | // for any purpose. It is provided "as is"
|
---|
13 | // without express or implied warranty.
|
---|
14 | ////////////////////////////////////////////////////////////////////////////////
|
---|
15 |
|
---|
16 | #ifndef NTL_H
|
---|
17 | #define NTL_H
|
---|
18 |
|
---|
19 | #include <assert.h>
|
---|
20 | #include <string.h>
|
---|
21 |
|
---|
22 | #include <new>
|
---|
23 |
|
---|
24 | #ifndef ASSERT
|
---|
25 | #define ASSERT assert
|
---|
26 | #endif
|
---|
27 |
|
---|
28 | #define pick_ const // Do not beat us for this. Imagine it is #define pick_ &&
|
---|
29 | #define _cm_ ,
|
---|
30 |
|
---|
31 | typedef unsigned char byte;
|
---|
32 |
|
---|
33 | #ifdef _MSC_VER // Solve some MSC problems...
|
---|
34 |
|
---|
35 | #ifdef TYPENAME
|
---|
36 | //use predefined value
|
---|
37 | #elif _MSC_VER < 1300
|
---|
38 | #define TYPENAME
|
---|
39 | #else
|
---|
40 | #define TYPENAME typename
|
---|
41 | #endif
|
---|
42 |
|
---|
43 | // Later we might consider #pragma warning(push/pop)
|
---|
44 | #pragma warning(disable : 4800) //'type' : forcing value to bool 'true' or 'false'
|
---|
45 | #pragma warning(disable : 4786) // identifier was truncated
|
---|
46 | #pragma warning(disable : 4345) // POD type constructed will be default-initialized
|
---|
47 | #pragma warning(disable : 4675) //'function' : resolved overload was found by Koenig lookup
|
---|
48 |
|
---|
49 | #define COMPILER_MSC
|
---|
50 |
|
---|
51 | #else
|
---|
52 |
|
---|
53 | #define TYPENAME typename
|
---|
54 |
|
---|
55 | #endif
|
---|
56 |
|
---|
57 |
|
---|
58 | #ifdef __GNUC__
|
---|
59 | #define COMPILER_GNU
|
---|
60 | #endif
|
---|
61 |
|
---|
62 | #if defined(_M_IX86) || defined(__i386__)
|
---|
63 | #define CPU_IA32
|
---|
64 | #endif
|
---|
65 |
|
---|
66 | #include <detail/Topt.h>
|
---|
67 | #include <detail/Vcont.h>
|
---|
68 | #include <detail/BiCont.h>
|
---|
69 | #include <detail/Index.h>
|
---|
70 | #include <detail/Map.h>
|
---|
71 | #include <detail/Algo.h>
|
---|
72 | #include <detail/Other.h>
|
---|
73 | #include <detail/Vcont.hpp>
|
---|
74 | #include <detail/Index.hpp>
|
---|
75 |
|
---|
76 | #endif
|
---|