Pol  Revision:4b29d2b
Pol::Bscript::UninitObject Class Reference

#include <bobject.h>

+ Inheritance diagram for Pol::Bscript::UninitObject:

Public Member Functions

 UninitObject ()
 
 UninitObject (const UninitObject &i)
 
virtual BObjectImpcopy () const POL_OVERRIDE
 
virtual std::string getStringRep () const POL_OVERRIDE
 
virtual bool isTrue () const POL_OVERRIDE
 
void operator delete (void *)
 
void * operator new (std::size_t len)
 
virtual bool operator< (const BObjectImp &objimp) const POL_OVERRIDE
 
virtual bool operator== (const BObjectImp &objimp) const POL_OVERRIDE
 
virtual void printOn (std::ostream &os) const POL_OVERRIDE
 
virtual size_t sizeEstimate () const POL_OVERRIDE
 
- Public Member Functions inherited from Pol::Bscript::BObjectImp
 BObjectImp (BObjectType type)
 
virtual ~BObjectImp ()
 
virtual BObjectImparray_assign (BObjectImp *idx, BObjectImp *target, bool copy)
 
virtual BObjectImpbitnot () const
 
virtual BObjectImpcall_method (const char *methodname, Executor &ex)
 
virtual BObjectImpcall_method_id (const int id, Executor &ex, bool forcebuiltin=false)
 
virtual long contains (const BObjectImp &objimp) const
 
virtual ContIteratorcreateIterator (BObject *pIterVal)
 
virtual BObjectRef get_member (const char *membername)
 
virtual BObjectRef get_member_id (const int id)
 
virtual std::string getFormattedStringRep () const
 
unsigned int instance () const
 
virtual BObjectImpinverse () const
 
bool isa (BObjectType type) const
 
virtual char member (const BObject &obj) const
 
virtual bool operator!= (const BObjectImp &objimp) const
 
virtual BObject operator- () const
 
virtual bool operator<= (const BObjectImp &objimp) const
 
virtual bool operator> (const BObjectImp &objimp) const
 
virtual bool operator>= (const BObjectImp &objimp) const
 
virtual void operDivideEqual (BObject &obj, BObjectImp &objimp)
 
virtual BObjectRef operDotMinus (const char *name)
 
virtual BObjectRef operDotPlus (const char *name)
 
virtual BObjectRef operDotQMark (const char *name)
 
virtual void operInsertInto (BObject &obj, const BObjectImp &objimp)
 
virtual void operMinusEqual (BObject &obj, BObjectImp &objimp)
 
virtual void operModulusEqual (BObject &obj, BObjectImp &objimp)
 
virtual BObjectRef OperMultiSubscript (std::stack< BObjectRef > &indices)
 
virtual BObjectRef OperMultiSubscriptAssign (std::stack< BObjectRef > &indices, BObjectImp *target)
 
virtual void operPlusEqual (BObject &obj, BObjectImp &objimp)
 
virtual BObjectRef OperSubscript (const BObject &obj)
 
virtual void operTimesEqual (BObject &obj, BObjectImp &objimp)
 
virtual std::string pack () const
 
virtual void packonto (std::ostream &os) const
 
virtual BObjectImpselfBitAndObj (const BObjectImp &objimp) const
 
virtual BObjectImpselfBitAndObj (const BLong &objimp) const
 
virtual BObjectImpselfBitAndObj (const Double &objimp) const
 
virtual BObjectImpselfBitAndObj (const String &objimp) const
 
virtual BObjectImpselfBitAndObj (const ObjArray &objimp) const
 
virtual void selfBitAndObj (BObjectImp &objimp, BObject &obj)
 
virtual void selfBitAndObj (BLong &objimp, BObject &obj)
 
virtual void selfBitAndObj (Double &objimp, BObject &obj)
 
virtual void selfBitAndObj (String &objimp, BObject &obj)
 
virtual void selfBitAndObj (ObjArray &objimp, BObject &obj)
 
virtual BObjectImpselfBitAndObjImp (const BObjectImp &objimp) const
 
virtual void selfBitAndObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectImpselfBitOrObj (const BObjectImp &objimp) const
 
virtual BObjectImpselfBitOrObj (const BLong &objimp) const
 
virtual BObjectImpselfBitOrObj (const Double &objimp) const
 
virtual BObjectImpselfBitOrObj (const String &objimp) const
 
