Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(406)

Side by Side Diff: components/sync/syncable/entry_kernel.h

Issue 2292393004: Remove stl_util from sync. (Closed)
Patch Set: rebase Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef COMPONENTS_SYNC_SYNCABLE_ENTRY_KERNEL_H_ 5 #ifndef COMPONENTS_SYNC_SYNCABLE_ENTRY_KERNEL_H_
6 #define COMPONENTS_SYNC_SYNCABLE_ENTRY_KERNEL_H_ 6 #define COMPONENTS_SYNC_SYNCABLE_ENTRY_KERNEL_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 // Note: |cryptographer| is an optional parameter for use in decrypting 375 // Note: |cryptographer| is an optional parameter for use in decrypting
376 // encrypted specifics. If it is NULL or the specifics are not decryptsble, 376 // encrypted specifics. If it is NULL or the specifics are not decryptsble,
377 // they will be serialized as empty proto's. 377 // they will be serialized as empty proto's.
378 base::DictionaryValue* ToValue(Cryptographer* cryptographer) const; 378 base::DictionaryValue* ToValue(Cryptographer* cryptographer) const;
379 379
380 private: 380 private:
381 // Tracks whether this entry needs to be saved to the database. 381 // Tracks whether this entry needs to be saved to the database.
382 bool dirty_; 382 bool dirty_;
383 }; 383 };
384 384
385 template <typename T>
385 class EntryKernelLessByMetaHandle { 386 class EntryKernelLessByMetaHandle {
386 public: 387 public:
387 inline bool operator()(const EntryKernel* a, const EntryKernel* b) const { 388 inline bool operator()(T a, T b) const {
388 return a->ref(META_HANDLE) < b->ref(META_HANDLE); 389 return a->ref(META_HANDLE) < b->ref(META_HANDLE);
389 } 390 }
390 }; 391 };
391 392
392 typedef std::set<const EntryKernel*, EntryKernelLessByMetaHandle> 393 typedef std::set<const EntryKernel*,
394 EntryKernelLessByMetaHandle<const EntryKernel*>>
393 EntryKernelSet; 395 EntryKernelSet;
394 396
397 typedef std::set<
398 std::unique_ptr<EntryKernel>,
399 EntryKernelLessByMetaHandle<const std::unique_ptr<EntryKernel>&>>
400 OwnedEntryKernelSet;
401
395 struct EntryKernelMutation { 402 struct EntryKernelMutation {
396 EntryKernel original, mutated; 403 EntryKernel original, mutated;
397 }; 404 };
398 405
399 typedef std::map<int64_t, EntryKernelMutation> EntryKernelMutationMap; 406 typedef std::map<int64_t, EntryKernelMutation> EntryKernelMutationMap;
400 407
401 typedef Immutable<EntryKernelMutationMap> ImmutableEntryKernelMutationMap; 408 typedef Immutable<EntryKernelMutationMap> ImmutableEntryKernelMutationMap;
402 409
403 std::unique_ptr<base::DictionaryValue> EntryKernelMutationToValue( 410 std::unique_ptr<base::DictionaryValue> EntryKernelMutationToValue(
404 const EntryKernelMutation& mutation); 411 const EntryKernelMutation& mutation);
405 412
406 std::unique_ptr<base::ListValue> EntryKernelMutationMapToValue( 413 std::unique_ptr<base::ListValue> EntryKernelMutationMapToValue(
407 const EntryKernelMutationMap& mutations); 414 const EntryKernelMutationMap& mutations);
408 415
409 std::ostream& operator<<(std::ostream& os, const EntryKernel& entry_kernel); 416 std::ostream& operator<<(std::ostream& os, const EntryKernel& entry_kernel);
410 417
411 } // namespace syncable 418 } // namespace syncable
412 } // namespace syncer 419 } // namespace syncer
413 420
414 #endif // COMPONENTS_SYNC_SYNCABLE_ENTRY_KERNEL_H_ 421 #endif // COMPONENTS_SYNC_SYNCABLE_ENTRY_KERNEL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698