mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-12 19:02:12 +00:00
types: template abstract_type::validate on FragmentedView
This is primarily a stylistic change. It makes the interface more consistent with deserialize(). It will also allow us to call `validate()` for collection elements in `validate_aux()`.
This commit is contained in:
8
types.cc
8
types.cc
@@ -1586,9 +1586,13 @@ struct validate_visitor {
|
||||
};
|
||||
}
|
||||
|
||||
void abstract_type::validate(const fragmented_temporary_buffer::view& view, cql_serialization_format sf) const {
|
||||
visit(*this, validate_visitor<fragmented_temporary_buffer::view>{view, sf});
|
||||
template <FragmentedView View>
|
||||
void abstract_type::validate(const View& view, cql_serialization_format sf) const {
|
||||
visit(*this, validate_visitor<View>{view, sf});
|
||||
}
|
||||
// Explicit instantiation.
|
||||
template void abstract_type::validate<>(const single_fragmented_view&, cql_serialization_format) const;
|
||||
template void abstract_type::validate<>(const fragmented_temporary_buffer::view&, cql_serialization_format) const;
|
||||
|
||||
void abstract_type::validate(bytes_view v, cql_serialization_format sf) const {
|
||||
visit(*this, validate_visitor<single_fragmented_view>{single_fragmented_view(v), sf});
|
||||
|
||||
3
types.hh
3
types.hh
@@ -525,7 +525,8 @@ public:
|
||||
data_value deserialize_value(bytes_view v) const {
|
||||
return deserialize_impl(single_fragmented_view(v));
|
||||
};
|
||||
void validate(const fragmented_temporary_buffer::view& view, cql_serialization_format sf) const;
|
||||
// Explicitly instantiated in .cc
|
||||
template <FragmentedView View> void validate(const View& v, cql_serialization_format sf) const;
|
||||
void validate(bytes_view view, cql_serialization_format sf) const;
|
||||
bool is_compatible_with(const abstract_type& previous) const;
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user