(svn r8401) -Codechange: Make 'IsValidRoadStop' a method of RoadStop and rename it to 'IsValid'

-Codechange: While I'm at it, put 'RoadStop::AllocateRaw' into the protected section
This commit is contained in:
celestar 2007-01-25 08:58:09 +00:00
parent e85cd647e1
commit 600cb8a314
2 changed files with 10 additions and 10 deletions

View File

@ -403,7 +403,7 @@ RoadStop *RoadStop::AllocateRaw( void )
/* We don't use FOR_ALL here, because FOR_ALL skips invalid items.
* TODO - This is just a temporary stage, this will be removed. */
for (rs = GetRoadStop(0); rs != NULL; rs = (rs->index + 1U < GetRoadStopPoolSize()) ? GetRoadStop(rs->index + 1U) : NULL) {
if (!IsValidRoadStop(rs)) {
if (!rs->IsValid()) {
RoadStopID index = rs->index;
memset(rs, 0, sizeof(*rs));
@ -418,3 +418,9 @@ RoadStop *RoadStop::AllocateRaw( void )
return NULL;
}
/** Determines whether a RoadStop is a valid (i.e. existing) one */
bool RoadStop::IsValid() const
{
return xy != INVALID_TILE;
}

View File

@ -64,6 +64,8 @@ typedef struct RoadStop {
void *operator new (size_t size, int index);
void operator delete(void *rs, int index);
bool IsValid() const;
protected:
static RoadStop *AllocateRaw(void);
} RoadStop;
@ -253,15 +255,7 @@ static inline bool IsValidStationID(StationID index)
DECLARE_OLD_POOL(RoadStop, RoadStop, 5, 2000)
/**
* Check if a RaodStop really exists.
*/
static inline bool IsValidRoadStop(const RoadStop *rs)
{
return rs->xy != INVALID_TILE;
}
#define FOR_ALL_ROADSTOPS_FROM(rs, start) for (rs = GetRoadStop(start); rs != NULL; rs = (rs->index + 1U < GetRoadStopPoolSize()) ? GetRoadStop(rs->index + 1U) : NULL) if (IsValidRoadStop(rs))
#define FOR_ALL_ROADSTOPS_FROM(rs, start) for (rs = GetRoadStop(start); rs != NULL; rs = (rs->index + 1U < GetRoadStopPoolSize()) ? GetRoadStop(rs->index + 1U) : NULL) if (rs->IsValid())
#define FOR_ALL_ROADSTOPS(rs) FOR_ALL_ROADSTOPS_FROM(rs, 0)
/* End of stuff for ROADSTOPS */