OpenTTD: src/stdafx.h File Reference

OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

Macros | Typedefs | Functions
stdafx.h File Reference

Definition of base types and functions in a cross-platform compatible way. More...

`#include <stdint.h>`
`#include <cstdio>`
`#include <cstddef>`
`#include <cstring>`
`#include <cstdlib>`
`#include <climits>`
`#include <cassert>`

Go to the source code of this file.

## Macros
#define | __STDC_LIMIT_MACROS
#define | UINT64_MAX (18446744073709551615ULL)
#define | INT64_MAX (9223372036854775807LL)
#define | INT64_MIN (-INT64_MAX - 1)
#define | UINT32_MAX (4294967295U)
#define | INT32_MAX (2147483647)
#define | INT32_MIN (-INT32_MAX - 1)
#define | UINT16_MAX (65535U)
#define | INT16_MAX (32767)
#define | INT16_MIN (-INT16_MAX - 1)
#define | UINT8_MAX (255)
#define | INT8_MAX (127)
#define | INT8_MIN (-INT8_MAX - 1)
#define | SIZE_MAX ((size_t)-1)
#define | fopen(file, mode) fopen(OTTD2FS(file), mode)
#define | PATHSEP "/"
#define | PATHSEPCHAR '/'
#define | OTTD_PRINTF64 "%lld"
#define | OTTD_PRINTFHEX64 "%llx"
#define | PRINTF_SIZE "%zu"
#define | PERSONAL_DIR ""
#define | assert_compile(expr) typedef int __ct_assert__[1 - 2 * !(expr)]
#define | assert_tcompile(expr) assert(expr)
#define | M_PI_2 1.57079632679489661923
#define | M_PI 3.14159265358979323846
#define | lengthof(x) (sizeof(x) / sizeof(x[0]))
| Return the length of an fixed size array.
#define | endof(x) (&x[lengthof(x)])
| Get the end element of an fixed size array.
#define | lastof(x) (&x[lengthof(x) - 1])
| Get the last element of an fixed size array.
#define | cpp_offsetof(s, m) (((size_t)&reinterpret_cast<const volatile char&>((((s*)(char*)8)->m))) - 8)
#define | offsetof(s, m) cpp_offsetof(s, m)
#define | cpp_sizeof(base, variable) (sizeof(((base*)8)->variable))
| Gets the size of a variable within a class.
#define | cpp_lengthof(base, variable) (cpp_sizeof(base, variable) / cpp_sizeof(base, variable[0]))
| Gets the length of an array variable within a class.
#define | NOT_REACHED() error("NOT_REACHED triggered at line %i of %s", __LINE__, __FILE__)
#define | assert(expression) if (!(expression)) error("Assertion failed at line %i of %s: %s", __LINE__, __FILE__, #expression);
#define | OTTD_ASSERT
#define | MAX_PATH 260
#define | MAX_UVALUE(type) ((type)~(type)0)
| The largest value that can be entered in a variable.
#define | IGNORE_UNINITIALIZED_WARNING_START
#define | IGNORE_UNINITIALIZED_WARNING_STOP

## Typedefs
typedef unsigned char | byte
typedef unsigned int | uint
typedef unsigned char | uint8
typedef signed char | int8
typedef unsigned short | uint16
typedef signed short | int16
typedef unsigned int | uint32
typedef signed int | int32
typedef unsigned __int64 | uint64
typedef signed __int64 | int64

## Functions
const char * | FS2OTTD (const char *name)
const char * | OTTD2FS (const char *name)
| assert_compile (sizeof(uint64)==8)
| assert_compile (sizeof(uint32)==4)
| assert_compile (sizeof(uint16)==2)
| assert_compile (sizeof(uint8)==1)
| assert_compile (SIZE_MAX >=UINT32_MAX)
void NORETURN CDECL | usererror (const char *str,...) WARN_FORMAT(1
void NORETURN CDECL void NORETURN CDECL | error (const char *str,...) WARN_FORMAT(1
static void | free (const void *ptr)
| Version of the standard free that accepts const pointers.

## Detailed Description

Definition of base types and functions in a cross-platform compatible way.

Definition in file stdafx.h.

## Macro Definition Documentation

#define cpp_lengthof | ( |  | base,
|  |  | variable
| ) |  | (cpp_sizeof(base, variable) / cpp_sizeof(base, variable[0]))

Gets the length of an array variable within a class.

Parameters

  base | The class the variable is in.
  variable | The array variable to get the size of.

Returns
  the length of the array

Definition at line 435 of file stdafx.h.

#define cpp_sizeof | ( |  | base,
|  |  | variable
| ) |  | (sizeof(((base*)8)->variable))

Gets the size of a variable within a class.

Parameters

  base | The class the variable is in.
  variable | The variable to get the size of.

Returns
  the size of the variable

Definition at line 427 of file stdafx.h.

#define endof | ( |  | x | ) | (&x[lengthof(x)])

Get the end element of an fixed size array.

Parameters

  x | The pointer to the first element of the array

Returns
  The pointer past to the last element of the array

Definition at line 406 of file stdafx.h.

Referenced by DoLoad(), DumpDebugFacilityNames(), SmallStackSafeStackAlloc< T, length >::EndOf(), GetDebugString(), AirportSpec::GetIndex(), GetSavegameFormat(), GrowTown(), HandleCrash(), CrashLog::InitialiseCrashLog(), LoadFromHighScore(), SaveToHighScore(), SetDebugString(), TerraformTileHeight(), and SelectCompanyLiveryWindow::UpdateWidgetSize().

#define lastof | ( |  | x | ) | (&x[lengthof(x) - 1])

Get the last element of an fixed size array.

Parameters

  x | The pointer to the first element of the array

Returns
  The pointer to the last element of the array

Definition at line 414 of file stdafx.h.

#define lengthof | ( |  | x | ) | (sizeof(x) / sizeof(x[0]))

Return the length of an fixed size array.

Unlike sizeof this function returns the number of elements of the given type.

Parameters

  x | The pointer to the first element of the array

Returns
  The number of elements

Definition at line 398 of file stdafx.h.

#define MAX_UVALUE | ( |  | type | ) | ((type)~(type)0)

The largest value that can be entered in a variable.

Parameters

  type | the type of the variable

Definition at line 494 of file stdafx.h.

Referenced by CompanyCheckBankrupt(), AirportTileSpec::Get(), Industry::GetRandom(), Town::GetRandom(), HandleBankruptcyTakeover(), Scrollbar::SetCapacity(), Scrollbar::SetCount(), and IConsoleLine::Truncate().

## Function Documentation

static void free | ( | const void * | ptr | ) |
| inlinestatic

Version of the standard free that accepts const pointers.

Parameters

  ptr | The data to free.

Definition at line 485 of file stdafx.h.