亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? interface.cct

?? C語言前端編譯器,yacc/lex編寫,可自行修改代碼.
?? CCT
字號:
// Copyright 2000 by Robert Dick.
// All rights reserved.

/*###########################################################################*/
template <typename T>
void PrintsBase<T, true, true>::print_to(ostream & os) const {
	static_cast<const T *>(this)->print_to_default(os);
}

/*===========================================================================*/
template <typename T, bool PROVIDE>
ostream &
operator<<(ostream & os, const PrintsBase<T, true, PROVIDE> & p) {
	static_cast<const T &>(p).print_to(os);
	return os;
}

/*===========================================================================*/
template <typename T>
ostream &
operator<<(ostream & os, const PrintsBase<T, true, false> & p) {
	static_cast<const T &>(p).print_to(os);
	return os;
}

/*===========================================================================*/
template <typename InIter>
void print_cont(InIter first, InIter last, ostream & os,
const char * sep) {
	while (first != last) {
		os << *first;
		first++;
		if (first != last) {
			os << sep;
		}
	}
}

/*===========================================================================*/
template <typename Container>
void print_cont(const Container & c, ostream & os, const char * sep) {
	print_cont(c.begin(), c.end(), os, sep);
}

/*###########################################################################*/
template <typename T>
comp_type
CompsBase<T, true, true>::comp(const T & b) const {
	const T & aa = static_cast<const T &>(*this);
	return aa.comp_default(b);
}

/*===========================================================================*/
template <typename T>
comp_type
comp_obj<T>::operator()(const T & a, const T & b) const {
	return comp(a, b);
}

/*===========================================================================*/
template <typename T, bool CLONES_SELF>
	struct comp_helper {};

/*===========================================================================*/
template <typename T>
struct comp_helper<T, false> {
	static comp_type comp(const T & a, const T & b) {
		if (a < b) {
			return LESS;
		} else if (b < a) {
			return GREATER;
		} else {
			return EQ;
		}
	}
};

/*===========================================================================*/
template <typename T>
struct comp_helper<T, true> {
	static comp_type comp(const T & a, const T & b) {
		return a.comp(b);
	}
};

/*===========================================================================*/
template <typename T>
comp_type
comp(const T & a, const T & b) {
	return comp_helper<T, same_or_derived<T, CompsRoot>::result>::comp(a, b);
}

/*===========================================================================*/
template <typename I,
typename comp_func<iterator_traits<I>::value_type>::func COMP>
comp_type
comp_cont(I first1, I last1, I first2, I last2) {
	const iterator_traits<I>::difference_type sz1 = last1 - first1;
	const iterator_traits<I>::difference_type sz2 = last2 - first2;

	for (; first1 != last1 && first2 != last2; ++first1, ++first2) {
		const comp_type cmp = (*COMP)(*first1, *first2);
		if (cmp < 0) {
			return LESS;
		} else if (cmp > 0) {
			return GREATER;
		}
	}

	if (sz1 < sz2) {
		return LESS;
	} else if (sz2 < sz1) {
		return GREATER;
	}

	return EQ;
}

/*===========================================================================*/
template <typename I>
comp_type
comp_cont(I first1, I last1, I first2, I last2) {
	return comp_cont<I, &comp<typename iterator_traits<I>::value_type> >(
		c1.begin(), c1.end(), c2.begin(), c2.end());
}

/*===========================================================================*/
template <typename C>
comp_type
comp_cont(const C & c1, const C & c2) {
	return comp_cont<typename C::const_iterator,
		&comp<typename C::value_type> >(
		c1.begin(), c1.end(), c2.begin(), c2.end());
}

/*===========================================================================*/
template <typename T, bool PROVIDE>
bool
operator<(const CompsBase<T, true, PROVIDE> & a,
const CompsBase<T, true, PROVIDE> & b) {
	const T & aa = static_cast<const T &>(a);
	const T & bb = static_cast<const T &>(b);
	return aa.comp(bb) < 0;
}

/*===========================================================================*/
template <typename T>
bool
operator<(const CompsBase<T, true, false> & a,
const CompsBase<T, true, false> & b) {
	const T & aa = static_cast<const T &>(a);
	const T & bb = static_cast<const T &>(b);
	return aa.comp(bb) < 0;
}

/*===========================================================================*/
template <typename T, bool PROVIDE>
bool
operator==(const CompsBase<T, true, PROVIDE> & a,
const CompsBase<T, true, PROVIDE> & b) {
	const T & aa = static_cast<const T &>(a);
	const T & bb = static_cast<const T &>(b);
	return ! aa.comp(bb);
}

/*===========================================================================*/
template <typename T>
bool
operator==(const CompsBase<T, true, false> & a,
const CompsBase<T, true, false> & b) {
	const T & aa = static_cast<const T &>(a);
	const T & bb = static_cast<const T &>(b);
	return ! aa.comp(bb);
}