virtual BObjectImpselfBitOrObj (const ObjArray &objimp) const
 
virtual void selfBitOrObj (BObjectImp &objimp, BObject &obj)
 
virtual void selfBitOrObj (BLong &objimp, BObject &obj)
 
virtual void selfBitOrObj (Double &objimp, BObject &obj)
 
virtual void selfBitOrObj (String &objimp, BObject &obj)
 
virtual void selfBitOrObj (ObjArray &objimp, BObject &obj)
 
virtual BObjectImpselfBitOrObjImp (const BObjectImp &objimp) const
 
virtual void selfBitOrObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectImpselfBitShiftLeftObj (const BObjectImp &objimp) const
 
virtual BObjectImpselfBitShiftLeftObj (const BLong &objimp) const
 
virtual BObjectImpselfBitShiftLeftObj (const Double &objimp) const
 
virtual BObjectImpselfBitShiftLeftObj (const String &objimp) const
 
virtual BObjectImpselfBitShiftLeftObj (const ObjArray &objimp) const
 
virtual void selfBitShiftLeftObj (BObjectImp &objimp, BObject &obj)
 
virtual void selfBitShiftLeftObj (BLong &objimp, BObject &obj)
 
virtual void selfBitShiftLeftObj (Double &objimp, BObject &obj)
 
virtual void selfBitShiftLeftObj (String &objimp, BObject &obj)
 
virtual void selfBitShiftLeftObj (ObjArray &objimp, BObject &obj)
 
virtual BObjectImpselfBitShiftLeftObjImp (const BObjectImp &objimp) const
 
virtual void selfBitShiftLeftObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectImpselfBitShiftRightObj (const BObjectImp &objimp) const
 
virtual BObjectImpselfBitShiftRightObj (const BLong &objimp) const
 
virtual BObjectImpselfBitShiftRightObj (const Double &objimp) const
 
virtual BObjectImpselfBitShiftRightObj (const String &objimp) const
 
virtual BObjectImpselfBitShiftRightObj (const ObjArray &objimp) const
 
virtual void selfBitShiftRightObj (BObjectImp &objimp, BObject &obj)
 
virtual void selfBitShiftRightObj (BLong &objimp, BObject &obj)
 
virtual void selfBitShiftRightObj (Double &objimp, BObject &obj)
 
virtual void selfBitShiftRightObj (String &objimp, BObject &obj)
 
virtual void selfBitShiftRightObj (ObjArray &objimp, BObject &obj)
 
virtual BObjectImpselfBitShiftRightObjImp (const BObjectImp &objimp) const
 
virtual void selfBitShiftRightObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectImpselfBitXorObj (const BObjectImp &objimp) const
 
virtual BObjectImpselfBitXorObj (const BLong &objimp) const
 
virtual BObjectImpselfBitXorObj (const Double &objimp) const
 
virtual BObjectImpselfBitXorObj (const String &objimp) const
 
virtual BObjectImpselfBitXorObj (const ObjArray &objimp) const
 
virtual void selfBitXorObj (BObjectImp &objimp, BObject &obj)
 
virtual void selfBitXorObj (BLong &objimp, BObject &obj)
 
virtual void selfBitXorObj (Double &objimp, BObject &obj)
 
virtual void selfBitXorObj (String &objimp, BObject &obj)
 
virtual void selfBitXorObj (ObjArray &objimp, BObject &obj)
 
virtual BObjectImpselfBitXorObjImp (const BObjectImp &objimp) const
 
virtual void selfBitXorObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectImpselfDividedByObj (const BObjectImp &objimp) const
 
virtual BObjectImpselfDividedByObj (const BLong &objimp) const
 
virtual BObjectImpselfDividedByObj (const Double &objimp) const
 
virtual BObjectImpselfDividedByObj (const String &objimp) const
 
virtual BObjectImpselfDividedByObj (const ObjArray &objimp) const
 
virtual void selfDividedByObj (BObjectImp &objimp, BObject &obj)
 
virtual void selfDividedByObj (BLong &objimp, BObject &obj)
 
virtual void selfDividedByObj (Double &objimp, BObject &obj)
 
virtual void selfDividedByObj (String &objimp, BObject &obj)
 
virtual void selfDividedByObj (ObjArray &objimp, BObject &obj)
 
virtual BObjectImpselfDividedByObjImp (const BObjectImp &objimp) const
 
