/*	
 *	clip.h
 *
 *	アプリケーション用ヘッダファイルです。
 *
 *	CLiP - Common Library for P/ECE
 *	Copyright (C) 2001-2017 Naoyuki Sawa
 *
 *	* Tue Dec  4 22:51:32 JST 2001 Naoyuki Sawa
 *	- 作成開始。
 *	* Mon Mar 24 04:30:00 JST 2003 Naoyuki Sawa
 *	- clipmath.hをclipfix.hに変更しました。
 *	* Thu Nov 27 05:19:00 JST 2003 Naoyuki Sawa
 *	- EXTCLIPHシンボル定義による、clip.h代替手段を追加。
 *	* Wed Nov 18 21:37:53 JST 2015 Naoyuki Sawa
 *	- 各ヘッダファイル内で'extern "C" {'〜'}'で囲んだので、ここで'extern "C" {'〜'}'で囲む必要は無くなりました。
 */
#ifndef __CLIP_H__
#define __CLIP_H__

/* * PC上での予備開発のための、clip.h代替手段の提供です。
 * - コンパイラオプションでEXTCLIPHシンボルを定義しておくと、
 *   標準のclip*.hヘッダファイル群はインクルードされません。
 *   代わりに、アプリケーションフォルダ内の、extclip.hをインクルードします。
 * - 使用例は、「aywin」プロジェクトを参考にしてください。
 */
#ifdef EXTCLIPH
#include "extclip.h"
#else /*EXTCLIPH*/

//{{2015/11/18削除:各ヘッダファイル内で'extern "C" {'〜'}'で囲んだので、ここで'extern "C" {'〜'}'で囲む必要は無くなりました。
//#ifdef __cplusplus
//extern "C" {
//#endif /*__cplusplus*/
//}}2015/11/18削除:各ヘッダファイル内で'extern "C" {'〜'}'で囲んだので、ここで'extern "C" {'〜'}'で囲む必要は無くなりました。

