Skip to content

Commit 40ebb3d

Browse files
committed
filter.h/query.h: use const vector instead of non-const vector with ThreadSafeMemoizer
1 parent 5ee63bc commit 40ebb3d

File tree

3 files changed

+5
-9
lines changed

3 files changed

+5
-9
lines changed

Firestore/core/src/core/filter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ class Filter {
164164
* Memoized list of all field filters that can be found by
165165
* traversing the tree of filters contained in this composite filter.
166166
*/
167-
mutable util::ThreadSafeMemoizer<std::vector<FieldFilter>>
167+
mutable util::ThreadSafeMemoizer<const std::vector<FieldFilter>>
168168
memoized_flattened_filters_;
169169
};
170170

Firestore/core/src/core/query.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ absl::optional<Operator> Query::FindOpInsideFilters(
9292
return absl::nullopt;
9393
}
9494

95-
std::shared_ptr<std::vector<OrderBy>> Query::CalculateNormalizedOrderBys()
95+
std::shared_ptr<const std::vector<OrderBy>> Query::CalculateNormalizedOrderBys()
9696
const {
9797
// Any explicit order by fields should be added as is.
9898
auto result = std::make_shared<std::vector<OrderBy>>(explicit_order_bys_);

Firestore/core/src/core/query.h

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -299,14 +299,10 @@ class Query {
299299

300300
Target ToTarget(const std::vector<OrderBy>& order_bys) const;
301301

302-
// For properties below, use a `std::shared_ptr<ThreadSafeMemoizer>` rather
303-
// than using `ThreadSafeMemoizer` directly so that this class is copyable
304-
// (`ThreadSafeMemoizer` is not copyable because of its `std::once_flag`
305-
// member variable, which is not copyable).
306-
307302
// The memoized list of sort orders.
308-
std::shared_ptr<std::vector<OrderBy>> CalculateNormalizedOrderBys() const;
309-
mutable util::ThreadSafeMemoizer<std::vector<OrderBy>>
303+
std::shared_ptr<const std::vector<OrderBy>> CalculateNormalizedOrderBys()
304+
const;
305+
mutable util::ThreadSafeMemoizer<const std::vector<OrderBy>>
310306
memoized_normalized_order_bys_;
311307

312308
// The corresponding Target of this Query instance.

0 commit comments

Comments
 (0)