EvEmu
0.8.4
11 September 2021
|
Reference-counting-based smart pointer. More...
#include "RefPtr.h"
Public Member Functions | |
RefPtr (X *p=nullptr) | |
Primary constructor. More... | |
RefPtr (const RefPtr &oth) | |
Copy constructor. More... | |
template<typename Y > | |
RefPtr (const RefPtr< Y > &oth) | |
Casting copy constructor. More... | |
virtual | ~RefPtr () |
Destructor, releases reference. More... | |
RefPtr & | operator= (const RefPtr &oth) |
Copy operator. More... | |
template<typename Y > | |
RefPtr & | operator= (const RefPtr< Y > &oth) |
Casting copy operator. More... | |
X * | get () const |
operator bool () const | |
X & | operator* () const |
X * | operator-> () const |
template<typename Y > | |
bool | operator== (const RefPtr< Y > &oth) const |
Compares two references. More... | |
Static Public Member Functions | |
template<typename Y > | |
static RefPtr | StaticCast (const RefPtr< Y > &oth) |
Acts as static_cast from one RefPtr to another. More... | |
Protected Attributes | |
X * | mPtr |
The pointer to the reference-counted object. More... | |
Reference-counting-based smart pointer.
This smart pointer cares about acquiring/releasing reference of the stored object.
NOTE: this class DOES increment count on creation (whereas RefObject does not)
Primary constructor.
[in] | p | Pointer to object to be referenced. |
Definition at line 141 of file RefPtr.h.
Referenced by RefPtr< Character >::StaticCast().
|
inline |
Definition at line 213 of file RefPtr.h.
Referenced by Character::_Load(), ActiveModule::Activate(), RamMethods::ActivityCheck(), CorporationDB::AddCorporation(), StationOffice::AddItem(), StructureItem::AddItem(), Inventory::AddItem(), ShipItem::AddItem(), Character::AddItem(), ShipItem::AddItemByFlag(), FleetService::AddMember(), AnomalyMgr::AddSignal(), TurretModule::ApplyDamage(), SystemEntity::ApplyDamage(), ActiveModule::ApplyEffect(), SystemManager::BootSystem(), DynamicEntityFactory::BuildEntity(), ReprocessingServiceBound::CalcReprocessingEfficiency(), MiningLaser::CanActivate(), TradeBound::CancelTrade(), Agent::CanUseAgent(), Client::CheckShipRef(), Command_dogma(), Command_giveallskills(), Command_giveskill(), Command_inventory(), Command_shipinventory(), Command_status(), Command_tr(), Client::ContainsTypeQty(), AllianceDB::CreateAlliance(), ShipService::CreateBoundObject(), FleetService::CreateFleet(), ProbeItem::Delete(), InventoryItem::Delete(), GenericModule::DeOverload(), Client::DockToStation(), InventoryItem::Donate(), DroneSE::DroneSE(), Prospector::DropSalvage(), Client::Eject(), MarketMgr::ExecuteBuyOrder(), MarketMgr::ExecuteSellOrder(), EntityList::FindClientByName(), FleetService::GetBoosterData(), Client::GetCharID(), Client::GetCorpTaxRate(), RepairService::GetDamageReports(), ItemFactory::GetInventoryFromId(), ItemFactory::GetItemContainer(), ItemFactory::GetItemContainerInventory(), ModuleManager::GetModule(), Client::GetName(), ShipSE::GetPilot(), ReprocessingServiceBound::GetQuote(), Character::GetSkill(), Character::GetSkillLevel(), ShipSE::HasPilot(), Character::HasSkillTrainedToLevel(), Character::InjectSkillIntoBrain(), GenericModule::IsLoaded(), Sentry::Killed(), CustomsSE::Killed(), NPC::Killed(), DroneSE::Killed(), StructureSE::Killed(), ShipSE::LaunchDrone(), FleetService::LeaveFleet(), BeltMgr::Load(), TurretModule::LoadCharge(), MiningLaser::LoadCharge(), ActiveModule::LoadCharge(), ModuleManager::LoadCharge(), ShipItem::LoadCharge(), ShipItem::LoadChargesToBank(), Inventory::LoadContents(), Character::LoadPausedSkillQueue(), ProbeSE::MakeSlimItem(), SpawnMgr::MakeSpawn(), InventoryItem::Merge(), InventoryItem::MergeTypesInCargo(), Missile::Missile(), InventoryItem::Move(), Client::MoveItem(), InventoryBound::MoveItems(), ShipItem::MoveModuleSlot(), Client::MoveToLocation(), NPC::NPC(), NPCAIMgr::NPCAIMgr(), GenericModule::Offline(), GenericModule::Online(), RefPtr< Character >::operator=(), RefPtr< Character >::operator==(), GenericModule::Overload(), Client::PickAlternateShip(), Colony::PlanetXfer(), ProbeSE::ProbeSE(), ActiveModule::Process(), ShipSE::Process(), MiningLaser::ProcessCycle(), GenericModule::ProcessEffects(), ShipItem::ProcessShipEffects(), ProbeSE::ProcessTic(), Prospector::Prospector(), InventoryItem::Relocate(), StationOffice::RemoveItem(), StructureItem::RemoveItem(), Inventory::RemoveItem(), CargoContainer::RemoveItem(), ShipItem::RemoveItem(), WreckContainer::RemoveItem(), FleetService::RemoveMember(), Client::RemoveMissionItem(), ShipItem::RemoveRig(), ActiveModule::ReprocessCharge(), ReprocessingServiceBound::ReprocessingServiceBound(), Client::ResetAfterPopped(), Client::SelectCharacter(), Client::SelfChatMessage(), Client::SendSessionChange(), ProbeSE::SendSlimChange(), Client::SetPodItem(), ActiveModule::ShowEffect(), Character::SkillQueueLoop(), ModuleItem::Spawn(), Skill::Spawn(), InventoryItem::Spawn(), BeltMgr::SpawnAsteroid(), ItemFactory::SpawnAsteroid(), ItemFactory::SpawnCargoContainer(), ItemFactory::SpawnItem(), InventoryItem::SpawnItem(), ItemFactory::SpawnModule(), ItemFactory::SpawnOffice(), ItemFactory::SpawnProbe(), ItemFactory::SpawnShip(), ItemFactory::SpawnSkill(), ItemFactory::SpawnStructure(), ItemFactory::SpawnWreckContainer(), Blueprint::SplitBlueprint(), RefPtr< Character >::StaticCast(), SystemEntity::SystemEntity(), TargetManager::TimeToLock(), InventoryItem::ToVirtual(), TradeService::TransferContainerContents(), ActiveModule::UnloadCharge(), ModuleManager::UnloadCharge(), Prospector::Update(), FleetService::UpdateMember(), Client::UpdateSession(), Agent::UpdateStandings(), and Client::~Client().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
Acts as static_cast from one RefPtr to another.
Definition at line 238 of file RefPtr.h.
Referenced by ItemFactory::_GetItem(), ShipItem::AddItemByFlag(), Command_giveallskills(), SystemManager::GetContainerFromInventory(), StationItem::GetContainerFromInventory(), Character::GetSkill(), ModuleManager::Initialize(), Character::InjectSkillIntoBrain(), CustomsSE::Killed(), StructureSE::Killed(), ShipSE::Killed(), SystemBubble::MarkBubble(), Blueprint::Merge(), InventoryBound::MoveItems(), Blueprint::SplitBlueprint(), and Character::VerifySP().
|
protected |
The pointer to the reference-counted object.
Definition at line 245 of file RefPtr.h.
Referenced by RefPtr< Character >::get(), RefPtr< Character >::operator bool(), RefPtr< Character >::operator*(), RefPtr< Character >::operator->(), RefPtr< Character >::operator=(), and RefPtr< Character >::operator==().