#include "clipstd.h"		/* 標準ヘッダ取り込み */
#include "clipmisc.h"		/* その他いろいろ */
#include "cliplibc.h"		/* 標準Ｃライブラリの補助 */
#include "clipdie.h"		/* エラー停止処理、トレース出力処理 */
#include "clipdisp.h"		/* 画面解像度 */
#include "cliprnd.h"		/* 乱数 */
#include "clipque.h"		/* 任意長パケットキュー */
#include "clipbuf.h"		/* リングバッファ */
#include "clipdlst.h"		/* ダブルリンクリスト */
#include "clipmatc.h"		/* 検索 */
#include "clipsort.h"		/* ソート */				//⇒{{2016/06/10廃止予定:既存のhsort()とmsort()を、heapsort()とmergesort()に名前変更し、/clip/include/stdlib.hで宣言するようにしました。この変更に伴い、clipsort.hは不要になりました。ひとまず、全体をコメントアウトして残してありますが、折を見てファイルを削除する予定です。}}
#include "clipcoll.h"		/* コレクション */
#include "clipintf.h"		/* インターフェイス */
#include "clipfpk.h"		/* ファイルパック形式 */
#include "cliptask.h"		/* タスクスケジューラ */
#include "clipfix.h"		/* 固定小数ライブラリ */
#include "clipflt.h"		/* 高速単精度浮動小数点演算ライブラリ */
#include "clipint.h"		/* 整数演算ライブラリ */
#include "clipquat.h"		/* クォータニオンライブラリ */
#include "clipldir.h"		/* 高速切替・16階調表示 */
#include "cliprend.h"		/* 描画ライブラリ */
#include "clipwire.h"		/* ワイヤーフレーム描画(描画ライブラリ追加機能) */
#include "clipspr.h"		/* 簡易スプライトドライバ */
#include "clipmenu.h"		/* 汎用メニュー */
//#include "clipmus.h"		/* P/ECE標準音楽ライブラリ補助ルーチン */	//{{2015/01/15削除:clipmus.*を削除しました。削除理由はmuslib.cの2015/01/15追記コメントを参照してください。}}
#include "clipmod.h"		/* MODドライバ */
#include "clips3m.h"		/* S3Mドライバ */
#include "clipxm.h"		/* XMドライバ */
#include "clipit.h"		/* ITドライバ */			//※未完成
#include "clipmidi.h"		/* MIDIドライバ */
#include "clipmp3.h"		/* MP3ドライバ */
#include "clipz80.h"		/* Z80エミュレーション */
#include "clipz8c.h"		/* Z80エミュレーション(高速版) */
#include "clipay3.h"		/* AY-3-8910(PSG)エミュレーション */
#include "clipay.h"		/* AYドライバ(Z80,PSGに依存) */
#include "clipym.h"		/* YMドライバ(PSGに依存) */
#include "clipm65.h"		/* MOS6502エミュレーション */
#include "clip65c.h"		/* MOS6502エミュレーション(高速版) */
#include "clipw65.h"		/* W65C02エミュレーション */
#include "clipsid.h"		/* SID(MOS6581)エミュレーション */
#include "clippsid.h"		/* PSIDドライバ(MOS6502,SIDに依存) */
#include "clippky.h"		/* POKEY(CO12294)エミュレーション */
#include "clipsap.h"		/* SAPドライバ(MOS6502,POKEYに依存) */
#include "clipssm.h"		/* S-SMP(SPC700)エミュレーション */	//※未完成(一部未実装・高速化途中)
#include "clipsds.h"		/* S-DSPエミュレーション */		//※未完成(骨組みだけ、全然未完成)
#include "clipspc.h"		/* SPCドライバ(S-SMP,S-DSPに依存) */	//※未完成(仮実装、未調整・未検証)
#include "clipsp2.h"		/* SPCドライバ・バージョン2 */
#include "clipsn7.h"		/* SN76489/SN76496 エミュレーション */
#include "clipvgm.h"		/* VGMドライバ(SN76489に依存) */
#include "clipdmg.h"		/* DMG-CPUエミュレーション */
#include "clipdmc.h"		/* DMG-CPUエミュレーション(高速版) */
#include "clipdms.h"		/* DMG-Soundエミュレーション */
#include "clipdms2.h"		/* DMG-Soundエミュレーション(高速版) */
#include "clipgbs.h"		/* GBSドライバ(DMG-CPU/Soundに依存) */
#include "clipm68.h"		/* M6800/01/03/HD6301/03エミュレーション */
#include "clipm69.h"		/* M6809エミュレーション */
#include "clipwsg.h"		/* Namco WSGエミュレーション */
#include "clipc62.h"		/* HuC6280-CPUエミュレーション */
#include "clipp62.h"		/* HuC6280-PSGエミュレーション */
#include "cliphes.h"		/* HESドライバ(HuC6280-CPU,HuC6280-PSGに依存) */
#include "clipn2.h"		/* YM2612(OPN2)エミュレーション */
#include "clipgym.h"		/* GYMドライバ(OPN2に依存) */
#include "clipcp8.h"		/* CHIP-8インタプリタ */
#include "clipt18.h"		/* TMS9918(A)エミュレーション */
#include "clipppu.h"		/* PPU(RP2C02)エミュレーション */
#include "clippp4.h"		/* PPU(RP2C02)エミュレーション(1/4解像度版) */
#include "clipapu.h"		/* APU(RP2A03)エミュレーション */
#include "clipdmv.h"		/* DMG-Videoエミュレーション */
#include "cliptia.h"		/* TIA(Television Interface Adapter)エミュレーション */
#include "clipsv.h"		/* SUPERVISION Video/Soundエミュレーション */
#include "clips26.h"		/* Signetics 2650エミュレーション */
#include "clipuvi.h"		/* Signetics 2637 UVI(Universal Video Interface)エミュレーション */
#include "clipc16.h"		/* CP1610エミュレーション */
#include "clipsti.h"		/* STIC(Standard Television Interface Chip)エミュレーション */
#include "clipdct.h"		/* 離散コサイン変換 */
#include "clipemu.h"		/* エミュレータ用サブルーチン集 */
#include "clipzip.h"		/* Zlib/Unzip互換ライブラリ */
#include "cliplzh.h"		/* LHA互換ライブラリ */
#include "clipdes.h"		/* DES暗号化、復号化 */
#include "clipcode.h"		/* 文字コード処理 */
#include "clipgc.h"		/* ガーベージコレクター */
#include "clipusb.h"		/* USBドライバ */
#include "clipuio.h"		/* USB I/Oドライバ */
#include "clipacm.h"		/* USB CDC ACM (Communication Device Class Abstract Control Model) */
#include "clipeth.h"		/* USB Ethernetドライバ */
#include "clipip.h"		/* IPプロトコルドライバ */
#include "clipudp.h"		/* UDPプロトコルドライバ */
#include "cliptcp.h"		/* TCPプロトコルドライバ */
#include "clipdns.h"		/* DNSクライアント */
#include "clipufe.h"		/* USBファイルシステムエミュレーション */
#include "clipir.h"		/* 赤外線通信(24/48MHz両対応) */
#include "clipcom.h"		/* 調歩同期シリアル通信ドライバ */
#include "clipcbx.h"		/* シリアルMIDIドライバ */
#include "clipmou.h"		/* シリアルマウスドライバ */
#include "clipnet.h"		/* ネットワーク関連のサポートルーチン */
#include "clipslip.h"		/* SLIP(Serial Line Internet Protocol)サーバ */
#include "clipht2.h"		/* 2D当り判定ルーチン */
#include "clipadp.h"		/* 2-bit ADPCM Decoder */
#include "clipdbg.h"		/* デバッグモード */
#include "tixml.h"		/* XML DOM parser */
#include "bltml.h"		/* BulletML */
#include "clipmmio.h"		/* Win32 Multimedia API 互換ライブラリ */
#include "clipcvid.h"		/* Cinepakデコーダ */
#include "clipcp21.h"		/* Silicon Labs CP210x VCP (Virtual COM Port) Emulator */
#include "cliptlz.h"		/* 簡易LZ圧縮 */
#include "clipfnt8.h"		/* 8ドットフォント描画ルーチン */
#include "cliprenf.h"		/* 浮動小数点版3D描画モジュール */
#include "clipdct2.h"		/* 二次元DCT */
#include "clipjpeg.h"		/* JPEG Decoder */
#include "clippng.h"		/* PNG Decoder */
#include "clipgif.h"		/* GIF Decoder */
#include "cliptga.h"		/* TGA Decoder */
#include "clipquaf.h"		/* 浮動小数点版クォータニオンライブラリ */
#include "clipswf.h"		/* Flash SWF Player */
#include "clipidle.h"		/* アイドルスレッド */
#include "clipfntx.h"		/* FONTX描画ルーチン */
#include "clipsrf.h"		/* ld33互換ローダ */
#include "clipfp16.h"		/* 半精度浮動小数点数 */
#include "cliplzss.h"		/* LZSS展開ルーチン */
#include "clipncs.h"		/* 曲線補間 */
#include "clipelf.h"		/* Executable and Linkable Format (ELF) */
#include "clipc17.h"		/* S1C17702エミュレーション */
#include "clipbary.h"		/* 汎用ビット配列 */
#include "cliplot.h"		/* 抽選処理 */
#include "cliplotr.h"		/* 抽選表ROM形式 */
#include "clipprds.h"		/* 演出制御 */
#include "clipihex.h"		/* インテルHEX形式ファイルローダー */
#include "clipmt.h"		/* メルセンヌ・ツイスタ擬似乱数 */
#include "clipwell.h"		/* 乱数生成アルゴリズムWELL */
#include "clipjkis.h"		/* JKISS32擬似乱数 */
#include "clippopc.h"		/* 高速ビットカウント */
#include "clipcosp.h"		/* 色空間ライブラリ */
#include "clipslot.h"		/* スロットゲーム用サブルーチン集 */
#include "clipsndm.h"		/* Sound Manager */
#include "clipsndx.h"		/* Sound Mixer */
#include "clipcntm.h"		/* 汎用カウンタ管理 */
#include "clipsnds.h"		/* サウンドシーケンサ */
#include "clipgpio.h"		/* 汎用I/Oルーチン */
#include "clip7seg.h"		/* 7セグメントディスプレイ */
#include "clipx11c.h"		/* X11の色名称 */
#include "clipsckb.h"		/* オンスクリーンキーボード */
#include "clipredu.h"		/* 縮小文字列描画 */
#include "cliplogb.h"		/* ログバッファ */
#include "clipcrc.h"		/* CRC計算 */
#include "cliphmng.h"		/* ハミング符号 */
#include "machine.h"		/* CPU固有の命令 */
#include "cliprudc.h"		/* パルスモーターの台形制御(Ramp-up/Down control) */
#include "clipruds.h"		/* パルスモーターの台形制御シーケンサ */
#include "clipshya.h"		/* 操車場アルゴリズム */
#include "clipevtm.h"		/* イベントタイマ */
#include "cliptsp.h"		/* DSP Group TrueSpeech Decoder */
#include "clipptp.h"		/* USB PTP Responder (Picture Transfer Protocol), USB MTP Responder (Media Transfer Protocol) */
#include "clipaudi.h"		/* USB Audio Device */
#include "clipstr.h"		/* ユーティリティ：文字列操作 */
#include "cliptcl.h"		/* Tclインタプリタ */
#include "clipscan.h"		/* コールバックを用いたscanfの実装 */
#include "cliphfm.h"		/* Canonical Huffman Code */
#include "clipdrh.h"		/* 差分圧縮⇒連長圧縮⇒ハフマン圧縮 */
#include "cliprc.h"		/* Range Coder */
#include "clipbmgc.h"		/* Bitmap GC */
#include "clip915g.h"		/* ASUS P5GDC-V+WinXpでP/ECEを使った時に起きたUSBの問題を回避 */
#include "clipbpe.h"		/* Byte Pair Encoding */
#include "clipdirs.h"		/* 演出シーケンサ */
#include "clipleds.h"		/* LEDシーケンサ */
#include "clipunic.h"		/* Unicode */
#include "clipreg.h"		/* レジストリテーブル */
#include "cliphash.h"		/* ユーティリティ：ハッシュ関数 */
#include "clipbakm.h"		/* バックアップ管理 */
#include "clipuvc.h"		/* USB Video Class (UVC) Device */
#include "clipfibr.h"		/* ファイバ関数(Win32 API互換) */
#include "clipprin.h"		/* USB Printer Device */
#include "cliptimm.h"		/* タイマ管理 */
#include "ght_hash_table.h"	/* Generic Hash Table (GHT) */
#include "clipfsm.h"		/* 有限状態機械 */
#include "clipseh.h"		/* 構造化例外処理 (Structured Exception Handling) */
#include "clipffa.h"		/* 有限体演算 (Finite Field Arithmetic) */
#include "clipqr.h"		/* QRコード */
#include "clipimg.h"		/* ユーティリティ：画像処理 */
#include "cliptaps.h"		/* TAPシーケンサ */
#include "cliptapx.h"		/* TAPミキサー */
#include "sds.h"		/* Simple Dynamic Strings library for C (SDS) */
#include "clipprp.h"		/* プロパティテーブル */
#include "obstack.h"		/* Obstack - Pool of memory containing a stack of objects. */
#include "argz.h"		/* Argz Functions - Operations on argz vectors. */
#include "clipnvlg.h"		/* 不揮発性ログバッファ */
#include "clipscnm.h"		/* シーン管理 */
#include "clipsrec.h"		/* モトローラS (SREC) 形式ファイルローダー */
#include "cliprinb.h"		/* 無駄を減らしたリングバッファ */
#include "cliptimr.h"		/* ユーティリティ：拡張タイマ */
#include "strv.h"		/* strv形式のユーティリティ関数 */
#include "clipsjis.h"		/* シフトJIS */
#include "clipmemc.h"		/* コンパクション機能付きメモリブロック管理 */
#include "clipmath.h"		/* ユーティリティ：数学関数 */
#include "clipenm.h"		/* 列挙定義 */
#include "cliprrs.h"		/* Round Robin Scheduler (RRS) */
#include "clipcbkq.h"		/* コールバックキュー */
#include "clipcqrd.h"		/* コールバックキューを用いた優先度付き描画 */
#include "gnode.h"		/* N-ary Trees - trees of data with any number of branches */
#include "pcl.h"		/* Portable Coroutine Library (PCL) */		//{{2016/12/10移動:clipact.hがpcl.hに依存するようになったため、pcl.hのインクルード順序をclipact.hよりも前へ移動しました。}}
#include "clipact.h"		/* アクターオブジェクト */
#include "clipvsl.h"		/* ビデオスロットゲーム用サブルーチン集 */
#include "clipstl.h"		/* STLを参考にして作成した関数 */
#include "clipanms.h"		/* ステートレスアニメーションシーケンサ */
#include "clipdurc.h"		/* 存続カウンタ */
#include "clipmsgh.h"		/* メッセージハンドシェイク */
#include "clipncss.h"		/* ステートレスNCS補間シーケンサ */
#include "clippnm.h"		/* Netpbm format */
#include "garray.h"		/* Arrays - arrays of arbitrary elements which grow automatically as elements are added */
#include "clipafxs.h"		/* AfterEffectsアニメーションシーケンサ */
#include "clipyaml.h"		/* LibYAMLヘルパー関数 */
#include "clipafxb.h"		/* AfterEffectsアニメーションシーケンサ(バイナリ形式) */
#include "gstring.h"		/* Strings - text buffers which grow automatically as text is added */
#include "gdataset.h"		/* Keyed Data Lists, Datasets */
#include "clipmems.h"		/* 簡易メモリアロケータ */
#include "clipexpr.h"		/* 操車場アルゴリズム(改良版) */
#include "clipxls.h"		/* ユーティリティ：エクセル */
#include "gtree.h"		/* Balanced Binary Trees - a sorted collection of key/value pairs optimized for searching and traversing in order */
#include "clipwkst.h"		/* ワークシート(多階層ハッシュテーブル) */	//{{2016/07/17移動:clipwkst.hがgtree.hに依存するようになったため、clipwkst.hのインクルード順序をgtree.hよりも後へ移動しました。}}
#include "gslist.h"		/* Singly-Linked Lists - linked lists that can be iterated in one direction */
#include "cliplcds.h"		/* 液晶シーケンサ */
#include "clipxmp1.h"		/* YAMAHA YMZ871 XMP-1 (eXtensible Music Player - 1) 簡易ドライバ */
#include "clipmemp.h"		/* 可変長割り当て・一括開放式のメモリプール */
#include "clipttf.h"		/* TrueType font */
#include "clipvqtc.h"		/* VQ圧縮テクスチャ */
#include "clipvqtd.h"		/* VQ圧縮テクスチャ描画 */
#include "clipusar.h"		/* UnityScript Array */
#include "clipdlyq.h"		/* 遅延コールバックキュー */
#include "clippsrl.h"		/* パチスロゲーム用リールシミュレータ */
#include "clipsprf.h"		/* スプライトフォント */
#include "cliprgnm.h"		/* 領域マップ */
#ifdef PIECE
#include "clippce.h"		/* P/ECE専用ルーチン */
#endif
#ifdef WIN32
#include "clipwin.h"		/* Windows専用ルーチン */
#endif

//{{2015/11/18削除:各ヘッダファイル内で'extern "C" {'〜'}'で囲んだので、ここで'extern "C" {'〜'}'で囲む必要は無くなりました。
//#ifdef __cplusplus
//} /*extern "C"*/
//#endif /*__cplusplus*/
//}}2015/11/18削除:各ヘッダファイル内で'extern "C" {'〜'}'で囲んだので、ここで'extern "C" {'〜'}'で囲む必要は無くなりました。

#endif /*EXTCLIPH*/

#endif /*__CLIP_H__*/
