⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iset.h

📁 SP是一个基于GNU C++编译器
💻 H
字号:
// Copyright (c) 1994 James Clark// See the file COPYING for copying permission.#ifndef ISet_INCLUDED#define ISet_INCLUDED#include <stddef.h>#include "Vector.h"#include "Boolean.h"#ifdef SP_NAMESPACEnamespace SP_NAMESPACE {#endiftemplate<class T> class ISetIter;template<class T>struct ISetRange {  T min;  T max;};  template<class T>class ISet {public:  ISet();  ISet(const T *, size_t);  ~ISet();  Boolean contains(T) const;  void remove(T);  void add(T x) { addRange(x, x); }  void addRange(T, T);#if 0  void add(const ISet<T> &);#endif  void check();  void operator+=(T x) { addRange(x, x); }  void clear();  Boolean isSingleton() const {    return r_.size() == 1 && r_[0].min == r_[0].max;  }  Boolean isEmpty() const { return r_.size() == 0; }  void swap(ISet<T> &x) { r_.swap(x.r_); }friend class ISetIter<T>;private:  Vector<ISetRange<T> > r_;};#ifdef SP_NAMESPACE}#endif#endif /* not ISet_INCLUDED */#ifdef SP_DEFINE_TEMPLATES#include "ISet.cxx"#endif

⌨️ 快捷键说明

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