diff --git a/include/tadah/mlip/st_descriptors_db.h b/include/tadah/mlip/st_descriptors_db.h index 7f45999ec14d58f0fd3fb2d9c4dc045d873e32e3..6272db8c0b1dab60451dae98beaa6ec42c9d85a6 100644 --- a/include/tadah/mlip/st_descriptors_db.h +++ b/include/tadah/mlip/st_descriptors_db.h @@ -38,5 +38,11 @@ struct StDescriptorsDB { /** Add StDescriptors to DB */ void add(const StDescriptors &st_d); + // Methods to enable range-based for loop + std::vector<StDescriptors>::iterator begin(); + std::vector<StDescriptors>::iterator end(); + std::vector<StDescriptors>::const_iterator begin() const; + std::vector<StDescriptors>::const_iterator end() const; + }; #endif diff --git a/src/st_descriptors_db.cpp b/src/st_descriptors_db.cpp index 21960ac48dd58b85e149d0a417917fa5f1b2e8cf..3dce74f8c5e21d70596c39a810406923ebbd990c 100644 --- a/src/st_descriptors_db.cpp +++ b/src/st_descriptors_db.cpp @@ -18,3 +18,18 @@ size_t StDescriptorsDB::size() const { void StDescriptorsDB::add(const StDescriptors &st_d) { st_descs.push_back(st_d); } +std::vector<StDescriptors>::iterator StDescriptorsDB::begin() { + return st_descs.begin(); +} + +std::vector<StDescriptors>::iterator StDescriptorsDB::end() { + return st_descs.end(); +} + +std::vector<StDescriptors>::const_iterator StDescriptorsDB::begin() const { + return st_descs.cbegin(); +} + +std::vector<StDescriptors>::const_iterator StDescriptorsDB::end() const { + return st_descs.cend(); +}