diff options
author | Alexander Smirnov <alex@ydb.tech> | 2024-10-16 12:11:24 +0000 |
---|---|---|
committer | Alexander Smirnov <alex@ydb.tech> | 2024-10-16 12:11:24 +0000 |
commit | 40811e93f3fdf9342a9295369994012420fac548 (patch) | |
tree | a8d85e094a9c21e10aa250f537c101fc2016a049 /contrib/libs/jinja2cpp/src/generic_list.cpp | |
parent | 30ebe5357bb143648c6be4d151ecd4944af81ada (diff) | |
parent | 28a0c4a9f297064538a018c512cd9bbd00a1a35d (diff) | |
download | ydb-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.cpp | 38 |
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 |