#ifndef NET_DISK_CACHE_BLOCKFILE_STORAGE_BLOCK_INL_H_
#define NET_DISK_CACHE_BLOCKFILE_STORAGE_BLOCK_INL_H_
#include "net/disk_cache/blockfile/storage_block.h"
#include <stddef.h>
#include <stdint.h>
#include <type_traits>
#include "base/containers/span.h"
#include "base/hash/hash.h"
#include "base/logging.h"
#include "base/notreached.h"
namespace disk_cache {
template <typename T>
StorageBlock<T>::StorageBlock(MappedFile* file, Addr address)
: … { … }
template<typename T> StorageBlock<T>::~StorageBlock() { … }
template <typename T>
void StorageBlock<T>::CopyFrom(StorageBlock<T>* other) { … }
template<typename T> void* StorageBlock<T>::buffer() const { … }
template<typename T> size_t StorageBlock<T>::size() const { … }
template<typename T> int StorageBlock<T>::offset() const { … }
template<typename T> bool StorageBlock<T>::LazyInit(MappedFile* file,
Addr address) { … }
template<typename T> void StorageBlock<T>::SetData(T* other) { … }
template<typename T> void StorageBlock<T>::Discard() { … }
template<typename T> void StorageBlock<T>::StopSharingData() { … }
template<typename T> void StorageBlock<T>::set_modified() { … }
template<typename T> void StorageBlock<T>::clear_modified() { … }
template<typename T> T* StorageBlock<T>::Data() { … }
template<typename T> bool StorageBlock<T>::HasData() const { … }
template<typename T> bool StorageBlock<T>::VerifyHash() const { … }
template<typename T> bool StorageBlock<T>::own_data() const { … }
template<typename T> const Addr StorageBlock<T>::address() const { … }
template<typename T> bool StorageBlock<T>::Load() { … }
template<typename T> bool StorageBlock<T>::Store() { … }
template<typename T> bool StorageBlock<T>::Load(FileIOCallback* callback,
bool* completed) { … }
template<typename T> bool StorageBlock<T>::Store(FileIOCallback* callback,
bool* completed) { … }
template<typename T> void StorageBlock<T>::AllocateData() { … }
template<typename T> void StorageBlock<T>::DeleteData() { … }
template <typename T>
uint32_t StorageBlock<T>::CalculateHash() const { … }
}
#endif