31 const char SERIALIZE_TYPE_MARK[] =
"ot2:list";
42 const std::string& prefix_) :
48 const CtorMark* ctor_mark_) :
59 return SERIALIZE_TYPE_MARK;
62 bool TestMarkList::doIsEqualPrefixed(
64 long double precision_)
const {
66 if(list.size() != o_->list.size())
68 for(
int i_(0); i_ < list.size(); ++i_)
69 if(!list[i_]->
isEqual(*o_->list[i_], precision_))
74 void TestMarkList::doDiffArray(
76 std::vector<LinearizedRecord>& array_)
const
78 for(
const auto& item_ : list) {
79 array_.push_back({level_, item_.get(),
""});
83 void TestMarkList::doLinearizedMark(
85 const std::string& label_,
86 std::vector<LinearizedRecord>& array_)
const {
87 array_.push_back({level_,
this, label_});
88 for(
const auto& item_ : list) {
89 item_->doLinearizedMark(level_ + 1,
"", array_);
93 const char* TestMarkList::getParenthesis()
const {
97 void TestMarkList::serializeItems(
98 TestMarkOut& serializer_)
const {
99 serializer_.writeInt(list.size());
100 for(
const auto& item_ : list) {
101 item_->serializeMark(serializer_);
105 void TestMarkList::deserializeItems(
106 TestMarkFactory& factory_,
107 TestMarkIn& deserializer_) {
108 const std::int64_t size_(deserializer_.readInt());
109 for(std::int64_t i_(0); i_ < size_; ++i_) {
117 assert(mark_ !=
nullptr);
119 list.push_back(mark_);