Conquer Space 0.0.0
A space themed grand strategy game set in the near future, with realistic orbital mechanics, and an emphasis on economics and politics.
Public Member Functions | Private Attributes | List of all members
cqsp::core::components::ResourceLedger Class Reference

#include <resourceledger.h>

Public Member Functions

 ResourceLedger (size_t count)
 
 operator ResourceMap () const
 
double operator[] (const GoodEntity value) const
 
double & operator[] (const GoodEntity value)
 
bool EnoughToTransfer (const ResourceLedger &amount)
 This resource ledger has enough resources inside to transfer "amount" amount of resources away More...
 
void operator-= (const ResourceLedger &)
 
void operator+= (const ResourceLedger &)
 
void operator*= (const ResourceLedger &)
 
void operator/= (const ResourceLedger &)
 
void operator-= (const ResourceMap &)
 
void operator+= (const ResourceMap &)
 
void operator*= (const ResourceMap &)
 
void operator/= (const ResourceMap &)
 
void operator-= (const double value)
 
void operator+= (const double value)
 
void operator*= (const double value)
 
void operator/= (const double value)
 
ResourceLedger operator- (const ResourceLedger &) const
 
ResourceLedger operator+ (const ResourceLedger &) const
 
ResourceLedger operator* (const ResourceLedger &) const
 
ResourceLedger operator/ (const ResourceLedger &) const
 
ResourceLedger operator- (const ResourceMap &) const
 
ResourceLedger operator+ (const ResourceMap &) const
 
ResourceLedger operator* (const ResourceMap &) const
 
ResourceLedger operator/ (const ResourceMap &) const
 
ResourceLedger operator- (const double value) const
 
ResourceLedger operator+ (const double value) const
 
ResourceLedger operator* (const double value) const
 
ResourceLedger operator/ (const double value) const
 
bool operator< (const ResourceLedger &)
 All resources in this ledger are smaller than than the other ledger More...
 
bool operator> (const ResourceLedger &)
 All resources in this ledger are greater than the other ledger More...
 
bool operator<= (const ResourceLedger &)
 All resources in this ledger are smaller than or equal to than the other ledger More...
 
bool operator>= (const ResourceLedger &)
 All resources in this ledger are greater than or equal to the other ledger More...
 
bool operator> (const double &)
 All resources in this ledger are greater than the number More...
 
bool operator< (const double &)
 All resources in this ledger are less than than the number More...
 
bool operator== (const double &)
 
bool operator!= (const double &)
 
bool operator<= (const double &)
 
bool operator>= (const double &)
 
void AssignFrom (const ResourceLedger &)
 
void TransferTo (ResourceLedger &ledger_to, const ResourceLedger &amount)
 
void MultiplyAdd (const ResourceLedger &, double)
 
void AddPositive (const ResourceLedger &)
 
void AddNegative (const ResourceLedger &)
 
ResourceLedger Clamp (const double, const double)
 Returns a copy of the vector with the values clamped between the min and max indicated More...
 
ResourceLedger SafeDivision (const ResourceLedger &)
 Returns a copy of the vector divided by the indicated vector, with division by zero resulting in infiniy More...
 
ResourceLedger SafeDivision (const ResourceLedger &, double)
 Returns a copy of the vector divided by the indicated vector, with division by zero resulting in the specified value More...
 
double MultiplyAndGetSum (const ResourceMap &other) const
 
double MultiplyAndGetSum (const ResourceLedger &other) const
 
double Average () const
 Returns a copy of the vector divided by the indicated vector, with division by zero resulting in infiniy More...
 
double Min () const
 
double Max () const
 
double GetSum ()
 
auto begin ()
 
auto end ()
 
size_t size ()
 
void clear ()
 

Private Attributes

std::vector< double > ledger
 

Constructor & Destructor Documentation

◆ ResourceLedger()

cqsp::core::components::ResourceLedger::ResourceLedger ( size_t  count)
explicit

