#pragma once #include "Vector.h" namespace MbD { template class FullRow : public Vector { public: FullRow() {} FullRow(size_t count) : Vector(count) {} FullRow(size_t count, const T& value) : Vector(count, value) {} FullRow(std::initializer_list list) : Vector{ list } {} std::shared_ptr> times(double a); std::shared_ptr> negated(); }; template inline std::shared_ptr> FullRow::times(double a) { size_t n = this->size(); auto answer = std::make_shared(n); for (int i = 0; i < n; i++) { answer->at(i) = this->at(i) * a; } return answer; } template inline std::shared_ptr> FullRow::negated() { return this->times(-1.0); } using ListFRD = std::initializer_list>>; using FRowDsptr = std::shared_ptr>; }