virtual void selfDividedByObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectImpselfMinusObj (const BObjectImp &objimp) const
 
virtual BObjectImpselfMinusObj (const BLong &objimp) const
 
virtual BObjectImpselfMinusObj (const Double &objimp) const
 
virtual BObjectImpselfMinusObj (const String &objimp) const
 
virtual BObjectImpselfMinusObj (const ObjArray &objimp) const
 
virtual void selfMinusObj (BObjectImp &objimp, BObject &obj)
 
virtual void selfMinusObj (BLong &objimp, BObject &obj)
 
virtual void selfMinusObj (Double &objimp, BObject &obj)
 
virtual void selfMinusObj (String &objimp, BObject &obj)
 
virtual void selfMinusObj (ObjArray &objimp, BObject &obj)
 
virtual BObjectImpselfMinusObjImp (const BObjectImp &objimp) const
 
virtual void selfMinusObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectImpselfModulusObj (const BObjectImp &objimp) const
 
virtual BObjectImpselfModulusObj (const BLong &objimp) const
 
virtual BObjectImpselfModulusObj (const Double &objimp) const
 
virtual BObjectImpselfModulusObj (const String &objimp) const
 
virtual BObjectImpselfModulusObj (const ObjArray &objimp) const
 
virtual void selfModulusObj (BObjectImp &objimp, BObject &obj)
 
virtual void selfModulusObj (BLong &objimp, BObject &obj)
 
virtual void selfModulusObj (Double &objimp, BObject &obj)
 
virtual void selfModulusObj (String &objimp, BObject &obj)
 
virtual void selfModulusObj (ObjArray &objimp, BObject &obj)
 
virtual BObjectImpselfModulusObjImp (const BObjectImp &objimp) const
 
virtual void selfModulusObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectImpselfPlusObj (const BObjectImp &objimp) const
 
virtual BObjectImpselfPlusObj (const BLong &objimp) const
 
virtual BObjectImpselfPlusObj (const Double &objimp) const
 
virtual BObjectImpselfPlusObj (const String &objimp) const
 
virtual BObjectImpselfPlusObj (const ObjArray &objimp) const
 
virtual void selfPlusObj (BObjectImp &objimp, BObject &obj)
 
virtual void selfPlusObj (BLong &objimp, BObject &obj)
 
virtual void selfPlusObj (Double &objimp, BObject &obj)
 
virtual void selfPlusObj (String &objimp, BObject &obj)
 
virtual void selfPlusObj (ObjArray &objimp, BObject &obj)
 
virtual BObjectImpselfPlusObjImp (const BObjectImp &objimp) const
 
virtual void selfPlusObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectImpselfTimesObj (const BObjectImp &objimp) const
 
virtual BObjectImpselfTimesObj (const BLong &objimp) const
 
virtual BObjectImpselfTimesObj (const Double &objimp) const
 
virtual BObjectImpselfTimesObj (const String &objimp) const
 
virtual BObjectImpselfTimesObj (const ObjArray &objimp) const
 
virtual void selfTimesObj (BObjectImp &objimp, BObject &obj)
 
virtual void selfTimesObj (BLong &objimp, BObject &obj)
 
virtual void selfTimesObj (Double &objimp, BObject &obj)
 
virtual void selfTimesObj (String &objimp, BObject &obj)
 
virtual void selfTimesObj (ObjArray &objimp, BObject &obj)
 
virtual BObjectImpselfTimesObjImp (const BObjectImp &objimp) const
 
virtual void selfTimesObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectRef set_member (const char *membername, BObjectImp *valueimp, bool copy)
 
virtual BObjectRef set_member_id (const int id, BObjectImp *valueimp, bool copy)
 
virtual char str_member (const std::string &membername) const
 
BObjectType type () const
 
virtual const char * typeOf () const
 
virtual u8 typeOfInt () const
 
- Public Member Functions inherited from ref_counted
unsigned int add_ref ()
 
unsigned int count () const
 
unsigned int release ()
 

Static Public Member Functions

static UninitObjectcreate ()
 
static void ReleaseSharedInstance ()
 
- Static Public Member Functions inherited from Pol::Bscript::BObjectImp
static const char * typestr (BObjectType typ)
 
static BObjectImpunpack (const char *pstr)
 
static BObjectImpunpack (std::istream &is)
 

Static Public Attributes

static UninitObjectSharedInstance
 