/*###########################################################################*/
template <typename T, bool CLONES_SELF>
	struct clone_helper {};

/*===========================================================================*/
template <typename T>
struct clone_helper<T, false> {
	static T * clone(const T & a) { return new T(a); }
};

/*===========================================================================*/
template <typename T>
struct clone_helper<T, true> {
	static T * clone(const T & a) {
// FIXME: Compiler problems prevent type checking.
#if 0
		typedef T * (T::*CLN)() const;
		CLN cln = static_cast<CLN>(&T::clone);
		return (a.*cln)();
#endif
		return static_cast<T *>(a.clone());
	}
};

/*===========================================================================*/
template <typename T>
T *
clone(const T & a) {
	RASSERT(&a);
	return clone_helper<T, same_or_derived<T, ClonesBase>::result>::clone(a);
}

/*###########################################################################*/
template <typename T, bool SWAPS_SELF>
	struct rswap_helper {};

/*===========================================================================*/
template <typename T>
struct rswap_helper<T, false> {
	static void rswap(T & a, T & b) {
		const T tmp = a;
		a = b;
		b = tmp;
	}
};

/*===========================================================================*/
template <typename T>
struct rswap_helper<T, true> {
	static void rswap(T & a, T & b) {
		typedef void (T::*SWP)(T &);
		SWP swp = static_cast<SWP>(&T::rswap);
		(a.*swp)(b);
	}
};

/*===========================================================================*/
template <typename T>
void rswap(T & a, T & b) {
	return rswap_helper<T, same_or_derived<T, SwapsBase>::result>::rswap(a, b);
}

/*###########################################################################*/
template <typename T, bool SELF_CHECKS>
	struct scheck_helper {};

/*===========================================================================*/
template <typename T>
struct scheck_helper<T, false> {
// Do nothing.
	static void scheck_deep(const T &) {}
};

/*===========================================================================*/
template <typename T>
struct scheck_helper<T, true> {
	typedef void (T::*SCD)() const;

	static void scheck_deep(const T & a) {
		SCD scd = &T::self_check_deep;
		(a.*scd)();
	}
};

/*===========================================================================*/
template <typename T>
SChecks<T>::~SChecks() {
#if defined ROB_DEBUG
	typedef void (T::*SCK)() const;
	SCK sckd = &T::self_check_deep;
	sckd = 0;
	SCK sck = &T::self_check;
	sck = 0;
#endif
}

/*===========================================================================*/
template <typename T>
void try_scheck_deep(const T & a) {
	return scheck_helper<T,
		same_or_derived<T, SChecksBase>::result>::scheck_deep(a);
}

