namespace std { template class indirect_array { public: typedef T value_type; void operator= (const T&); void operator= (const valarray&) const; void operator*= (const valarray&) const; void operator/= (const valarray&) const; void operator%= (const valarray&) const; void operator+= (const valarray&) const; void operator-= (const valarray&) const; void operator^= (const valarray&) const; void operator&= (const valarray&) const; void operator|= (const valarray&) const; void operator<<= (const valarray&) const; void operator>>= (const valarray&) const; ~indirect_array(); private: indirect_array(); indirect_array(const indirect_array&); indirect_array& operator= (const indirect_array&); ... }; }