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

📄 gstack.h

📁 Gambit 是一个游戏库理论软件
💻 H
字号:
//// $Source: /home/gambit/CVS/gambit/sources/base/gstack.h,v $// $Date: 2002/08/26 05:49:59 $// $Revision: 1.3 $//// DESCRIPTION:// Interface to a generic stack class//// This file is part of Gambit// Copyright (c) 2002, The Gambit Project//// This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 2 of the License, or// (at your option) any later version.//// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.//#ifndef GSTACK_H#define GSTACK_H// gStack -- implements a stack// This implementation is designed for use with built-in or other simple// data types.  It won't be very efficient with complicated classes or// structs; another implementation would be necessary.// This implementation uses a fixed-size array to minimize copying,// allocation, and deallocation; the array currently cannot be expanded// or contracted at all.template <class T> class gStack  {protected:  int depth;  int max_depth;  T*  contents;public:  class StackUnderflow : public gException {  public:    virtual ~StackUnderflow() { }    gText Description(void) const { return "gStack underflow error"; }  };  // CONSTRUCTORS AND DESTRUCTOR  gStack(int md = 10);       // initialize stack of maximum depth 'md'  virtual ~gStack();    // destruct gStack  // GENERAL DATA ACCESS  int Depth(void) const;  int MaxDepth(void) const;      // STACK OPERATIONS  //       Peek() and Pop() assume that depth > 0  void Push (T new_el);    // push an element onto top of stack  T    Pop  (void);        // pop the top element off the stack  T    Peek (void) const;  // get the top element without popping  T&   Peek (void);        // also get the top element w/o popping                            // (the const version is used to just examine                            //  the data without modifying it; the non-const                            //  version allows the TOS to be modified                            //  without the overhead of a push+pop --                            //  use this with care!)  void Resize(int new_max_depth);  void Flush (void);       // empty the stack in one fell swoop};#endif    // GSTACK_H

⌨️ 快捷键说明

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