| // Copyright 2012 The Chromium Authors | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #ifndef THIRD_PARTY_BLINK_PUBLIC_COMMON_INDEXEDDB_INDEXEDDB_KEY_RANGE_H_ | 
 | #define THIRD_PARTY_BLINK_PUBLIC_COMMON_INDEXEDDB_INDEXEDDB_KEY_RANGE_H_ | 
 |  | 
 | #include "third_party/blink/public/common/common_export.h" | 
 | #include "third_party/blink/public/common/indexeddb/indexeddb_key.h" | 
 |  | 
 | namespace blink { | 
 |  | 
 | class BLINK_COMMON_EXPORT IndexedDBKeyRange { | 
 |  public: | 
 |   IndexedDBKeyRange(); | 
 |   IndexedDBKeyRange(IndexedDBKey lower, | 
 |                     IndexedDBKey upper, | 
 |                     bool lower_open, | 
 |                     bool upper_open); | 
 |   ~IndexedDBKeyRange(); | 
 |   IndexedDBKeyRange& operator=(IndexedDBKeyRange&& other); | 
 |   IndexedDBKeyRange(IndexedDBKeyRange&& other); | 
 |  | 
 |   IndexedDBKeyRange(const IndexedDBKeyRange& other) = delete; | 
 |   IndexedDBKeyRange& operator=(const IndexedDBKeyRange& other) = delete; | 
 |  | 
 |   const IndexedDBKey& lower() const { return lower_; } | 
 |   const IndexedDBKey& upper() const { return upper_; } | 
 |  | 
 |   bool lower_open() const { return lower_open_; } | 
 |   bool upper_open() const { return upper_open_; } | 
 |  | 
 |   bool IsOnlyKey() const; | 
 |   bool IsEmpty() const; | 
 |   IndexedDBKey TakeOnlyKey() &&; | 
 |  | 
 |  private: | 
 |   IndexedDBKey lower_{mojom::IDBKeyType::None}; | 
 |   IndexedDBKey upper_{mojom::IDBKeyType::None}; | 
 |   bool lower_open_ = false; | 
 |   bool upper_open_ = false; | 
 | }; | 
 |  | 
 | }  // namespace blink | 
 |  | 
 | #endif  // THIRD_PARTY_BLINK_PUBLIC_COMMON_INDEXEDDB_INDEXEDDB_KEY_RANGE_H_ |