Pol  Revision:cb584c9
Pol::Bscript::UninitObject Class Referencefinal

#include <bobject.h>

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

Public Member Functions

 UninitObject ()
 
 UninitObject (const UninitObject &i)
 
virtual BObjectImp * copy () 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 BObjectImp * array_assign (BObjectImp *idx, BObjectImp *target, bool copy)
 
virtual BObjectImp * bitnot () const
 
virtual BObjectImp * call_method (const char *methodname, Executor &ex)
 
virtual BObjectImp * call_method_id (const int id, Executor &ex, bool forcebuiltin=false)
 
virtual long contains (const BObjectImp &objimp) const
 
virtual ContIterator * createIterator (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 BObjectImp * inverse () 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 BObjectImp * selfBitAndObj (const BObjectImp &objimp) const
 
virtual BObjectImp * selfBitAndObj (const BLong &objimp) const
 
virtual BObjectImp * selfBitAndObj (const Double &objimp) const
 
virtual BObjectImp * selfBitAndObj (const String &objimp) const
 
virtual BObjectImp * selfBitAndObj (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 BObjectImp * selfBitAndObjImp (const BObjectImp &objimp) const
 
virtual void selfBitAndObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectImp * selfBitOrObj (const BObjectImp &objimp) const
 
virtual BObjectImp * selfBitOrObj (const BLong &objimp) const
 
virtual BObjectImp * selfBitOrObj (const Double &objimp) const
 
virtual BObjectImp * selfBitOrObj (const String &objimp) const
 
virtual BObjectImp * selfBitOrObj (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 BObjectImp * selfBitOrObjImp (const BObjectImp &objimp) const
 
virtual void selfBitOrObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectImp * selfBitShiftLeftObj (const BObjectImp &objimp) const
 
virtual BObjectImp * selfBitShiftLeftObj (const BLong &objimp) const
 
virtual BObjectImp * selfBitShiftLeftObj (const Double &objimp) const
 
virtual BObjectImp * selfBitShiftLeftObj (const String &objimp) const
 
virtual BObjectImp * selfBitShiftLeftObj (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 BObjectImp * selfBitShiftLeftObjImp (const BObjectImp &objimp) const
 
virtual void selfBitShiftLeftObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectImp * selfBitShiftRightObj (const BObjectImp &objimp) const
 
virtual BObjectImp * selfBitShiftRightObj (const BLong &objimp) const
 
virtual BObjectImp * selfBitShiftRightObj (const Double &objimp) const
 
virtual BObjectImp * selfBitShiftRightObj (const String &objimp) const
 
virtual BObjectImp * selfBitShiftRightObj (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 BObjectImp * selfBitShiftRightObjImp (const BObjectImp &objimp) const
 
virtual void selfBitShiftRightObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectImp * selfBitXorObj (const BObjectImp &objimp) const
 
virtual BObjectImp * selfBitXorObj (const BLong &objimp) const
 
virtual BObjectImp * selfBitXorObj (const Double &objimp) const
 
virtual BObjectImp * selfBitXorObj (const String &objimp) const
 
virtual BObjectImp * selfBitXorObj (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 BObjectImp * selfBitXorObjImp (const BObjectImp &objimp) const
 
virtual void selfBitXorObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectImp * selfDividedByObj (const BObjectImp &objimp) const
 
virtual BObjectImp * selfDividedByObj (const BLong &objimp) const
 
virtual BObjectImp * selfDividedByObj (const Double &objimp) const
 
virtual BObjectImp * selfDividedByObj (const String &objimp) const
 
virtual BObjectImp * selfDividedByObj (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 BObjectImp * selfDividedByObjImp (const BObjectImp &objimp) const
 
virtual void selfDividedByObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectImp * selfMinusObj (const BObjectImp &objimp) const
 
virtual BObjectImp * selfMinusObj (const BLong &objimp) const
 
virtual BObjectImp * selfMinusObj (const Double &objimp) const
 
virtual BObjectImp * selfMinusObj (const String &objimp) const
 
virtual BObjectImp * selfMinusObj (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 BObjectImp * selfMinusObjImp (const BObjectImp &objimp) const
 
virtual void selfMinusObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectImp * selfModulusObj (const BObjectImp &objimp) const
 
virtual BObjectImp * selfModulusObj (const BLong &objimp) const
 
virtual BObjectImp * selfModulusObj (const Double &objimp) const
 
virtual BObjectImp * selfModulusObj (const String &objimp) const
 
virtual BObjectImp * selfModulusObj (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 BObjectImp * selfModulusObjImp (const BObjectImp &objimp) const
 
virtual void selfModulusObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectImp * selfPlusObj (const BObjectImp &objimp) const
 
virtual BObjectImp * selfPlusObj (const BLong &objimp) const
 
virtual BObjectImp * selfPlusObj (const Double &objimp) const
 
virtual BObjectImp * selfPlusObj (const String &objimp) const
 
virtual BObjectImp * selfPlusObj (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 BObjectImp * selfPlusObjImp (const BObjectImp &objimp) const
 
virtual void selfPlusObjImp (BObjectImp &objimp, BObject &obj)
 
virtual BObjectImp * selfTimesObj (const BObjectImp &objimp) const
 
virtual BObjectImp * selfTimesObj (const BLong &objimp) const
 
virtual BObjectImp * selfTimesObj (const Double &objimp) const
 
virtual BObjectImp * selfTimesObj (const String &objimp) const
 
virtual BObjectImp * selfTimesObj (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 BObjectImp * selfTimesObjImp (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 UninitObject * create ()
 
static void ReleaseSharedInstance ()
 
- Static Public Member Functions inherited from Pol::Bscript::BObjectImp
static const char * typestr (BObjectType typ)
 
static BObjectImp * unpack (const char *pstr)
 
static BObjectImp * unpack (std::istream &is)
 

Static Public Attributes

static UninitObject * SharedInstance
 
static ref_ptr< BObjectImp > SharedInstanceOwner
 

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: