diff options
Diffstat (limited to 'kaldi_io/src/tools/openfst/include/fst/mapped-file.h')
-rw-r--r-- | kaldi_io/src/tools/openfst/include/fst/mapped-file.h | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/kaldi_io/src/tools/openfst/include/fst/mapped-file.h b/kaldi_io/src/tools/openfst/include/fst/mapped-file.h deleted file mode 100644 index d61bc14..0000000 --- a/kaldi_io/src/tools/openfst/include/fst/mapped-file.h +++ /dev/null @@ -1,83 +0,0 @@ - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Copyright 2005-2010 Google, Inc. -// Author: [email protected] (Jeffrey Sorensen) - -#ifndef FST_LIB_MAPPED_FILE_H_ -#define FST_LIB_MAPPED_FILE_H_ - -#include <unistd.h> -#include <sys/mman.h> - -#include <fst/fst.h> -#include <iostream> -#include <fstream> -#include <sstream> - -DECLARE_int32(fst_arch_alignment); // defined in mapped-file.h - -namespace fst { - -// A memory region is a simple abstraction for allocated memory or data from -// mmap'ed files. If mmap equals NULL, then data represents an owned region of -// size bytes. Otherwise, mmap and size refer to the mapping and data is a -// casted pointer to a region contained within [mmap, mmap + size). -// If size is 0, then mmap refers and data refer to a block of memory managed -// externally by some other allocator. -struct MemoryRegion { - void *data; - void *mmap; - size_t size; -}; - -class MappedFile { - public: - virtual ~MappedFile(); - - void* mutable_data() const { - return reinterpret_cast<void*>(region_.data); - } - - const void* data() const { - return reinterpret_cast<void*>(region_.data); - } - - // Returns a MappedFile object that contains the contents of the input - // stream s starting from the current file position with size bytes. - // The file name must also be provided in the FstReadOptions as opts.source - // or else mapping will fail. If mapping is not possible, then a MappedFile - // object with a new[]'ed block of memory will be created. - static MappedFile* Map(istream* s, const FstReadOptions& opts, size_t size); - - // Creates a MappedFile object with a new[]'ed block of memory of size. - // RECOMMENDED FOR INTERNAL USE ONLY, may change in future releases. - static MappedFile* Allocate(size_t size); - - // Creates a MappedFile object pointing to a borrowed reference to data. - // This block of memory is not owned by the MappedFile object and will not - // be freed. - // RECOMMENDED FOR INTERNAL USE ONLY, may change in future releases. - static MappedFile* Borrow(void *data); - - static const int kArchAlignment; - - private: - explicit MappedFile(const MemoryRegion ®ion); - - MemoryRegion region_; - DISALLOW_COPY_AND_ASSIGN(MappedFile); -}; -} // namespace fst - -#endif // FST_LIB_MAPPED_FILE_H_ |