summaryrefslogtreecommitdiff
path: root/src/misc/fixedsizearray.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/fixedsizearray.hpp
parent085e9251c5b2ca1d6300a46cf88e7d99207bbeb0 (diff)
downloadopenttd-e6faf06b687d0d98da2d3bb3a7f294bc701dae38.tar.xz
(svn r18824) -Codechange: Turn some public members into protected ones. (skidd13)
Diffstat (limited to 'src/misc/fixedsizearray.hpp')
-rw-r--r--src/misc/fixedsizearray.hpp29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/misc/fixedsizearray.hpp b/src/misc/fixedsizearray.hpp
index bb0316e1d..fc57c7934 100644
--- a/src/misc/fixedsizearray.hpp
+++ b/src/misc/fixedsizearray.hpp
@@ -20,10 +20,7 @@
* is delayed. */
template <class T, uint C>
struct FixedSizeArray {
- /** the only member of fixed size array is pointer to the block
- * of C array of items. Header can be found on the offset -sizeof(ArrayHeader). */
- T *data;
-
+protected:
/** header for fixed size array */
struct ArrayHeader
{
@@ -35,6 +32,20 @@ struct FixedSizeArray {
static const uint Tsize = sizeof(T); // size of item
static const uint HeaderSize = sizeof(ArrayHeader); // size of header
+ /** the only member of fixed size array is pointer to the block
+ * of C array of items. Header can be found on the offset -sizeof(ArrayHeader). */
+ T *data;
+
+ /** return reference to the array header (non-const) */
+ FORCEINLINE ArrayHeader& Hdr() { return *(ArrayHeader*)(((byte*)data) - HeaderSize); }
+ /** return reference to the array header (const) */
+ FORCEINLINE const ArrayHeader& Hdr() const { return *(ArrayHeader*)(((byte*)data) - HeaderSize); }
+ /** return reference to the block reference counter */
+ FORCEINLINE uint& RefCnt() { return Hdr().reference_count; }
+ /** return reference to number of used items */
+ FORCEINLINE uint& SizeRef() { return Hdr().items; }
+
+public:
/** Default constructor. Preallocate space for items and header, then initialize header. */
FixedSizeArray()
{
@@ -75,16 +86,6 @@ struct FixedSizeArray {
SizeRef() = 0;
}
-protected:
- /** return reference to the array header (non-const) */
- FORCEINLINE ArrayHeader& Hdr() { return *(ArrayHeader*)(((byte*)data) - HeaderSize); }
- /** return reference to the array header (const) */
- FORCEINLINE const ArrayHeader& Hdr() const { return *(ArrayHeader*)(((byte*)data) - HeaderSize); }
- /** return reference to the block reference counter */
- FORCEINLINE uint& RefCnt() { return Hdr().reference_count; }
- /** return reference to number of used items */
- FORCEINLINE uint& SizeRef() { return Hdr().items; }
-public:
/** return number of used items */
FORCEINLINE uint Length() const { return Hdr().items; }
/** return true if array is full */