mirror of
https://github.com/boostorg/redis.git
synced 2026-01-19 16:52:08 +00:00
create flat_response_value::add_node()
This commit is contained in:
committed by
Marcelo Zimbres
parent
c284960549
commit
bd799aff96
@@ -206,22 +206,7 @@ public:
|
||||
std::string{std::cbegin(nd.value), std::cend(nd.value)}
|
||||
};
|
||||
break;
|
||||
default:
|
||||
auto& data = result_->value().data_;
|
||||
|
||||
resp3::offset_string offset_string;
|
||||
offset_string.offset = data.size();
|
||||
offset_string.size = nd.value.size();
|
||||
|
||||
data.append(nd.value.data(), nd.value.size());
|
||||
|
||||
resp3::offset_node new_node;
|
||||
new_node.data_type = nd.data_type;
|
||||
new_node.aggregate_size = nd.aggregate_size;
|
||||
new_node.depth = nd.depth;
|
||||
new_node.value = std::move(offset_string);
|
||||
|
||||
result_->value().view_.push_back(std::move(new_node));
|
||||
default: result_->value().add_node(nd);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -75,7 +75,25 @@ private:
|
||||
}
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
template <class String>
|
||||
void add_node(resp3::basic_node<String> const& nd)
|
||||
{
|
||||
resp3::offset_string offset_string;
|
||||
offset_string.offset = data_.size();
|
||||
offset_string.size = nd.value.size();
|
||||
|
||||
data_.append(nd.value.data(), nd.value.size());
|
||||
|
||||
resp3::offset_node new_node;
|
||||
new_node.data_type = nd.data_type;
|
||||
new_node.aggregate_size = nd.aggregate_size;
|
||||
new_node.depth = nd.depth;
|
||||
new_node.value = std::move(offset_string);
|
||||
|
||||
view_.push_back(std::move(new_node));
|
||||
}
|
||||
|
||||
template <class T>
|
||||
friend class adapter::detail::general_aggregate;
|
||||
|
||||
std::string data_;
|
||||
|
||||
Reference in New Issue
Block a user