| 187 |  |  | 
| 188 |  | size_t size() { | 
| 189 |  | return polyPairMap_.size(); | 
| 190 | + | } | 
| 191 | + |  | 
| 192 | + | PolynomialType& operator = (const PolynomialType& p) { | 
| 193 | + |  | 
| 194 | + | if (this != &p)  // protect against invalid self-assignment | 
| 195 | + | { | 
| 196 | + | typename Polynomial<ElemType>::const_iterator i; | 
| 197 | + |  | 
| 198 | + | polyPairMap_.clear();  // clear out the old map | 
| 199 | + |  | 
| 200 | + | for (i =  p.begin(); i != p.end(); ++i) { | 
| 201 | + | this->setCoefficient(i->first, i->second); | 
| 202 | + | } | 
| 203 | + | } | 
| 204 | + | // by convention, always return *this | 
| 205 | + | return *this; | 
| 206 |  | } | 
| 207 |  |  | 
| 208 |  | PolynomialType& operator += (const PolynomialType& p) { |