Member Function Documentation

◆ AddNegative()

void cqsp::core::components::ResourceLedger::AddNegative ( const ResourceLedger other)

◆ AddPositive()

void cqsp::core::components::ResourceLedger::AddPositive ( const ResourceLedger )

◆ AssignFrom()

void cqsp::core::components::ResourceLedger::AssignFrom ( const ResourceLedger other)

◆ Average()

double cqsp::core::components::ResourceLedger::Average ( ) const

Returns a copy of the vector divided by the indicated vector, with division by zero resulting in infiniy

◆ begin()

auto cqsp::core::components::ResourceLedger::begin ( )
inline

◆ Clamp()

ResourceLedger cqsp::core::components::ResourceLedger::Clamp ( const double  low,
const double  high 
)

Returns a copy of the vector with the values clamped between the min and max indicated

◆ clear()

void cqsp::core::components::ResourceLedger::clear ( )

◆ end()

auto cqsp::core::components::ResourceLedger::end ( )
inline

◆ EnoughToTransfer()

bool cqsp::core::components::ResourceLedger::EnoughToTransfer ( const ResourceLedger amount)

This resource ledger has enough resources inside to transfer "amount" amount of resources away

Parameters
amountOther resource ledger
Returns

◆ GetSum()

double cqsp::core::components::ResourceLedger::GetSum ( )

Gets the sum of all the goods in this resource ledger.

◆ Max()

double cqsp::core::components::ResourceLedger::Max ( ) const

◆ Min()

double cqsp::core::components::ResourceLedger::Min ( ) const

◆ MultiplyAdd()

void cqsp::core::components::ResourceLedger::MultiplyAdd ( const ResourceLedger other,
double  value 
)

◆ MultiplyAndGetSum() [1/2]

double cqsp::core::components::ResourceLedger::MultiplyAndGetSum ( const ResourceLedger other) const

◆ MultiplyAndGetSum() [2/2]

double cqsp::core::components::ResourceLedger::MultiplyAndGetSum ( const ResourceMap other) const

◆ operator ResourceMap()

cqsp::core::components::ResourceLedger::operator ResourceMap ( ) const

◆ operator!=()

bool cqsp::core::components::ResourceLedger::operator!= ( const double &  value)

◆ operator*() [1/3]

ResourceLedger cqsp::core::components::ResourceLedger::operator* ( const double  value) const

◆ operator*() [2/3]

ResourceLedger cqsp::core::components::ResourceLedger::operator* ( const ResourceLedger other) const

◆ operator*() [3/3]

ResourceLedger cqsp::core::components::ResourceLedger::operator* ( const ResourceMap ) const

◆ operator*=() [1/3]

void cqsp::core::components::ResourceLedger::operator*= ( const double  value)

◆ operator*=() [2/3]

void cqsp::core::components::ResourceLedger::operator*= ( const ResourceLedger other)

◆ operator*=() [3/3]

void cqsp::core::components::ResourceLedger::operator*= ( const ResourceMap other)

◆ operator+() [1/3]

ResourceLedger cqsp::core::components::ResourceLedger::operator+ ( const double  value) const

◆ operator+() [2/3]

ResourceLedger cqsp::core::components::ResourceLedger::operator+ ( const ResourceLedger other) const

◆ operator+() [3/3]

ResourceLedger cqsp::core::components::ResourceLedger::operator+ ( const ResourceMap ) const

◆ operator+=() [1/3]

void cqsp::core::components::ResourceLedger::operator+= ( const double  value)

◆ operator+=() [2/3]

void cqsp::core::components::ResourceLedger::operator+= ( const ResourceLedger other)

◆ operator+=() [3/3]

void cqsp::core::components::ResourceLedger::operator+= ( const ResourceMap other)

◆ operator-() [1/3]

ResourceLedger cqsp::core::components::ResourceLedger::operator- ( const double  value) const

