# company_base.h File Reference

Definition of stuff that is very close to a company, like the company struct itself. More...

`#include "core/pool_type.hpp"`
`#include "road_type.h"`
`#include "rail_type.h"`
`#include "livery.h"`
`#include "autoreplace_type.h"`
`#include "economy_type.h"`
`#include "tile_type.h"`
`#include "settings_type.h"`

Go to the source code of this file.

## Data Structures
struct | CompanyEconomyEntry
struct | Company
## Defines
#define | FOR_ALL_COMPANIES_FROM(var, start) FOR_ALL_ITEMS_FROM(Company, company_index, var, start)
#define | FOR_ALL_COMPANIES(var) FOR_ALL_COMPANIES_FROM(var, 0)
## Typedefs
typedef Pool< Company, CompanyByte, 1, MAX_COMPANIES > | CompanyPool
## Functions
Money | CalculateCompanyValue (const Company *c, bool including_loan=true)
| Calculate the value of the company.
## Variables
CompanyPool | _company_pool
uint | _next_competitor_start
| the number of ticks before the next AI is started
uint | _cur_company_tick_index
| used to generate a name for one company that doesn't have a name yet per tick

## Detailed Description

Definition of stuff that is very close to a company, like the company struct itself.

Definition in file company_base.h.

## Function Documentation

Money CalculateCompanyValue | ( | const Company * | c,
|  | bool | including_loan |
| ) |  |  |

Calculate the value of the company.

That is the value of all assets (vehicles, stations, etc) and money minus the loan, except when including_loan is `false` which is useful when we want to calculate the value for bankruptcy.

Parameters:

  | c | the company to get the value of.
  | including_loan | include the loan in the company value.

Returns:
  the value of the company.

Definition at line 122 of file economy.cpp.

References CountBits(), BaseStation::facilities, SpecializedVehicle< Aircraft, VEH_AIRCRAFT >::From(), Aircraft::IsNormalAircraft(), max(), BaseStation::owner, VEH_AIRCRAFT, VEH_ROAD, VEH_SHIP, and VEH_TRAIN.

Referenced by CmdBuyShareInCompany(), CmdSellShareInCompany(), DestroyCompanyHQ(), AICompany::GetCompanyValue(), CompanyWindow::SetStringParameters(), and UpdateCompanyRatingAndValue().