11#ifndef RDKIT_SYNTHONSPACE_SEARCHRESULTS_H
12#define RDKIT_SYNTHONSPACE_SEARCHRESULTS_H
14#include <unordered_map>
16#include <boost/unordered/unordered_flat_set.hpp>
27 std::function<bool(std::vector<std::unique_ptr<ROMol>> &)>;
36 std::unique_ptr<ROMol> &&bestHit, std::uint64_t maxNumRes,
37 bool timedOut,
bool cancelled);
61 return d_hitMolecules;
73 const std::unique_ptr<ROMol> &
getBestHit()
const {
return d_bestHitFound; }
94 std::vector<std::unique_ptr<ROMol>> d_hitMolecules;
97 std::unordered_map<std::string, size_t> d_molNames;
99 std::uint64_t d_maxNumResults;
100 bool d_timedOut{
false};
101 bool d_cancelled{
false};
107 std::unique_ptr<ROMol> d_bestHitFound;
Defines the primary molecule class ROMol as well as associated typedefs.
const std::vector< std::unique_ptr< ROMol > > & getHitMolecules() const
std::uint64_t getMaxNumResults() const
SearchResults & operator=(SearchResults &&other)=default
SearchResults(const SearchResults &other)
const std::unique_ptr< ROMol > & getBestHit() const
SearchResults & operator=(const SearchResults &other)
void mergeResults(SearchResults &other)
bool getCancelled() const
SearchResults(SearchResults &&other)=default
SearchResults(std::vector< std::unique_ptr< ROMol > > &&mols, std::unique_ptr< ROMol > &&bestHit, std::uint64_t maxNumRes, bool timedOut, bool cancelled)
#define RDKIT_SYNTHONSPACESEARCH_EXPORT
std::function< bool(std::vector< std::unique_ptr< ROMol > > &)> SearchResultCallback