aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/jinja2cpp/src/generic_list.cpp
diff options
context:
space:
mode:
authorAlexander Smirnov <alex@ydb.tech>2024-10-16 12:11:24 +0000
committerAlexander Smirnov <alex@ydb.tech>2024-10-16 12:11:24 +0000
commit40811e93f3fdf9342a9295369994012420fac548 (patch)
treea8d85e094a9c21e10aa250f537c101fc2016a049 /contrib/libs/jinja2cpp/src/generic_list.cpp
parent30ebe5357bb143648c6be4d151ecd4944af81ada (diff)
parent28a0c4a9f297064538a018c512cd9bbd00a1a35d (diff)
downloadydb-40811e93f3fdf9342a9295369994012420fac548.tar.gz
Merge branch 'rightlib' into mergelibs-241016-1210
Diffstat (limited to 'contrib/libs/jinja2cpp/src/generic_list.cpp')
-rw-r--r--contrib/libs/jinja2cpp/src/generic_list.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/contrib/libs/jinja2cpp/src/generic_list.cpp b/contrib/libs/jinja2cpp/src/generic_list.cpp
new file mode 100644
index 0000000000..883ef3615a
--- /dev/null
+++ b/contrib/libs/jinja2cpp/src/generic_list.cpp
@@ -0,0 +1,38 @@
+#include <jinja2cpp/generic_list.h>
+#include <jinja2cpp/generic_list_iterator.h>
+
+namespace jinja2 {
+
+detail::GenericListIterator GenericList::begin() const
+{
+ return m_accessor && m_accessor() ? detail::GenericListIterator(m_accessor()->CreateEnumerator()) : detail::GenericListIterator();
+}
+
+detail::GenericListIterator GenericList::end() const
+{
+ return detail::GenericListIterator();
+}
+
+auto GenericList::cbegin() const {return begin();}
+auto GenericList::cend() const {return end();}
+
+bool GenericList::IsEqual(const GenericList& rhs) const
+{
+ if (IsValid() && rhs.IsValid() && !GetAccessor()->IsEqual(*rhs.GetAccessor()))
+ return false;
+ if ((IsValid() && !rhs.IsValid()) || (!IsValid() && rhs.IsValid()))
+ return false;
+ return true;
+}
+
+bool operator==(const GenericList& lhs, const GenericList& rhs)
+{
+ return lhs.IsEqual(rhs);
+}
+
+bool operator!=(const GenericList& lhs, const GenericList& rhs)
+{
+ return !(lhs == rhs);
+}
+
+} // namespace jinja2