1 #ifndef CLASSIC_Array1D_HH
2 #define CLASSIC_Array1D_HH
134 len(array.len), data(new
T[len]) {
141 len(n), data(new
T[len])
147 len(n), data(new
T[len]) {
163 data =
new T[rhs.
len];
167 std::copy(rhs.
begin(), rhs.
end(), begin());
173 template<
class T>
inline
179 template<
class T>
inline
187 if(i < 0 || i >= size()) {
188 throw CLRangeError(
"Array1D::operator()",
"Index out of range.");
196 if(i < 0 || i >= size()) {
197 throw CLRangeError(
"Array1D::operator()",
"Index out of range.");
238 std::copy(old, old + len, begin());
246 std::ostream &operator<<(std::ostream &os, const Array1D<T> &v) {
247 for(
int i = 0; i < v.size(); ++i) {
255 #endif // CLASSIC_Array1D_HH
Array1D< T > & operator=(const Array1D< T > &)
iterator end()
Get end of data.
const T * const_iterator
The iterator type for constant array.
int size() const
Get array size.
Array1D()
Default constructor.
iterator begin()
Get beginning of data.
T value_type
The value type of this array.
T & operator[](int)
Get reference to element.
void resize(int size)
Change array size.
T * iterator
The iterator type for the array.
T & operator()(int n)
Get reference to element.
Inform & endl(Inform &inf)