| 388 | } |
| 389 | |
| 390 | RowAtom::RowAtom(const sptr<Atom>& el) |
| 391 | : _lookAtLastAtom(false), _previousAtom(nullptr), _canBreak(true) { |
| 392 | if (el != nullptr) { |
| 393 | RowAtom* x = dynamic_cast<RowAtom*>(el.get()); |
| 394 | if (x != nullptr) { |
| 395 | // no need to make an mrow the only element of a mrow |
| 396 | _elements.insert(_elements.end(), x->_elements.begin(), x->_elements.end()); |
| 397 | } else { |
| 398 | _elements.push_back(el); |
| 399 | } |
| 400 | } |
| 401 | } |
| 402 | |
| 403 | sptr<Atom> RowAtom::getFirstAtom() { |
| 404 | if (!_elements.empty()) return _elements.front(); |