Skip to content

Commit

Permalink
Merge pull request #811 from epam/feature/520_std_map_canonical_smile…
Browse files Browse the repository at this point in the history
…s_saver

Issue #520: core: replace RedBlackMap in CanonicalSmilesSaver
  • Loading branch information
MysterionRise authored Oct 13, 2022
2 parents 9549d2b + 41a662c commit 8ea11d2
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
4 changes: 3 additions & 1 deletion core/indigo-core/molecule/canonical_smiles_saver.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
#ifndef __canonical_smiles_saver__
#define __canonical_smiles_saver__

#include <map>

#include "base_cpp/exception.h"
#include "molecule/smiles_saver.h"

Expand All @@ -38,7 +40,7 @@ namespace indigo
DECL_ERROR;

protected:
typedef RedBlackMap<int, int> MapIntInt;
typedef std::map<int, int> MapIntInt;

TL_CP_DECL(Array<int>, _actual_atom_atom_mapping);
TL_CP_DECL(MapIntInt, _initial_to_actual);
Expand Down
9 changes: 5 additions & 4 deletions core/indigo-core/molecule/src/canonical_smiles_saver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ CanonicalSmilesSaver::CanonicalSmilesSaver(Output& output) : SmilesSaver(output)
ignore_hydrogens = true;
canonize_chiralities = true;
_initial_to_actual.clear();
_initial_to_actual.insert(0, 0);
_initial_to_actual.emplace(0, 0);
_aam_counter = 0;
}

Expand Down Expand Up @@ -121,14 +121,15 @@ void CanonicalSmilesSaver::saveMolecule(Molecule& mol_)
int aam = mol.reaction_atom_mapping[order[i]];
if (aam)
{
if (!_initial_to_actual.find(aam))
const auto it = _initial_to_actual.find(aam);
if (it == _initial_to_actual.end())
{
_initial_to_actual.insert(aam, ++_aam_counter);
_initial_to_actual.emplace(aam, ++_aam_counter);
_actual_atom_atom_mapping[order[i]] = _aam_counter;
}
else
{
_actual_atom_atom_mapping[order[i]] = _initial_to_actual.at(aam);
_actual_atom_atom_mapping[order[i]] = it->second;
}
}
}
Expand Down

0 comments on commit 8ea11d2

Please sign in to comment.