static ref_ptr< BObjectImpSharedInstanceOwner
 

Additional Inherited Members

- Public Types inherited from Pol::Bscript::BObjectImp
enum  BObjectType : u8 {
  OTUnknown = 0, OTUninit = 1, OTString = 2, OTLong = 3,
  OTDouble = 4, OTArray = 5, OTApplicPtr = 6, OTApplicObj = 7,
  OTError = 8, OTDictionary = 9, OTStruct = 10, OTPacket = 11,
  OTBinaryFile = 12, OTXMLFile = 13, OTXMLNode = 14, OTXMLAttributes = 15,
  OTPolCoreRef = 16, OTAccountRef = 17, OTConfigFileRef = 18, OTConfigElemRef = 19,
  OTDataFileRef = 20, OTDataElemRef = 21, OTGuildRef = 22, OTPartyRef = 23,
  OTBoundingBox = 24, OTDebugContext = 25, OTScriptExRef = 26, OTPackage = 27,
  OTMenuRef = 28, OTMobileRef = 29, OTOfflineMobileRef = 30, OTItemRef = 31,
  OTBoatRef = 32, OTMultiRef = 33, OTClientRef = 34, OTSQLConnection = 35,
  OTSQLResultSet = 36, OTSQLRow = 37, OTBoolean = 38, OTFuncRef = 39
}
 
- Protected Member Functions inherited from ref_counted
 ref_counted ()
 
 ~ref_counted ()=default
 
- Protected Attributes inherited from ref_counted
std::atomic< unsigned int > _count
 

Detailed Description

Definition at line 461 of file bobject.h.

Constructor & Destructor Documentation

Pol::Bscript::UninitObject::UninitObject ( )

Definition at line 969 of file object.cpp.

Referenced by sizeEstimate().

Pol::Bscript::UninitObject::UninitObject ( const UninitObject i)

Member Function Documentation

BObjectImp * Pol::Bscript::UninitObject::copy ( void  ) const
virtual

Implements Pol::Bscript::BObjectImp.

Definition at line 971 of file object.cpp.

References create().

static UninitObject* Pol::Bscript::UninitObject::create ( )
inlinestatic

Definition at line 482 of file bobject.h.

Referenced by Pol::Bscript::String::array_assign(), Pol::Bscript::ObjArray::array_assign(), Pol::Core::UContainer::can_insert_add_item(), Pol::Core::UContainer::can_insert_increase_stack(), Pol::Core::UContainer::check_can_remove_script(), copy(), Pol::Bscript::Executor::execFunc(), Pol::Core::BPacket::get_member(), Pol::Core::ScriptExObjImp::get_member(), Pol::Accounts::AccountObjImp::get_member(), Pol::Core::BXMLfile::get_member(), Pol::Module::EPartyRefObjImp::get_member(), Pol::Bscript::BDictionary::get_member(), Pol::Network::AuxConnection::get_member(), Pol::Bscript::BStruct::get_member(), Pol::Module::EGuildRefObjImp::get_member(), Pol::Core::BBinaryfile::get_member(), Pol::Module::ECharacterRefObjImp::get_member(), Pol::Core::BXmlNode::get_member(), Pol::Core::BSQLConnection::get_member(), Pol::Module::EItemRefObjImp::get_member(), Pol::Module::EUBoatRefObjImp::get_member(), Pol::Module::EMultiRefObjImp::get_member(), Pol::Module::EClientRefObjImp::get_member(), Pol::Core::StorageAreaImp::get_member(), Pol::Core::StorageAreasImp::get_member(), Pol::Bscript::ObjArray::get_member(), Pol::Core::ScriptExObjImp::get_member_id(), Pol::Accounts::AccountObjImp::get_member_id(), Pol::Core::BXMLfile::get_member_id(), Pol::Module::EPartyRefObjImp::get_member_id(), Pol::Module::EGuildRefObjImp::get_member_id(), Pol::Module::ECharacterRefObjImp::get_member_id(), Pol::Core::BXmlNode::get_member_id(), Pol::Core::BSQLConnection::get_member_id(), Pol::Module::EItemRefObjImp::get_member_id(), Pol::Module::EUBoatRefObjImp::get_member_id(), Pol::Module::EMultiRefObjImp::get_member_id(), Pol::Bscript::Executor::getArg(), Pol::Bscript::Executor::getObjRef(), Pol::Bscript::Executor::ins_call_method(), Pol::Bscript::Executor::ins_call_method_id(), Pol::Bscript::Executor::ins_initforeach2(), Pol::Bscript::Executor::ins_makeLocal(), Pol::Bscript::Executor::ins_stepforeach(), Pol::Bscript::Executor::ins_uninit(), Pol::Bscript::BObjectImp::inverse(), Pol::Module::UOExecutorModule::mf_SendOpenBook(), Pol::Core::UContainer::on_insert_add_item(), Pol::Core::UContainer::on_insert_increase_stack(), Pol::Core::UContainer::on_remove(), Pol::Bscript::ObjArray::operDotPlus(), Pol::Bscript::String::OperMultiSubscriptAssign(), Pol::Bscript::BDictionary::OperSubscript(), Pol::Bscript::BStruct::OperSubscript(), Pol::Core::BSQLRow::OperSubscript(), Pol::Bscript::ObjArray::OperSubscript(), Pol::Module::recurseJ2E(), Pol::Module::OSExecutorModule::run_script(), Pol::Module::ECharacterRefObjImp::set_member(), Pol::Module::EItemRefObjImp::set_member(), Pol::Module::EUBoatRefObjImp::set_member(), Pol::Module::EMultiRefObjImp::set_member(), Pol::Module::EClientRefObjImp::set_member(), Pol::Bscript::ObjArray::set_member(), Pol::Module::ECharacterRefObjImp::set_member_id(), Pol::Module::EItemRefObjImp::set_member_id(), Pol::Module::EUBoatRefObjImp::set_member_id(), Pol::Module::EMultiRefObjImp::set_member_id(), Pol::Module::EClientRefObjImp::set_member_id(), Pol::Bscript::Executor::setProgram(), Pol::Core::start_script(), Pol::Mobile::Character::start_script(), Pol::Bscript::ArrayIterator::step(), and Pol::Bscript::BObjectImp::unpack().

