# core Directory Reference

## Files
file | alloc_func.cpp [code]
| Functions to 'handle' memory allocation errors.

file | alloc_func.hpp [code]
| Functions related to the allocation of memory.

file | alloc_type.hpp [code]
| Helper types related to the allocation of memory.

file | bitmath_func.cpp [code]
| Functions related to bit mathematics.

file | bitmath_func.hpp [code]
| Functions related to bit mathematics.

file | endian_func.hpp [code]
| Function to handling different endian machines.

file | endian_type.hpp [code]
| Definition of various endian-dependant macros.

file | enum_type.hpp [code]
| Type (helpers) for enums.

file | geometry_func.cpp [code]
| Geometry functions.

file | geometry_func.hpp [code]
| Geometry functions.

file | geometry_type.hpp [code]
| All geometry types in OpenTTD.

file | math_func.cpp [code]
| Math functions.

file | math_func.hpp [code]
| Integer math functions.

file | mem_func.hpp [code]
| Functions related to memory operations.

file | overflowsafe_type.hpp [code]
| An overflow safe integer-like type.

file | pool_func.hpp [code]
| Some methods of Pool are placed here in order to reduce compilation time and binary size.

file | pool_type.hpp [code]
| Defintion of Pool, structure used to access PoolItems, and PoolItem, base structure for Vehicle, Town, and other indexed items.

file | random_func.cpp [code]
| Implementation of the pseudo random generator.

file | random_func.hpp [code]
| Pseudo random number generator.

file | smallmap_type.hpp [code]
| Simple mapping class targeted for small sets of data.

file | smallvec_type.hpp [code]
| Simple vector class that allows allocating an item without the need to copy this->data needlessly.

file | sort_func.hpp [code]
| Functions related to sorting operations.

file | string_compare_type.hpp [code]
| Comparator class for "const char *" so it can be used as a key for std::map.