offsetorderedlist.h

来自「SP是一个基于GNU C++编译器」· C头文件 代码 · 共 56 行

H
56
字号
// Copyright (c) 1994 James Clark// See the file COPYING for copying permission.#ifndef OffsetOrderedList_INCLUDED#define OffsetOrderedList_INCLUDED 1#include "types.h"#include "Owner.h"#include "NCVector.h"#include "Boolean.h"#include "Mutex.h"#ifdef SP_NAMESPACEnamespace SP_NAMESPACE {#endifstruct OffsetOrderedListBlock {  Offset offset;		// next Offset  size_t nextIndex;		// index of first item in next block  enum { size = 200 };  unsigned char bytes[size];};// This is an ordered list of Offsets with no duplicates.class OffsetOrderedList {public:  OffsetOrderedList();  // off must be > the last offset added.  void append(Offset off);  // Find the last offset in the list <= off.  Boolean findPreceding(Offset off, size_t &foundIndex, Offset &foundOffset)    const;  size_t size() const;private:  OffsetOrderedList(const OffsetOrderedList &);	// undefined  void operator=(const OffsetOrderedList &);	// undefined  void addByte(unsigned char b);  // bytes used in current block  int blockUsed_;  NCVector<Owner<OffsetOrderedListBlock> > blocks_;  Mutex mutex_;};inlinesize_t OffsetOrderedList::size() const{  return blocks_.size() == 0 ? 0 : blocks_.back()->nextIndex;}#ifdef SP_NAMESPACE}#endif#endif /* not OffsetOrderedList_INCLUDED */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?