/*===========================================================================*/
template <typename ITER>
void map_self_check_deep(ITER begin, ITER end) {
	for (; begin != end; ++begin) {
		try_scheck_deep(*begin);
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品123| 99精品欧美一区| 亚洲一区二区三区四区五区中文| 久久久久久久久久久久久久久99| 日韩欧美中文字幕公布| 日韩免费高清电影| 欧美变态tickle挠乳网站| 精品国产免费一区二区三区香蕉| 欧美一区二区日韩| 日韩欧美色电影| 久久精品视频免费| 国产亚洲欧美日韩在线一区| 中文字幕高清一区| 亚洲男人的天堂av| 日韩电影免费在线看| 精品在线你懂的| 国产成人丝袜美腿| 色呦呦日韩精品| 欧美男同性恋视频网站| 欧美成人aa大片| 18成人在线视频| 亚洲成人av一区| 久久国产尿小便嘘嘘| 国产成人免费在线视频| 99r国产精品| 91精品国产色综合久久ai换脸 | 亚洲成人第一页| 精品一区二区三区视频在线观看 | 亚洲国产成人91porn| 日韩成人一级大片| 成人伦理片在线| 欧美日韩亚洲高清一区二区| 日韩欧美国产小视频| 中文字幕不卡在线播放| 午夜在线成人av| 国产福利视频一区二区三区| 日本大香伊一区二区三区| 欧美一二三区在线观看| 国产精品毛片无遮挡高清| 午夜精品福利一区二区三区蜜桃| 国内精品写真在线观看| 91网站在线观看视频| 欧美一区二区三区白人| 亚洲人成亚洲人成在线观看图片| 轻轻草成人在线| 91小视频免费观看| 久久综合色婷婷| 婷婷国产在线综合| 成人av电影观看| 精品国产乱码久久久久久久久 | 欧美日韩精品一区二区三区蜜桃 | 精品粉嫩aⅴ一区二区三区四区| 国产精品久线观看视频| 久草热8精品视频在线观看| 在线一区二区视频| 亚洲欧美自拍偷拍色图| 国内不卡的二区三区中文字幕| 在线观看欧美黄色| 亚洲视频一二三| 国产成人av电影在线播放| 欧美一区日韩一区| 亚洲成在线观看| 91猫先生在线| 中文字幕中文字幕在线一区 | 国产精品99久久久久久久vr| 欧美久久久久中文字幕| 一区二区高清免费观看影视大全| 成人亚洲一区二区一| 久久夜色精品国产噜噜av| 美国一区二区三区在线播放| 欧美日本在线播放| 亚洲成av人在线观看| 91福利在线免费观看| 亚洲欧洲精品成人久久奇米网| 成人福利视频网站| 国产欧美日韩在线观看| 丰满少妇在线播放bd日韩电影| 精品美女一区二区| 国产精品一二二区| 精品国产一区二区亚洲人成毛片 | 久久久精品人体av艺术| 国产剧情在线观看一区二区| 久久婷婷综合激情| 国产精品99久| 亚洲色图制服诱惑| 欧美午夜影院一区| 亚洲va国产天堂va久久en| 欧美日韩黄色一区二区| 日韩国产欧美在线播放| 日韩欧美国产一区二区在线播放 | 99这里只有久久精品视频| 亚洲欧洲精品一区二区精品久久久 | 亚洲欧美电影院| 欧美性色综合网| 日韩国产高清影视| 国产亚洲欧美激情| 色哟哟亚洲精品| 天堂蜜桃91精品| 久久免费国产精品| 97精品国产露脸对白| 亚洲成a天堂v人片| www日韩大片| 91理论电影在线观看| 午夜av一区二区| 久久久久久久久久看片| 日本久久一区二区| 国内精品不卡在线| 夜夜亚洲天天久久| 精品久久久久99| 色哟哟国产精品| 青青草国产精品97视觉盛宴| 国产精品不卡视频| 日韩三级在线观看| 99久久精品一区二区| 视频一区视频二区中文字幕| 国产精品系列在线| 欧美日高清视频| 99re热视频精品| 久久99久久久久久久久久久| 国产精品国产精品国产专区不片| 69av一区二区三区| 91福利在线看| 福利一区二区在线| 日产国产高清一区二区三区| 亚洲欧美区自拍先锋| 久久亚洲影视婷婷| 欧美日韩精品一区二区天天拍小说 | 在线欧美日韩精品| 国产高清无密码一区二区三区| 性欧美大战久久久久久久久| 国产精品久久久久久久久免费樱桃| 69堂亚洲精品首页| 欧美日韩国产中文| 欧洲中文字幕精品| 大美女一区二区三区| 精品一区二区三区在线观看国产| 亚洲一区二区三区视频在线播放| 中文字幕在线不卡| 久久婷婷色综合| 欧美电影免费观看高清完整版在线| 欧美午夜影院一区| 在线视频欧美精品| 日本乱人伦aⅴ精品| 91丝袜美女网| 91看片淫黄大片一级在线观看| 国产高清亚洲一区| 国产精品99久久久久久有的能看| 久久99国产精品免费网站| 蜜臀av一区二区| 老司机精品视频一区二区三区| 美国十次综合导航| 激情综合网天天干| 国产一区 二区| 成人一区二区在线观看| 成人av在线电影| 91美女片黄在线观看91美女| 日本道色综合久久| 欧美日韩国产片| 欧美一区二区网站| 欧美mv和日韩mv的网站| 精品欧美一区二区在线观看| 久久综合狠狠综合久久激情| 久久精品夜色噜噜亚洲a∨| 国产人伦精品一区二区| 中文字幕av免费专区久久| 国产精品黄色在线观看| 一区二区三区在线免费视频| 亚洲国产日韩在线一区模特| 视频一区二区三区在线| 另类的小说在线视频另类成人小视频在线 | 日韩中文欧美在线| 国产在线精品国自产拍免费| 成人成人成人在线视频| 色视频一区二区| 欧美一区二区三区婷婷月色| 2023国产一二三区日本精品2022| 久久久国产精华| 亚洲精品乱码久久久久久黑人 | 日韩天堂在线观看| 国产欧美一区二区三区网站| 成人欧美一区二区三区白人| 亚洲va天堂va国产va久| 老司机精品视频线观看86| 成人av资源在线| 欧美日韩一级视频| 久久久久久久精| 亚洲影视在线观看| 麻豆一区二区三区| 99热在这里有精品免费| 欧美午夜电影一区| 国产午夜精品久久| 亚洲一区二区精品久久av| 国产另类ts人妖一区二区| 欧美日产在线观看| 国产精品乱子久久久久| 日本亚洲电影天堂| 一本久道久久综合中文字幕 | 91久久香蕉国产日韩欧美9色| 欧美videossexotv100| 亚洲精选视频在线|