summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/FixAry.h
diff options
context:
space:
mode:
authorharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-04-24 22:38:41 +0000
committerharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-04-24 22:38:41 +0000
commit9304ae6cc3684377e50e6fcbc3d13e80fa092b6a (patch)
treeb0b15e708dbca7e6455bf0e6e3726b75037f937b /crawl-ref/source/FixAry.h
parent56b6c4f46ec7516396c1473e9d5bfef7ea79765f (diff)
downloadcrawl-ref-9304ae6cc3684377e50e6fcbc3d13e80fa092b6a.tar.gz
crawl-ref-9304ae6cc3684377e50e6fcbc3d13e80fa092b6a.zip
Cleaned up shop-handling code considerably.
Instead of shops passing around global id_arr arrays, shops use the newly added third argument to item_def::name() which indicates whether to override item ID status. This means that the shop ID SIGHUP protection is now unnecessary; it's been removed. Hopefully I caught all the places where the stash tracker tries to get item names and fixed them, but I might have missed something. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1359 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/FixAry.h')
-rw-r--r--crawl-ref/source/FixAry.h55
1 files changed, 25 insertions, 30 deletions
diff --git a/crawl-ref/source/FixAry.h b/crawl-ref/source/FixAry.h
index 3db9d49abd..ba4b863866 100644
--- a/crawl-ref/source/FixAry.h
+++ b/crawl-ref/source/FixAry.h
@@ -34,46 +34,41 @@ public:
typedef unsigned long size_type;
typedef long difference_type;
- typedef FixedVector<TYPE, HEIGHT> Column; // operator[] needs to return one of these to avoid breaking client code (if inlining is on there won't be a speed hit)
+ // operator[] should return one of these to avoid breaking
+ // client code (if inlining is on there won't be a speed hit)
+ typedef FixedVector<TYPE, HEIGHT> Column;
//-----------------------------------
-// Initialization/Destruction
-//
-public:
- ~FixedArray() {}
-
- FixedArray() {}
-
-//-----------------------------------
// API
//
public:
// ----- Size -----
- bool empty() const {return WIDTH == 0 || HEIGHT == 0;}
- int size() const {return WIDTH*HEIGHT;}
+ bool empty() const { return WIDTH == 0 || HEIGHT == 0; }
+ int size() const { return WIDTH*HEIGHT; }
+ int width() const { return WIDTH; }
+ int height() const { return HEIGHT; }
- int width() const {return WIDTH;}
- int height() const {return HEIGHT;}
-
// ----- Access -----
- Column& operator[](unsigned long index) {return mData[index];}
- const Column& operator[](unsigned long index) const {return mData[index];}
- template<class Indexer> TYPE& operator () (const Indexer &i)
- {
- return mData[i.x][i.y];
- }
+ Column& operator[](unsigned long index) { return mData[index]; }
+ const Column& operator[](unsigned long index) const {
+ return mData[index];
+ }
+
+ template<class Indexer> TYPE& operator () (const Indexer &i) {
+ return mData[i.x][i.y];
+ }
+
+ template<class Indexer> const TYPE& operator () (const Indexer &i) const {
+ return mData[i.x][i.y];
+ }
+
+ void init(const TYPE& def) {
+ for ( int i = 0; i < WIDTH; ++i )
+ mData[i].init(def);
+ }
- template<class Indexer> const TYPE& operator () (const Indexer &i)
- const
- {
- return mData[i.x][i.y];
- }
-
-//-----------------------------------
-// Member Data
-//
protected:
- FixedVector<Column, WIDTH> mData;
+ FixedVector<Column, WIDTH> mData;
};