src/pch/pch.h

説明を見る。
00001 // 
00002 // Copyright (c) 2005-2008 Kenichi Watanabe.
00003 // Copyright (c) 2005-2008 Yasuhiro Watari.
00004 // Copyright (c) 2005-2008 Hironori Ichibayashi.
00005 // Copyright (c) 2008-2009 Kazuo Horio.
00006 // Copyright (c) 2009-2013 Naruki Kurata.
00007 // Copyright (c) 2005-2013 Ryota Shioya.
00008 // Copyright (c) 2005-2013 Masahiro Goshima.
00009 // 
00010 // This software is provided 'as-is', without any express or implied
00011 // warranty. In no event will the authors be held liable for any damages
00012 // arising from the use of this software.
00013 // 
00014 // Permission is granted to anyone to use this software for any purpose,
00015 // including commercial applications, and to alter it and redistribute it
00016 // freely, subject to the following restrictions:
00017 // 
00018 // 1. The origin of this software must not be misrepresented; you must not
00019 // claim that you wrote the original software. If you use this software
00020 // in a product, an acknowledgment in the product documentation would be
00021 // appreciated but is not required.
00022 // 
00023 // 2. Altered source versions must be plainly marked as such, and must not be
00024 // misrepresented as being the original software.
00025 // 
00026 // 3. This notice may not be removed or altered from any source
00027 // distribution.
00028 // 
00029 // 
00030 
00031 
00032 //
00033 // Pre-compiled header
00034 //
00035 
00036 #ifndef PCH_PCH_H
00037 #define PCH_PCH_H
00038 
00039 //
00040 // --- Environmentally dependent things ---
00041 //
00042 #include "SysDeps/host_type.h"
00043 #include "SysDeps/Warning.h"
00044 
00045 
00046 //
00047 // --- Onikiri basic types --- 
00048 //
00049 #include "Types.h"
00050 #include "Version.h"
00051 #include "SysDeps/Inline.h"
00052 
00053 
00054 //
00055 // --- C General headers ---
00056 //
00057 #include <stdio.h>
00058 #include <stdlib.h>
00059 #include <math.h>
00060 #include <assert.h>
00061 #include <time.h>
00062 #include "SysDeps/stdarg.h"
00063 
00064 
00065 //
00066 // --- C++/STL ---
00067 //
00068 #include <utility>
00069 #include <stdexcept>
00070 #include <iostream>
00071 #include <sstream>
00072 #include <fstream>
00073 #include <exception>
00074 
00075 #include <string>
00076 #include <vector>
00077 #include <map>
00078 #include <set>
00079 #include <deque>
00080 #include <stack>
00081 
00082 // for compatibility
00083 #include "SysDeps/STL/list.h"
00084 
00085 #include <algorithm>
00086 #include <functional>
00087 
00088 #include <cassert>
00089 #include <cstddef>
00090 #include <cmath>
00091 #include <limits>
00092 #include <iomanip>
00093 #include <memory>
00094 
00095 
00096 //
00097 // --- Tiny XML ---
00098 //
00099 #include <tinyxml/tinyxml.h>
00100 
00101 
00102 //
00103 // --- Boost ---
00104 //
00105 #define BOOST_NO_MT
00106 #define BOOST_DISABLE_THREADS
00107 #define BOOST_SP_USE_QUICK_ALLOCATOR
00108 #define BOOST_SP_DISABLE_THREADS
00109 #define BOOST_ALL_NO_LIB
00110 #define BOOST_SYSTEM_NO_LIB
00111 #define NO_ZLIB 0
00112 
00113 #ifndef ONIKIRI_DEBUG
00114 #define BOOST_DISABLE_ASSERTS
00115 #endif
00116 
00117 #include "SysDeps/Boost/Boost.h"
00118 
00119 // This file is included at this point after enabling boost switches,
00120 // because 'unordered_map' is implemented with boost currently.
00121 #include "SysDeps/STL/unordered_map.h"
00122 
00123 #include <boost/detail/quick_allocator.hpp>
00124 #include <boost/pool/pool.hpp>
00125 #include <boost/pool/object_pool.hpp>
00126 #include <boost/pool/singleton_pool.hpp>
00127 #include <boost/pool/pool_alloc.hpp>
00128 
00129 #include <boost/iterator/iterator_facade.hpp>
00130 #include <boost/shared_ptr.hpp>
00131 #include <boost/intrusive_ptr.hpp>
00132 #include <boost/dynamic_bitset.hpp>
00133 #include <boost/tokenizer.hpp>
00134 #include <boost/lexical_cast.hpp>
00135 #include <boost/array.hpp>
00136 #include <boost/scoped_array.hpp>
00137 #include <boost/math/special_functions/fpclassify.hpp>
00138 #include <boost/crc.hpp>
00139 
00140 #include <boost/filesystem.hpp>
00141 #include <boost/iostreams/filtering_stream.hpp>
00142 #include <boost/iostreams/filter/gzip.hpp>
00143 #include <boost/iostreams/device/file.hpp>
00144 
00145 
00146 // #include <boost/compressed_pair.hpp>
00147 // #include <boost/crc.hpp>
00148 // #include <boost/any.hpp>
00149 // #include <boost/multi_array.hpp>
00150 // #include <boost/pool/detail/mutex.hpp>
00151 
00152 
00153 
00154 //
00155 // --- Onikiri utility ---
00156 //
00157 
00158 // Use onikiri internal allocator because
00159 // boost::pool_allocator has the bug that allocates infinite memory 
00160 // when it is used with vector of vector.
00161 #define ONIKIRI_USE_ONIKIRI_POOL_ALLOCATOR
00162 
00163 #include "Utility/String.h"
00164 #include "Utility/RuntimeError.h"
00165 #include "Utility/SharedPtrObjectPool.h"
00166 #include "Utility/IntrusivePtrObjectPool.h"
00167 
00168 //#include "Utility/Collection/hashed_map_list.h"
00169 //#include "Utility/Collection/hashed_index_list.h"
00170 
00171 #include "Utility/Collection/pool/pool_list.h"
00172 #include "Utility/Collection/pool/pool_vector.h"
00173 #include "Utility/Collection/pool/pool_unordered_map.h"
00174 #include "Utility/Collection/fixed_size_buffer.h"
00175 
00176 
00177 
00178 //
00179 // --- shttl ---
00180 //
00181 #define SHTTL_ASSERT(x) { using namespace Onikiri; ASSERT(x); }
00182 #include "Lib/shttl/std_hasher.h"
00183 #include "Lib/shttl/static_off_hasher.h"
00184 #include "Lib/shttl/setassoc_table.h"
00185 #include "Lib/shttl/null_struct.h"
00186 #include "Lib/shttl/counter_array.h"
00187 #include "Lib/shttl/table.h"
00188 
00189 // #include <shttl/bit.h>
00190 // #include <shttl/array2d.h>
00191 // #include <shttl/null_data.h>
00192 // #include <shttl/hasher.h>
00193 // #include <shttl/lru.h>
00194 
00195 
00196 //
00197 // --- Onikiri interface ---
00198 //
00199 #include "Interface/Addr.h"
00200 #include "Interface/EmulatorIF.h"
00201 #include "Interface/ExtraOpDecoderIF.h"
00202 #include "Interface/ISAInfo.h"
00203 #include "Interface/MemIF.h"
00204 #include "Interface/OpClass.h"
00205 #include "Interface/OpInfo.h"
00206 #include "Interface/OpStateIF.h"
00207 #include "Interface/ResourceIF.h"
00208 #include "Interface/SystemIF.h"
00209 
00210 //
00211 // --- Onikiri environment ---
00212 //
00213 #include "Env/Env.h"
00214 #include "Env/Param/ParamPredResult.h"
00215 
00216 //
00217 // --- Additional user defined ---
00218 //
00219 #include "User/UserPCH.h"
00220 
00221 #endif // #ifndef PCH_PCH_H

Onikiri2に対してTue Jun 18 14:34:22 2013に生成されました。  doxygen 1.4.7