diff options
Diffstat (limited to 'src/core/model/Document.hpp')
-rw-r--r-- | src/core/model/Document.hpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/core/model/Document.hpp b/src/core/model/Document.hpp index 8019379..6b2ae47 100644 --- a/src/core/model/Document.hpp +++ b/src/core/model/Document.hpp @@ -157,16 +157,18 @@ private: void invalidateSubInstance(); template <typename Iterator> - Rooted<Anchor> searchStartAnchorInField(Handle<AnnotationClass> desc, - const std::string &name, - Iterator begin, Iterator end); - - Rooted<Anchor> searchStartAnchorDownwards(Handle<AnnotationClass> desc, - const std::string &name); - - Rooted<Anchor> searchStartAnchorUpwards(Handle<AnnotationClass> desc, - const std::string &name, - const DocumentEntity *child); + Rooted<Anchor> searchStartAnchorInField( + Handle<AnnotationClass> desc, const std::string &name, Iterator begin, + Iterator end, std::unordered_set<const DocumentEntity *> &visited); + + Rooted<Anchor> searchStartAnchorDownwards( + Handle<AnnotationClass> desc, const std::string &name, + std::unordered_set<const DocumentEntity *> &visited); + + Rooted<Anchor> searchStartAnchorUpwards( + Handle<AnnotationClass> desc, const std::string &name, + const DocumentEntity *child, + std::unordered_set<const DocumentEntity *> &visited); protected: bool doValidate(Logger &logger) const; |