// Copyright (c) 2011 The LevelDB Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. See the AUTHORS file for names of contributors. // // Slice is a simple structure containing a pointer into some external // storage and a size. The user of a Slice must ensure that the slice // is not used after the corresponding external storage has been // deallocated. // // Multiple threads can invoke const methods on a Slice without // external synchronization, but if any of the threads may call a // non-const method, all threads accessing the same Slice must use // external synchronization. #ifndef STORAGE_LEVELDB_INCLUDE_SLICE_H_ #define STORAGE_LEVELDB_INCLUDE_SLICE_H_ #include <cassert> #include <cstddef> #include <cstring> #include <string> #include "leveldb/export.h" namespace leveldb { class LEVELDB_EXPORT Slice { … }; inline bool operator==(const Slice& x, const Slice& y) { … } inline bool operator!=(const Slice& x, const Slice& y) { … } inline int Slice::compare(const Slice& b) const { … } } // namespace leveldb #endif // STORAGE_LEVELDB_INCLUDE_SLICE_H_