From b0ed0e91f5aefe3fbb3c1d90d0f1922fc42e7734 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 20 Sep 2018 14:01:11 +0800 Subject: [PATCH] add RepeatedField stl convert --- cpp/utils.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/cpp/utils.h b/cpp/utils.h index db2ba9c..75ba6ca 100644 --- a/cpp/utils.h +++ b/cpp/utils.h @@ -26,3 +26,39 @@ bool ReadCsvMetaFile(const std::string& filename, std::list& meta_list) meta_list.emplace_back(t); }); } + +template +static void RepeatedFieldToVector(const T1& t1, T2& t2) +{ + for (auto& val : t1) { + t2.push_back(val); + } +} + +template +static void RepeatedFieldToSet(const T1& t1, T2& t2) +{ + for (auto& val : t1) { + t2.insert(val); + } +} + +template +static void VectorToRepeatedField(const T1& t1, T2& t2) +{ + for (auto& val : t1) { + *t2.Add() = val; + } +} + +template +static void SetToRepeatedField(const T1& t1, T2& t2) +{ + for (auto& val : t1) { + *t2.Add() = val; + } +}