◆ operator-() [2/3]

ResourceLedger cqsp::core::components::ResourceLedger::operator- ( const ResourceLedger other) const

◆ operator-() [3/3]

ResourceLedger cqsp::core::components::ResourceLedger::operator- ( const ResourceMap ) const

◆ operator-=() [1/3]

void cqsp::core::components::ResourceLedger::operator-= ( const double  value)

◆ operator-=() [2/3]

void cqsp::core::components::ResourceLedger::operator-= ( const ResourceLedger other)

◆ operator-=() [3/3]

void cqsp::core::components::ResourceLedger::operator-= ( const ResourceMap other)

◆ operator/() [1/3]

ResourceLedger cqsp::core::components::ResourceLedger::operator/ ( const double  value) const

◆ operator/() [2/3]

ResourceLedger cqsp::core::components::ResourceLedger::operator/ ( const ResourceLedger other) const

◆ operator/() [3/3]

ResourceLedger cqsp::core::components::ResourceLedger::operator/ ( const ResourceMap ) const

◆ operator/=() [1/3]

void cqsp::core::components::ResourceLedger::operator/= ( const double  value)

◆ operator/=() [2/3]

void cqsp::core::components::ResourceLedger::operator/= ( const ResourceLedger other)

◆ operator/=() [3/3]

void cqsp::core::components::ResourceLedger::operator/= ( const ResourceMap other)

◆ operator<() [1/2]

bool cqsp::core::components::ResourceLedger::operator< ( const double &  value)

All resources in this ledger are less than than the number

◆ operator<() [2/2]

bool cqsp::core::components::ResourceLedger::operator< ( const ResourceLedger other)

All resources in this ledger are smaller than than the other ledger

◆ operator<=() [1/2]

bool cqsp::core::components::ResourceLedger::operator<= ( const double &  value)

◆ operator<=() [2/2]

bool cqsp::core::components::ResourceLedger::operator<= ( const ResourceLedger other)

All resources in this ledger are smaller than or equal to than the other ledger

◆ operator==()

bool cqsp::core::components::ResourceLedger::operator== ( const double &  value)

◆ operator>() [1/2]

bool cqsp::core::components::ResourceLedger::operator> ( const double &  value)

All resources in this ledger are greater than the number

◆ operator>() [2/2]

bool cqsp::core::components::ResourceLedger::operator> ( const ResourceLedger other)

All resources in this ledger are greater than the other ledger

◆ operator>=() [1/2]

bool cqsp::core::components::ResourceLedger::operator>= ( const double &  value)

◆ operator>=() [2/2]

bool cqsp::core::components::ResourceLedger::operator>= ( const ResourceLedger other)

All resources in this ledger are greater than or equal to the other ledger

◆ operator[]() [1/2]

double & cqsp::core::components::ResourceLedger::operator[] ( const GoodEntity  value)

◆ operator[]() [2/2]

double cqsp::core::components::ResourceLedger::operator[] ( const GoodEntity  value) const

◆ SafeDivision() [1/2]

ResourceLedger cqsp::core::components::ResourceLedger::SafeDivision ( const ResourceLedger other)

Returns a copy of the vector divided by the indicated vector, with division by zero resulting in infiniy

◆ SafeDivision() [2/2]

ResourceLedger cqsp::core::components::ResourceLedger::SafeDivision ( const ResourceLedger other,
double  value 
)

Returns a copy of the vector divided by the indicated vector, with division by zero resulting in the specified value

◆ size()

size_t cqsp::core::components::ResourceLedger::size ( )
inline

◆ TransferTo()

void cqsp::core::components::ResourceLedger::TransferTo ( ResourceLedger ledger_to,
const ResourceLedger amount 
)

Transfers amount resoures into ledger_to

Member Data Documentation

◆ ledger

std::vector<double> cqsp::core::components::ResourceLedger::ledger
private

The documentation for this class was generated from the following files: