T &operator[](std::size_t i)	 throw(range_error)
T &operator[](sint32 i)	 throw(range_error)
	T &operator[](std::size_t i)	 throw(range_error)		{		if(i>=size_)			throw range_error("out of bounds");		if(data_)			return data_[i];		throw range_error("no data");		}