#61 2b364d918b60e8227d99d6132e45e1593c218c96 breaks compatibility, leading to compilation failure of Open Babel:
../src/formats/maeformat.cpp: In member function ‘virtual bool OpenBabel::MAEFormat::WriteMolecule(OpenBabel::OBBase*, OpenBabel::OBConversion*)’:
../src/formats/maeformat.cpp:332:49: error: cannot bind rvalue reference of type ‘std::shared_ptr<schrodinger::mae::IndexedBlock>&&’ to lvalue of type ‘std::shared_ptr<schrodinger::mae::IndexedBlock>’
ibm->addIndexedBlock(atom_block->getName(), atom_block);
^~~~~~~~~~
In file included from ../external/maeparser-master/maeparser/Reader.hpp:8,
from ../src/formats/maeformat.cpp:33:
../external/maeparser-master/maeparser/MaeBlock.hpp:72:10: note: initializing argument 2 of ‘void schrodinger::mae::IndexedBlockMap::addIndexedBlock(const string&, std::shared_ptr<schrodinger::mae::IndexedBlock>&&)’
void addIndexedBlock(const std::string& name,
^~~~~~~~~~~~~~~
../src/formats/maeformat.cpp:333:49: error: cannot bind rvalue reference of type ‘std::shared_ptr<schrodinger::mae::IndexedBlock>&&’ to lvalue of type ‘std::shared_ptr<schrodinger::mae::IndexedBlock>’
ibm->addIndexedBlock(bond_block->getName(), bond_block);
^~~~~~~~~~
In file included from ../external/maeparser-master/maeparser/Reader.hpp:8,
from ../src/formats/maeformat.cpp:33:
../external/maeparser-master/maeparser/MaeBlock.hpp:72:10: note: initializing argument 2 of ‘void schrodinger::mae::IndexedBlockMap::addIndexedBlock(const string&, std::shared_ptr<schrodinger::mae::IndexedBlock>&&)’
void addIndexedBlock(const std::string& name,
^~~~~~~~~~~~~~~
To fix this, const reference pass by value and use move instead of rvalue reference.
#612b364d918b60e8227d99d6132e45e1593c218c96 breaks compatibility, leading to compilation failure of Open Babel:To fix this,
const referencepass by value and use move instead of rvalue reference.