Files
Greg Landrum 6d75052459 Support using iterators with MolSuppliers (#9230)
* iterators for random-access MolSuppliers
add optional caching to SDMolSupplier

* add support to SmilesMolSupplier too
There is a lot of duplicate code between the random-access suppliers that would be worth trying to remove
but at the moment it looks like it would require multiple inheritance, and I think we want to avoid that

* add input iterators for ForwardSDMolSupplier()

* throw when calling begin() on a used supplier

* switch to use the spaceship operator

* init() should reset the mol cache

* Make SDMolSupplier and SmilesMolSupplier safe for multi-threaded reads

* add benchmarking

* add TDTMolSupplier support
improved testing
add benchmarks for parallel iteration
optional TBB support

* better const handling, add reverse iterators

doesn't look like const_iterator is possible since getting data from the underlyng supplier object is non-const

* improve docs
more usings
add reverse iterator to TDTMolSupplier

* tests only try execution::par when it is there

* fix typo

* more testing/demo

* remove accidentally added files

* review changes

* add default ctors

* disable a false-positive compiler warning
it is stupid to have to do this

---------

Co-authored-by: = <=>
2026-05-05 13:36:15 +02:00
..
2013-10-25 05:02:09 +02:00
2014-03-17 08:33:07 +01:00
2016-11-04 04:29:26 +01:00
2016-11-04 04:29:26 +01:00
2006-05-06 22:20:08 +00:00
2019-10-10 20:18:43 +09:00
2019-10-10 20:18:43 +09:00
2019-10-10 20:18:43 +09:00
2023-02-08 04:31:51 +01:00
2014-05-22 17:34:06 +02:00
2014-05-22 17:34:06 +02:00
2014-05-23 08:26:26 +02:00
2014-05-23 08:26:26 +02:00
2014-05-23 08:26:26 +02:00
2019-10-10 20:18:43 +09:00
2008-11-24 07:40:53 +00:00
2008-11-24 07:40:53 +00:00
2013-07-15 17:04:15 +02:00
2013-07-15 17:04:15 +02:00
2013-07-15 17:04:15 +02:00
2013-07-15 17:04:15 +02:00
2014-01-08 06:51:48 +01:00
2014-01-08 06:51:48 +01:00
2019-10-10 20:18:43 +09:00
2006-05-06 22:20:08 +00:00
2019-10-10 20:18:43 +09:00
2006-05-06 22:20:08 +00:00
2019-10-10 20:18:43 +09:00
2006-05-06 22:20:08 +00:00
2019-10-10 20:18:43 +09:00
2006-05-06 22:20:08 +00:00
2006-05-06 22:20:08 +00:00
2013-07-09 07:19:24 +02:00
2019-10-10 20:18:43 +09:00
2019-10-10 20:18:43 +09:00
2013-11-30 06:58:03 +01:00
2013-11-30 06:58:03 +01:00
2023-12-22 04:58:18 +01:00
2012-08-15 04:21:33 +00:00
2019-10-10 20:18:43 +09:00
2013-04-21 05:22:57 +00:00
2019-10-10 20:18:43 +09:00
2019-10-10 20:18:43 +09:00
2019-10-10 20:18:43 +09:00
2019-10-10 20:18:43 +09:00
2013-10-05 11:10:32 +01:00
2013-11-30 06:58:03 +01:00
2019-10-10 20:18:43 +09:00
2019-10-10 20:18:43 +09:00
2019-10-10 20:18:43 +09:00
2013-08-23 09:18:04 +02:00
2013-08-21 20:45:54 +02:00
2013-08-21 20:45:54 +02:00
2014-01-11 06:01:30 +01:00
2014-01-11 05:38:11 +01:00
2014-01-11 05:38:11 +01:00
2014-01-11 05:38:11 +01:00
2016-03-29 10:58:56 +02:00
2014-03-13 05:23:56 +01:00
2014-01-12 05:42:50 +01:00
2014-01-12 05:42:50 +01:00
2016-03-29 13:19:10 +02:00
2014-01-16 02:07:03 -05:00
2014-02-03 05:25:27 +01:00
2014-10-25 12:13:01 +02:00
2015-02-21 14:20:47 +01:00
2015-02-21 14:20:47 +01:00
2016-02-13 05:38:03 +01:00
2016-02-13 05:38:03 +01:00
2016-08-18 16:29:29 -04:00
2016-09-01 09:22:17 +02:00
2016-09-01 09:22:17 +02:00
2017-01-09 16:29:06 -05:00
2018-08-12 17:10:09 -04:00
2018-08-12 17:10:09 -04:00
2018-10-08 22:27:48 +02:00
2019-01-17 11:44:23 -05:00
2019-01-17 11:44:23 -05:00
2019-01-22 10:53:48 -05:00
2024-07-01 05:00:24 +02:00
2013-12-31 08:27:09 +01:00
2015-09-10 16:01:15 +02:00
2019-10-10 20:18:43 +09:00
2006-05-06 22:20:08 +00:00
2006-05-06 22:20:08 +00:00
2006-05-06 22:20:08 +00:00
2006-05-06 22:20:08 +00:00
2019-10-10 20:18:43 +09:00
2006-05-06 22:20:08 +00:00
2006-05-06 22:20:08 +00:00
2006-05-06 22:20:08 +00:00
2006-05-06 22:20:08 +00:00
2006-05-06 22:20:08 +00:00
2008-05-16 05:35:50 +00:00
2011-03-25 03:26:03 +00:00
2011-07-22 10:55:40 +00:00
2011-07-22 10:55:40 +00:00
2011-07-23 03:49:36 +00:00
2011-08-30 09:13:07 +00:00
2011-08-30 09:13:07 +00:00
2012-01-22 09:40:54 +00:00
2012-02-02 03:28:48 +00:00
2012-04-10 04:14:52 +00:00
2012-04-10 04:14:52 +00:00
2012-05-09 13:13:46 +00:00
2012-05-12 05:31:54 +00:00
2008-12-10 09:09:02 +00:00
2019-10-10 20:18:43 +09:00
2022-04-17 17:35:43 +02:00
2019-10-10 20:18:43 +09:00
2019-10-10 20:18:43 +09:00
2013-07-15 17:04:15 +02:00
2019-10-10 20:18:43 +09:00
2019-10-10 20:18:43 +09:00
2013-10-05 16:19:02 +02:00
2006-05-06 22:20:08 +00:00
2006-05-06 22:20:08 +00:00
2006-05-06 22:20:08 +00:00
2006-05-06 22:20:08 +00:00
2012-10-10 10:16:13 +00:00
2021-02-16 08:04:37 +01:00
2012-08-15 04:21:33 +00:00
2019-10-10 20:18:43 +09:00
2006-05-06 22:20:08 +00:00
2006-05-06 22:20:08 +00:00
2014-10-04 14:44:42 +02:00
2009-06-11 04:55:44 +00:00
2009-06-11 04:55:44 +00:00
2009-06-11 04:55:44 +00:00
2009-06-11 04:55:44 +00:00
2010-02-15 12:43:38 +00:00