⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rvector.cct

📁 C语言前端编译器,yacc/lex编写,可自行修改代码.
💻 CCT
字号:
// Copyright 2000 by Robert Dick.
// All rights reserved.

/*###########################################################################*/
template <typename T>
inline T &
RVector<T>::operator[](size_type a) {
#ifdef ROB_DEBUG
	if (a >= size() || a < 0) {
		cerr << "For datatype " << typeid(*this).name() << ": size = " <<
		  size() << ".  Reference = " << a << ".\n";
		Rabort();
	}
#endif

	return impl_[a];
}

/*===========================================================================*/
template <typename T>
inline const T &
RVector<T>::operator[](size_type a) const {
	return runconst(*this)[a];
}

/*===========================================================================*/
template <typename T> template <class InIter>
void RVector<T>::assign(InIter first, InIter last) {
	impl_.assign(first, last);
}

/*===========================================================================*/
template <typename T>
T *
RVector<T>::insert(T * pos, const T & x) {
	return impl_.insert(pos, x);
}

/*===========================================================================*/
template <typename T> template <typename InIter>
void RVector<T>::insert(T * pos, InIter first,
InIter last) {
	impl_.insert(pos, first, last);
}

/*===========================================================================*/
template <typename T>
void RVector<T>::insert(T * pos, size_type n, const T & x) {
	impl_.insert(pos, n, x);
}

/*===========================================================================*/
template <typename T>
RVector<T> &
RVector<T>::operator=(const self & a) {
	impl_ = a.impl_;
	return *this;
}

/*===========================================================================*/
template <typename T>
comp_type
RVector<T>::comp_default(const self & b) const {
	return comp_cont(*this, b);
}

/*===========================================================================*/
template <typename T>
void RVector<T>::self_check_deep() const {
	self_check();
	map_self_check_deep(begin(), end());
}

/*###########################################################################*/
template <int DIM, typename T, template <int, typename> class INDEX>
MVector<DIM, T, INDEX>::MVector(size_t n,
typename super::const_reference value) :
	super(n, value)
{}

/*===========================================================================*/
template <int DIM, typename T, template <int, typename> class INDEX>
template <typename IT>
T &
MVector<DIM, T, INDEX>::operator[](const INDEX<DIM, IT> & indx) {
	return dim_index<IT>(indx.begin());
}

/*===========================================================================*/
template <int DIM, typename T, template <int, typename> class INDEX>
template <typename IT>
const T &
MVector<DIM, T, INDEX>::operator[](const INDEX<DIM, IT> & indx) const {
	return dim_index<IT>(indx.begin());
}

/*===========================================================================*/
template <int DIM, typename T, template <int, typename> class INDEX>
MVector<DIM, T, INDEX>::const_reference
MVector<DIM, T, INDEX>::operator[](size_type a) const {
	return super::operator[](a);
}

/*################################o##########################################*/
template <typename T, template <int, typename> class INDEX>
template <typename IT>
T &
MVector<1, T, INDEX>::operator[](const INDEX<1, IT> & a) {
	return dim_index<IT>(a.begin());
}

/*===========================================================================*/
template <typename T, template <int, typename> class INDEX>
template <typename IT>
const T &
MVector<1, T, INDEX>::operator[](const INDEX<1, IT> & a) const {
	return dim_index<IT>(a.begin());
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -