summaryrefslogtreecommitdiff
path: root/src/misc/array.hpp
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2010-01-16 14:12:18 +0000
committerfrosch <frosch@openttd.org>2010-01-16 14:12:18 +0000
commite6faf06b687d0d98da2d3bb3a7f294bc701dae38 (patch)
tree5660f9be2961628dd65c9f142a4717f3739c5d4d /src/misc/array.hpp
parent085e9251c5b2ca1d6300a46cf88e7d99207bbeb0 (diff)
downloadopenttd-e6faf06b687d0d98da2d3bb3a7f294bc701dae38.tar.xz
(svn r18824) -Codechange: Turn some public members into protected ones. (skidd13)
Diffstat (limited to 'src/misc/array.hpp')
-rw-r--r--src/misc/array.hpp28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/misc/array.hpp b/src/misc/array.hpp
index 414d3efe0..e4cf19408 100644
--- a/src/misc/array.hpp
+++ b/src/misc/array.hpp
@@ -19,16 +19,26 @@
* array of fixed size arrays */
template <class T, uint B = 1024, uint N = B>
class SmallArray {
-public:
+protected:
typedef FixedSizeArray<T, B> SubArray; ///< inner array
typedef FixedSizeArray<SubArray, N> SuperArray; ///< outer array
-protected:
+ static const uint Tcapacity = B * N; ///< total max number of items
+
SuperArray data; ///< array of arrays of items
-public:
- static const uint Tcapacity = B * N; ///< total max number of items
+ /** return first sub-array with free space for new item */
+ FORCEINLINE SubArray& FirstFreeSubArray()
+ {
+ uint super_size = data.Length();
+ if (super_size > 0) {
+ SubArray& s = data[super_size - 1];
+ if (!s.IsFull()) return s;
+ }
+ return data.AppendC();
+ }
+public:
/** implicit constructor */
FORCEINLINE SmallArray() { }
/** Clear (destroy) all items */
@@ -45,16 +55,6 @@ public:
FORCEINLINE bool IsEmpty() { return data.IsEmpty(); }
/** return true if array is full */
FORCEINLINE bool IsFull() { return data.IsFull() && data[N - 1].IsFull(); }
- /** return first sub-array with free space for new item */
- FORCEINLINE SubArray& FirstFreeSubArray()
- {
- uint super_size = data.Length();
- if (super_size > 0) {
- SubArray& s = data[super_size - 1];
- if (!s.IsFull()) return s;
- }
- return data.AppendC();
- }
/** allocate but not construct new item */
FORCEINLINE T& Append() { return FirstFreeSubArray().Append(); }
/** allocate and construct new item */