virtual std::string Pol::Bscript::UninitObject::getStringRep ( ) const
inlinevirtual
bool Pol::Bscript::UninitObject::isTrue ( void  ) const
virtual

Reimplemented from Pol::Bscript::BObjectImp.

Definition at line 981 of file object.cpp.

void Pol::Bscript::UninitObject::operator delete ( void *  p)
inline

Definition at line 496 of file bobject.h.

References Pol::Clib::fixed_allocator< N, B >::deallocate().

void * Pol::Bscript::UninitObject::operator new ( std::size_t  len)
inline

Definition at line 491 of file bobject.h.

References Pol::Clib::fixed_allocator< N, B >::allocate().

bool Pol::Bscript::UninitObject::operator< ( const BObjectImp objimp) const
virtual

Should be overridden. By default objects are lesser or greater based on their type ID. Uninit and Error are always lesser than any other. Same type object should have a custom comparison.

Warning
: do not forget to call base class when overriding

Reimplemented from Pol::Bscript::BObjectImp.

Definition at line 994 of file object.cpp.

References Pol::Bscript::BObjectImp::isa(), Pol::Bscript::BObjectImp::OTError, and Pol::Bscript::BObjectImp::OTUninit.

bool Pol::Bscript::UninitObject::operator== ( const BObjectImp imp) const
virtual

An uninit is equal to any other error or uninit

Reimplemented from Pol::Bscript::BObjectImp.

Definition at line 989 of file object.cpp.

References Pol::Bscript::BObjectImp::isa(), Pol::Bscript::BObjectImp::OTError, and Pol::Bscript::BObjectImp::OTUninit.

void Pol::Bscript::UninitObject::printOn ( std::ostream &  os) const
virtual

Reimplemented from Pol::Bscript::BObjectImp.

Definition at line 53 of file objstrm.cpp.

static void Pol::Bscript::UninitObject::ReleaseSharedInstance ( )
inlinestatic

Definition at line 483 of file bobject.h.

References ref_ptr< T >::clear(), and Pol::Bscript::uninit_alloc.

Referenced by Pol::Core::GameState::deinitialize().

size_t Pol::Bscript::UninitObject::sizeEstimate ( ) const
virtual

Implements Pol::Bscript::BObjectImp.

Definition at line 976 of file object.cpp.

References UninitObject().

Member Data Documentation

UninitObject * Pol::Bscript::UninitObject::SharedInstance
static
ref_ptr< BObjectImp > Pol::Bscript::UninitObject::SharedInstanceOwner
static

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