diff options
author | frosch <frosch@openttd.org> | 2010-01-16 14:12:18 +0000 |
---|---|---|
committer | frosch <frosch@openttd.org> | 2010-01-16 14:12:18 +0000 |
commit | e6faf06b687d0d98da2d3bb3a7f294bc701dae38 (patch) | |
tree | 5660f9be2961628dd65c9f142a4717f3739c5d4d /src/misc/fixedsizearray.hpp | |
parent | 085e9251c5b2ca1d6300a46cf88e7d99207bbeb0 (diff) | |
download | openttd-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.hpp | 29 |
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 */ |