Pol  Revision:cb584c9
Pol::Bscript::BObjectImp Class Referenceabstract

#include <bobject.h>

+ Inheritance diagram for Pol::Bscript::BObjectImp:

Public Types

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
}
 

Public Member Functions

 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 BObjectImp * copy () const =0
 
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
 
virtual std::string getStringRep () const =0
 
unsigned int instance () const
 
virtual BObjectImp * inverse () const
 
bool isa (BObjectType type) const
 
virtual bool isTrue () 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 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 void printOn (std::ostream &) 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 size_t sizeEstimate () const =0
 
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 const char * typestr (BObjectType typ)
 
static BObjectImp * unpack (const char *pstr)
 
static BObjectImp * unpack (std::istream &is)
 

Private Attributes

unsigned int instance_
 
BObjectType type_
 

Static Private Attributes

static Clib::SpinLock bobjectimp_lock
 
static unsigned int instances_ = 0
 

Friends

std::ostream & operator<< (std::ostream &, const BObjectImp &)
 
fmt::Writer & operator<< (fmt::Writer &, const BObjectImp &)
 

Additional Inherited Members

- 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 59 of file bobject.h.

Member Enumeration Documentation

Specify the object type for the child classes

Warning
This is directly returned by TypeOfInt(), so don't forget to keep constants inside basic.em in sync! It is better to always add new values at the end and use explicit int conversion to avoid breaking backward compatibility.
Enumerator
OTUnknown 
OTUninit 
OTString 
OTLong 
OTDouble 
OTArray 
OTApplicPtr 
OTApplicObj 
OTError 
OTDictionary 
OTStruct 
OTPacket 
OTBinaryFile 
OTXMLFile 
OTXMLNode 
OTXMLAttributes 
OTPolCoreRef 
OTAccountRef 
OTConfigFileRef 
OTConfigElemRef 
OTDataFileRef 
OTDataElemRef 
OTGuildRef 
OTPartyRef 
OTBoundingBox 
OTDebugContext 
OTScriptExRef 
OTPackage 
OTMenuRef 
OTMobileRef 
OTOfflineMobileRef 
OTItemRef 
OTBoatRef 
OTMultiRef 
OTClientRef 
OTSQLConnection 
OTSQLResultSet 
OTSQLRow 
OTBoolean 
OTFuncRef 

Definition at line 70 of file bobject.h.

Constructor & Destructor Documentation

Pol::Bscript::BObjectImp::BObjectImp ( BObjectType  type)
explicit
Pol::Bscript::BObjectImp::~BObjectImp ( )
virtual

Definition at line 193 of file object.cpp.

References bobjectimp_lock, Pol::Bscript::eobject_imp_count, and instance_.

Member Function Documentation

BObjectImp * Pol::Bscript::BObjectImp::bitnot ( ) const
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 851 of file object.cpp.

References copy().

Referenced by Pol::Bscript::BLong::copyvalue(), and instance().

long Pol::Bscript::BObjectImp::contains ( const BObjectImp &  objimp) const
virtual
virtual BObjectImp* Pol::Bscript::BObjectImp::copy ( ) const
pure virtual

Implemented in Pol::Module::PolCore, Pol::Module::BIntHash, Pol::Bscript::BApplicObj< T >, Pol::Bscript::BApplicObj< ScriptExPtr >, Pol::Bscript::BApplicObj< Core::PartyRef >, Pol::Bscript::BApplicObj< ClientPtrHolder >, Pol::Bscript::BApplicObj< ref_ptr< Multi::UBoat > >, Pol::Bscript::BApplicObj< ref_ptr< Multi::UMulti > >, Pol::Bscript::BApplicObj< Core::CharacterRef >, Pol::Bscript::BApplicObj< Core::ItemRef >, Pol::Bscript::BApplicObj< Mobile::BoundingBox >, Pol::Bscript::BApplicObj< Core::GuildRef >, Pol::Bscript::BApplicObj< AccountPtrHolder >, Pol::Bscript::BApplicObj< Menu >, Pol::Bscript::BApplicObjBase, Pol::Bscript::BApplicPtr, Pol::Bscript::BFunctionRef, Pol::Bscript::BBoolean, Pol::Bscript::Double, Pol::Bscript::BLong, Pol::Bscript::ObjArray, Pol::Bscript::UninitObject, Pol::Core::StorageAreasImp, Pol::Core::StorageAreaImp, Pol::Module::EClientRefObjImp, Pol::Core::DebugContextObjImp, Pol::Module::EMultiRefObjImp, Pol::Module::EMenuObjImp, Pol::Module::EUBoatRefObjImp, Pol::Core::BSQLConnection, Pol::Module::EItemRefObjImp, Pol::Core::BXmlAttribute, Pol::Module::ECharacterEquipObjImp, Pol::Module::DataElemRefObjImp, Pol::Module::BoundingBoxObjImp, Pol::Module::EOfflineCharacterRefObjImp, Pol::Core::BXmlNode, Pol::Core::BSQLResultSet, Pol::Module::EConfigElemRefObjImp, Pol::Core::BBinaryfile, Pol::Module::DataFileRefObjImp, Pol::Module::ECharacterRefObjImp, Pol::Module::PackageObjImp, Pol::Module::EConfigFileRefObjImp, Pol::Module::EGuildRefObjImp, Pol::Core::BSQLRow, Pol::Core::BXMLfile, Pol::Network::AuxConnection, Pol::Module::EPartyRefObjImp, Pol::Bscript::BStruct, Pol::Accounts::AccountObjImp, Pol::Bscript::BDictionary, Pol::Bscript::String, Pol::Core::BPacket, Pol::Bscript::BError, Pol::Core::ScriptExObjImp, and Pol::Bscript::ContIterator.

Referenced by Pol::Bscript::BDictionary::array_assign(), Pol::Bscript::BStruct::array_assign(), Pol::Bscript::ObjArray::array_assign(), bitnot(), Pol::Core::ScriptExObjImp::call_method_id(), Pol::Bscript::BDictionary::call_method_id(), Pol::Bscript::BStruct::call_method_id(), Pol::Bscript::ObjArray::call_method_id(), Pol::Bscript::ObjArray::deepcopy(), Pol::Bscript::BLong::increment(), Pol::Bscript::Executor::ins_addmember_assign(), Pol::Bscript::Executor::ins_assign(), Pol::Bscript::Executor::ins_assign_consume(), Pol::Bscript::Executor::ins_assign_globalvar(), Pol::Bscript::Executor::ins_assign_localvar(), Pol::Bscript::Executor::ins_dictionary_addmember(), instance(), Pol::Module::BasicExecutorModule::mf_CDbl(), Pol::Module::BasicExecutorModule::mf_CInt(), Pol::Module::MathExecutorModule::mf_Max(), Pol::Module::MathExecutorModule::mf_Min(), Pol::Module::OSExecutorModule::mf_OpenConnection(), Pol::Module::UOExecutorModule::mf_SendOpenBook(), Pol::Bscript::ObjArray::operInsertInto(), OperSubscript(), Pol::Module::OSExecutorModule::run_script(), selfBitAndObj(), selfBitOrObj(), selfBitShiftLeftObj(), selfBitShiftRightObj(), selfBitXorObj(), selfDividedByObj(), selfMinusObj(), selfModulusObj(), selfPlusObj(), Pol::Bscript::ObjArray::selfPlusObj(), selfTimesObj(), Pol::Bscript::BDictionary::set_member(), Pol::Bscript::BStruct::set_member(), Pol::Bscript::ObjArray::set_member(), Pol::Module::OSExecutorModule::start_script(), Pol::Module::OSExecutorModule::start_skill_script(), Pol::Bscript::BDictionaryIterator::step(), Pol::Bscript::BBoolean::value(), and Pol::Bscript::BFunctionRef::~BFunctionRef().

std::string Pol::Bscript::BObjectImp::getFormattedStringRep ( ) const
virtual

Reimplemented in Pol::Bscript::String.

Definition at line 213 of file object.cpp.

References getStringRep().

Referenced by Pol::Bscript::BDictionary::FormatForStringRep(), and instance().

virtual std::string Pol::Bscript::BObjectImp::getStringRep ( ) const
pure virtual

Implemented in Pol::Module::PolCore, Pol::Module::BIntHash, Pol::Bscript::BApplicObjBase, Pol::Bscript::BApplicPtr, Pol::Bscript::BFunctionRef, Pol::Bscript::BBoolean, Pol::Bscript::Double, Pol::Bscript::BLong, Pol::Bscript::ObjArray, Pol::Bscript::UninitObject, Pol::Core::StorageAreasImp, Pol::Core::StorageAreaImp, Pol::Core::BSQLConnection, Pol::Core::BXmlAttribute, Pol::Bscript::String, Pol::Core::BXmlNode, Pol::Core::BSQLResultSet, Pol::Core::BBinaryfile, Pol::Core::BSQLRow, Pol::Core::BXMLfile, Pol::Network::AuxConnection, Pol::Bscript::BStruct, Pol::Bscript::BDictionary, Pol::Core::BPacket, and Pol::Bscript::ContIterator.

Referenced by Pol::Module::SQLExecutorModule::background_query(), Pol::Core::BXMLfile::call_method_id(), Pol::Core::BXmlNode::call_method_id(), Pol::Bscript::String::call_method_id(), Pol::Core::DebugContext::cmd_localvarmembers(), Pol::Bscript::BLong::copyvalue(), Pol::Items::CreateItemDescriptor(), Pol::Bscript::display_bobjectimp_instance(), getFormattedStringRep(), Pol::Bscript::ObjArray::getStringRep(), instance(), Pol::Module::UOExecutorModule::internal_SendCompressedGumpMenu(), Pol::Module::UOExecutorModule::internal_SendUnCompressedGumpMenu(), Pol::Bscript::Double::inverse(), Pol::Module::BasicExecutorModule::len(), Pol::Module::ConfigFileExecutorModule::mf_AppendConfigFileElem(), Pol::Module::BasicExecutorModule::mf_CAscZ(), Pol::Module::BasicExecutorModule::mf_CStr(), Pol::Module::ConfigFileExecutorModule::mf_GetConfigIntArray(), Pol::Module::ConfigFileExecutorModule::mf_GetConfigString(), Pol::Module::ConfigFileExecutorModule::mf_GetConfigStringArray(), Pol::Module::ConfigFileExecutorModule::mf_GetConfigStringDictionary(), Pol::Module::OSExecutorModule::mf_HTTPRequest(), Pol::Module::OSExecutorModule::mf_Log(), Pol::Module::UOExecutorModule::mf_SendOpenBook(), Pol::Module::BasicExecutorModule::mf_SplitWords(), Pol::Module::BasicExecutorModule::mf_StrReplace(), Pol::Module::BasicExecutorModule::mf_SubStrReplace(), Pol::Module::BasicIoExecutorModule::print(), Pol::Module::read_book_page_handler(), Pol::Module::recurseE2J(), Pol::Module::replace_properties(), Pol::Bscript::String::selfMinusObj(), Pol::Bscript::String::selfPlusObj(), Pol::Module::OSExecutorModule::signal_event(), Pol::Network::AuxClientThread::transmit(), Pol::Bscript::try_to_format(), Pol::Bscript::BBoolean::value(), and Pol::Bscript::BFunctionRef::~BFunctionRef().

BObjectImp * Pol::Bscript::BObjectImp::inverse ( ) const
virtual

Reimplemented in Pol::Bscript::Double, and Pol::Bscript::BLong.

Definition at line 898 of file object.cpp.

References Pol::Bscript::UninitObject::create().

Referenced by instance(), and operator-().

bool Pol::Bscript::BObjectImp::isa ( BObjectType  type) const
inline

Definition at line 353 of file bobject.h.

References type_.

Referenced by Pol::Items::Item::add_to_self(), Pol::Bscript::BDictionary::array_assign(), Pol::Bscript::BStruct::array_assign(), Pol::Bscript::String::array_assign(), Pol::Bscript::ObjArray::array_assign(), Pol::Bscript::BStruct::BStruct(), Pol::Core::ExportScript::call_long(), Pol::Core::ScriptExObjImp::call_method_id(), Pol::Core::BXMLfile::call_method_id(), Pol::Bscript::BDictionary::call_method_id(), Pol::Bscript::BStruct::call_method_id(), Pol::Core::BXmlNode::call_method_id(), Pol::Bscript::String::call_method_id(), Pol::Core::CallPropertyListMethod_id(), Pol::Module::NPCExecutorModule::CanMove(), Pol::Core::convertArrayToUC(), Pol::Bscript::BStruct::copy(), Pol::Items::CreateItemDescriptor(), Pol::Module::NPCExecutorModule::face(), Pol::Core::getCharacterOrClientParam(), Pol::Core::getCharacterParam(), Pol::Core::getItemParam(), Pol::Core::getMultiParam(), Pol::Core::getObjtypeParam(), Pol::Bscript::Executor::getRealParam(), Pol::Module::UOExecutorModule::getStaticOrDynamicMenuParam(), Pol::Core::getUBoatParam(), Pol::Bscript::Executor::ins_casejmp(), Pol::Bscript::Executor::ins_nextfor(), Pol::Bscript::Executor::ins_stepforeach(), Pol::Module::UOExecutorModule::internal_MoveContainer(), Pol::Bscript::BObject::isTrue(), Pol::Module::BasicExecutorModule::len(), Pol::Bscript::Executor::makeDouble(), Pol::Bscript::Executor::makeString(), Pol::Module::MathExecutorModule::mf_Abs(), Pol::Module::ConfigFileExecutorModule::mf_AppendConfigFileElem(), Pol::Module::UOExecutorModule::mf_ApplyConstraint(), Pol::Module::BasicExecutorModule::mf_Bin(), Pol::Module::BasicExecutorModule::mf_Boolean(), Pol::Module::BasicExecutorModule::mf_CAsc(), Pol::Module::BasicExecutorModule::mf_CChrZ(), Pol::Module::BasicExecutorModule::mf_CDbl(), Pol::Module::BasicExecutorModule::mf_CInt(), Pol::Module::UOExecutorModule::mf_CreateNpcFromTemplate(), Pol::Module::ConfigFileExecutorModule::mf_FindConfigElement(), Pol::Module::ConfigFileExecutorModule::mf_GetConfigInt(), Pol::Module::ConfigFileExecutorModule::mf_GetConfigIntArray(), Pol::Module::ConfigFileExecutorModule::mf_GetConfigReal(), Pol::Module::BasicExecutorModule::mf_Hex(), Pol::Module::OSExecutorModule::mf_HTTPRequest(), Pol::Module::OSExecutorModule::mf_Log(), Pol::Module::MathExecutorModule::mf_Max(), Pol::Module::MathExecutorModule::mf_Min(), Pol::Module::PolSystemExecutorModule::mf_Realms(), Pol::Module::VitalExecutorModule::mf_RecalcVitals(), Pol::Module::UOExecutorModule::mf_SendPopUpMenu(), Pol::Module::UOExecutorModule::mf_SetScriptController(), Pol::Module::BasicExecutorModule::mf_Trim(), Pol::Module::NPCExecutorModule::move(), Pol::Bscript::BError::operator<(), Pol::Module::ECharacterRefObjImp::operator<(), Pol::Bscript::String::operator<(), Pol::Module::EItemRefObjImp::operator<(), Pol::Bscript::UninitObject::operator<(), Pol::Bscript::BLong::operator<(), Pol::Bscript::Double::operator<(), Pol::Bscript::BError::operator==(), Pol::Module::EPartyRefObjImp::operator==(), Pol::Module::EGuildRefObjImp::operator==(), Pol::Module::ECharacterRefObjImp::operator==(), Pol::Core::BBinaryfile::operator==(), Pol::Bscript::String::operator==(), Pol::Module::EItemRefObjImp::operator==(), Pol::Module::EUBoatRefObjImp::operator==(), Pol::Module::EMultiRefObjImp::operator==(), Pol::Module::EClientRefObjImp::operator==(), Pol::Bscript::UninitObject::operator==(), Pol::Bscript::ObjArray::operator==(), Pol::Bscript::BLong::operator==(), Pol::Bscript::Double::operator==(), Pol::Bscript::String::OperMultiSubscript(), Pol::Bscript::ObjArray::OperMultiSubscript(), Pol::Bscript::String::OperMultiSubscriptAssign(), Pol::Bscript::BDictionary::OperSubscript(), Pol::Bscript::BStruct::OperSubscript(), Pol::Module::EConfigFileRefObjImp::OperSubscript(), Pol::Core::BXMLfile::OperSubscript(), Pol::Core::BSQLRow::OperSubscript(), Pol::Bscript::String::OperSubscript(), Pol::Core::BXmlNode::OperSubscript(), Pol::Core::BXmlAttribute::OperSubscript(), Pol::Bscript::ObjArray::OperSubscript(), Pol::Module::BIntHash::OperSubscript(), Pol::Bscript::Executor::paramAsLong(), Pol::Module::recurseE2J(), Pol::Module::replace_properties(), Pol::Core::UObject::script_method_id(), Pol::Mobile::Character::script_method_id(), Pol::Core::Party::send_member_msg_private(), Pol::Core::Party::send_member_msg_public(), 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::Bscript::try_to_format(), and Pol::Bscript::ObjArray::unpack().

char Pol::Bscript::BObjectImp::member ( const BObject &  obj) const
inlinevirtual

Definition at line 343 of file bobject.h.

Referenced by instance().

bool Pol::Bscript::BObjectImp::operator!= ( const BObjectImp &  objimp) const
virtual

Can be overridden. By default uses ==

Definition at line 323 of file object.cpp.

Referenced by Pol::Bscript::BObject::BObject(), and instance().

BObject Pol::Bscript::BObjectImp::operator- ( void  ) const
virtual

Definition at line 892 of file object.cpp.

References inverse().

Referenced by instance().

bool Pol::Bscript::BObjectImp::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 in Pol::Bscript::Double, Pol::Bscript::BLong, Pol::Bscript::UninitObject, Pol::Module::EItemRefObjImp, Pol::Bscript::String, Pol::Module::ECharacterRefObjImp, and Pol::Bscript::BError.

Definition at line 283 of file object.cpp.

References OTError, OTUninit, and type_.

Referenced by Pol::Bscript::BObject::BObject(), Pol::Bscript::Double::copy(), Pol::Bscript::BLong::copyvalue(), Pol::Bscript::UninitObject::getStringRep(), instance(), Pol::Bscript::String::operator<(), Pol::Bscript::BLong::operator<(), and Pol::Bscript::Double::operator<().

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

Can be overridden. By default uses == and <

Definition at line 302 of file object.cpp.

Referenced by Pol::Bscript::BObject::BObject(), and instance().

bool Pol::Bscript::BObjectImp::operator> ( const BObjectImp &  objimp) const
virtual

Can be overridden. By default uses == and <

Definition at line 309 of file object.cpp.

Referenced by Pol::Bscript::BObject::BObject(), and instance().

bool Pol::Bscript::BObjectImp::operator>= ( const BObjectImp &  objimp) const
virtual

Can be overridden. By default uses <

Definition at line 316 of file object.cpp.

Referenced by Pol::Bscript::BObject::BObject(), and instance().

void Pol::Bscript::BObjectImp::operDivideEqual ( BObject &  obj,
BObjectImp &  objimp 
)
virtual

Definition at line 880 of file object.cpp.

References selfDividedByObjImp().

Referenced by Pol::Bscript::Executor::ins_divideequal(), and instance().

BObjectRef Pol::Bscript::BObjectImp::operDotMinus ( const char *  name)
virtual

Reimplemented in Pol::Bscript::BStruct.

Definition at line 956 of file object.cpp.

Referenced by instance(), and Pol::Bscript::Executor::removemember().

BObjectRef Pol::Bscript::BObjectImp::operDotPlus ( const char *  name)
virtual
BObjectRef Pol::Bscript::BObjectImp::operDotQMark ( const char *  name)
virtual
void Pol::Bscript::BObjectImp::operInsertInto ( BObject &  obj,
const BObjectImp &  objimp 
)
virtual

Reimplemented in Pol::Bscript::ObjArray.

Definition at line 856 of file object.cpp.

References Pol::Bscript::BObject::setimp().

Referenced by Pol::Bscript::Executor::ins_insert_into(), and instance().

void Pol::Bscript::BObjectImp::operMinusEqual ( BObject &  obj,
BObjectImp &  objimp 
)
virtual

Definition at line 868 of file object.cpp.

References selfMinusObjImp().

Referenced by Pol::Bscript::Executor::ins_minusequal(), and instance().

void Pol::Bscript::BObjectImp::operModulusEqual ( BObject &  obj,
BObjectImp &  objimp 
)
virtual

Definition at line 886 of file object.cpp.

References selfModulusObjImp().

Referenced by Pol::Bscript::Executor::ins_modulusequal(), and instance().

BObjectRef Pol::Bscript::BObjectImp::OperMultiSubscript ( std::stack< BObjectRef > &  indices)
virtual

Reimplemented in Pol::Bscript::ObjArray, and Pol::Bscript::String.

Definition at line 333 of file object.cpp.

References OperSubscript().

Referenced by instance().

BObjectRef Pol::Bscript::BObjectImp::OperMultiSubscriptAssign ( std::stack< BObjectRef > &  indices,
BObjectImp *  target 
)
virtual

Reimplemented in Pol::Bscript::String.

Definition at line 344 of file object.cpp.

References array_assign(), and OperSubscript().

Referenced by instance().

void Pol::Bscript::BObjectImp::operPlusEqual ( BObject &  obj,
BObjectImp &  objimp 
)
virtual

Definition at line 862 of file object.cpp.

References selfPlusObjImp().

Referenced by Pol::Bscript::Executor::ins_plusequal(), and instance().

void Pol::Bscript::BObjectImp::operTimesEqual ( BObject &  obj,
BObjectImp &  objimp 
)
virtual

Definition at line 874 of file object.cpp.

References selfTimesObjImp().

Referenced by Pol::Bscript::Executor::ins_timesequal(), and instance().

BObjectImp * Pol::Bscript::BObjectImp::selfBitAndObj ( const BObjectImp &  objimp) const
virtual
BObjectImp * Pol::Bscript::BObjectImp::selfBitAndObj ( const BLong &  objimp) const
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 712 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfBitAndObj ( const Double &  objimp) const
virtual

Definition at line 716 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfBitAndObj ( const String &  objimp) const
virtual

Definition at line 720 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfBitAndObj ( const ObjArray &  objimp) const
virtual

Definition at line 724 of file object.cpp.

References copy().

void Pol::Bscript::BObjectImp::selfBitAndObj ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Definition at line 732 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitAndObj ( BLong &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 736 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitAndObj ( Double &  objimp,
BObject &  obj 
)
virtual

Definition at line 740 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitAndObj ( String &  objimp,
BObject &  obj 
)
virtual

Definition at line 744 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitAndObj ( ObjArray &  objimp,
BObject &  obj 
)
virtual

Definition at line 748 of file object.cpp.

BObjectImp * Pol::Bscript::BObjectImp::selfBitAndObjImp ( const BObjectImp &  objimp) const
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 704 of file object.cpp.

References selfBitAndObj().

Referenced by Pol::Bscript::BLong::copyvalue(), Pol::Bscript::Executor::ins_bitwise_and(), and instance().

void Pol::Bscript::BObjectImp::selfBitAndObjImp ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 728 of file object.cpp.

References selfBitAndObj().

BObjectImp * Pol::Bscript::BObjectImp::selfBitOrObj ( const BObjectImp &  objimp) const
virtual
BObjectImp * Pol::Bscript::BObjectImp::selfBitOrObj ( const BLong &  objimp) const
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 761 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfBitOrObj ( const Double &  objimp) const
virtual

Definition at line 765 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfBitOrObj ( const String &  objimp) const
virtual

Definition at line 769 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfBitOrObj ( const ObjArray &  objimp) const
virtual

Definition at line 773 of file object.cpp.

References copy().

void Pol::Bscript::BObjectImp::selfBitOrObj ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Definition at line 781 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitOrObj ( BLong &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 785 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitOrObj ( Double &  objimp,
BObject &  obj 
)
virtual

Definition at line 789 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitOrObj ( String &  objimp,
BObject &  obj 
)
virtual

Definition at line 793 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitOrObj ( ObjArray &  objimp,
BObject &  obj 
)
virtual

Definition at line 797 of file object.cpp.

BObjectImp * Pol::Bscript::BObjectImp::selfBitOrObjImp ( const BObjectImp &  objimp) const
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 753 of file object.cpp.

References selfBitOrObj().

Referenced by Pol::Bscript::BLong::copyvalue(), Pol::Bscript::Executor::ins_bitwise_or(), and instance().

void Pol::Bscript::BObjectImp::selfBitOrObjImp ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 777 of file object.cpp.

References selfBitOrObj().

BObjectImp * Pol::Bscript::BObjectImp::selfBitShiftLeftObj ( const BObjectImp &  objimp) const
virtual
BObjectImp * Pol::Bscript::BObjectImp::selfBitShiftLeftObj ( const BLong &  objimp) const
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 663 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfBitShiftLeftObj ( const Double &  objimp) const
virtual

Definition at line 667 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfBitShiftLeftObj ( const String &  objimp) const
virtual

Definition at line 671 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfBitShiftLeftObj ( const ObjArray &  objimp) const
virtual

Definition at line 675 of file object.cpp.

References copy().

void Pol::Bscript::BObjectImp::selfBitShiftLeftObj ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Definition at line 683 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitShiftLeftObj ( BLong &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 687 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitShiftLeftObj ( Double &  objimp,
BObject &  obj 
)
virtual

Definition at line 691 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitShiftLeftObj ( String &  objimp,
BObject &  obj 
)
virtual

Definition at line 695 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitShiftLeftObj ( ObjArray &  objimp,
BObject &  obj 
)
virtual

Definition at line 699 of file object.cpp.

BObjectImp * Pol::Bscript::BObjectImp::selfBitShiftLeftObjImp ( const BObjectImp &  objimp) const
virtual
void Pol::Bscript::BObjectImp::selfBitShiftLeftObjImp ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 679 of file object.cpp.

References selfBitShiftLeftObj().

BObjectImp * Pol::Bscript::BObjectImp::selfBitShiftRightObj ( const BObjectImp &  objimp) const
virtual
BObjectImp * Pol::Bscript::BObjectImp::selfBitShiftRightObj ( const BLong &  objimp) const
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 614 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfBitShiftRightObj ( const Double &  objimp) const
virtual

Definition at line 618 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfBitShiftRightObj ( const String &  objimp) const
virtual

Definition at line 622 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfBitShiftRightObj ( const ObjArray &  objimp) const
virtual

Definition at line 626 of file object.cpp.

References copy().

void Pol::Bscript::BObjectImp::selfBitShiftRightObj ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Definition at line 634 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitShiftRightObj ( BLong &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 638 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitShiftRightObj ( Double &  objimp,
BObject &  obj 
)
virtual

Definition at line 642 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitShiftRightObj ( String &  objimp,
BObject &  obj 
)
virtual

Definition at line 646 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitShiftRightObj ( ObjArray &  objimp,
BObject &  obj 
)
virtual

Definition at line 650 of file object.cpp.

BObjectImp * Pol::Bscript::BObjectImp::selfBitShiftRightObjImp ( const BObjectImp &  objimp) const
virtual
void Pol::Bscript::BObjectImp::selfBitShiftRightObjImp ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 630 of file object.cpp.

References selfBitShiftRightObj().

BObjectImp * Pol::Bscript::BObjectImp::selfBitXorObj ( const BObjectImp &  objimp) const
virtual
BObjectImp * Pol::Bscript::BObjectImp::selfBitXorObj ( const BLong &  objimp) const
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 810 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfBitXorObj ( const Double &  objimp) const
virtual

Definition at line 814 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfBitXorObj ( const String &  objimp) const
virtual

Definition at line 818 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfBitXorObj ( const ObjArray &  objimp) const
virtual

Definition at line 822 of file object.cpp.

References copy().

void Pol::Bscript::BObjectImp::selfBitXorObj ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Definition at line 830 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitXorObj ( BLong &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 834 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitXorObj ( Double &  objimp,
BObject &  obj 
)
virtual

Definition at line 838 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitXorObj ( String &  objimp,
BObject &  obj 
)
virtual

Definition at line 842 of file object.cpp.

void Pol::Bscript::BObjectImp::selfBitXorObj ( ObjArray &  objimp,
BObject &  obj 
)
virtual

Definition at line 846 of file object.cpp.

BObjectImp * Pol::Bscript::BObjectImp::selfBitXorObjImp ( const BObjectImp &  objimp) const
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 802 of file object.cpp.

References selfBitXorObj().

Referenced by Pol::Bscript::BLong::copyvalue(), Pol::Bscript::Executor::ins_bitwise_xor(), and instance().

void Pol::Bscript::BObjectImp::selfBitXorObjImp ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 826 of file object.cpp.

References selfBitXorObj().

BObjectImp * Pol::Bscript::BObjectImp::selfDividedByObj ( const BObjectImp &  objimp) const
virtual
BObjectImp * Pol::Bscript::BObjectImp::selfDividedByObj ( const BLong &  objimp) const
virtual

Reimplemented in Pol::Bscript::Double, and Pol::Bscript::BLong.

Definition at line 516 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfDividedByObj ( const Double &  objimp) const
virtual

Reimplemented in Pol::Bscript::Double, and Pol::Bscript::BLong.

Definition at line 520 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfDividedByObj ( const String &  objimp) const
virtual

Definition at line 524 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfDividedByObj ( const ObjArray &  objimp) const
virtual

Definition at line 528 of file object.cpp.

References copy().

void Pol::Bscript::BObjectImp::selfDividedByObj ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Definition at line 536 of file object.cpp.

void Pol::Bscript::BObjectImp::selfDividedByObj ( BLong &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::Double, and Pol::Bscript::BLong.

Definition at line 540 of file object.cpp.

void Pol::Bscript::BObjectImp::selfDividedByObj ( Double &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::Double, and Pol::Bscript::BLong.

Definition at line 544 of file object.cpp.

void Pol::Bscript::BObjectImp::selfDividedByObj ( String &  objimp,
BObject &  obj 
)
virtual

Definition at line 548 of file object.cpp.

void Pol::Bscript::BObjectImp::selfDividedByObj ( ObjArray &  objimp,
BObject &  obj 
)
virtual

Definition at line 552 of file object.cpp.

BObjectImp * Pol::Bscript::BObjectImp::selfDividedByObjImp ( const BObjectImp &  objimp) const
virtual
void Pol::Bscript::BObjectImp::selfDividedByObjImp ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::Double, and Pol::Bscript::BLong.

Definition at line 532 of file object.cpp.

References selfDividedByObj().

BObjectImp * Pol::Bscript::BObjectImp::selfMinusObj ( const BLong &  objimp) const
virtual

Reimplemented in Pol::Bscript::Double, Pol::Bscript::BLong, and Pol::Bscript::String.

Definition at line 418 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfMinusObj ( const Double &  objimp) const
virtual

Reimplemented in Pol::Bscript::Double, Pol::Bscript::BLong, and Pol::Bscript::String.

Definition at line 422 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfMinusObj ( const String &  objimp) const
virtual

Reimplemented in Pol::Bscript::Double, Pol::Bscript::BLong, and Pol::Bscript::String.

Definition at line 426 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfMinusObj ( const ObjArray &  objimp) const
virtual

Reimplemented in Pol::Bscript::String.

Definition at line 430 of file object.cpp.

References copy().

void Pol::Bscript::BObjectImp::selfMinusObj ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::String.

Definition at line 438 of file object.cpp.

void Pol::Bscript::BObjectImp::selfMinusObj ( BLong &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::Double, Pol::Bscript::BLong, and Pol::Bscript::String.

Definition at line 442 of file object.cpp.

void Pol::Bscript::BObjectImp::selfMinusObj ( Double &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::Double, Pol::Bscript::BLong, and Pol::Bscript::String.

Definition at line 446 of file object.cpp.

void Pol::Bscript::BObjectImp::selfMinusObj ( String &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::Double, Pol::Bscript::BLong, and Pol::Bscript::String.

Definition at line 450 of file object.cpp.

void Pol::Bscript::BObjectImp::selfMinusObj ( ObjArray &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::String.

Definition at line 454 of file object.cpp.

BObjectImp * Pol::Bscript::BObjectImp::selfMinusObjImp ( const BObjectImp &  objimp) const
virtual
void Pol::Bscript::BObjectImp::selfMinusObjImp ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::Double, Pol::Bscript::BLong, and Pol::Bscript::String.

Definition at line 434 of file object.cpp.

References selfMinusObj().

BObjectImp * Pol::Bscript::BObjectImp::selfModulusObj ( const BObjectImp &  objimp) const
virtual
BObjectImp * Pol::Bscript::BObjectImp::selfModulusObj ( const BLong &  objimp) const
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 565 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfModulusObj ( const Double &  objimp) const
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 569 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfModulusObj ( const String &  objimp) const
virtual

Definition at line 573 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfModulusObj ( const ObjArray &  objimp) const
virtual

Definition at line 577 of file object.cpp.

References copy().

void Pol::Bscript::BObjectImp::selfModulusObj ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Definition at line 585 of file object.cpp.

void Pol::Bscript::BObjectImp::selfModulusObj ( BLong &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 589 of file object.cpp.

void Pol::Bscript::BObjectImp::selfModulusObj ( Double &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 593 of file object.cpp.

void Pol::Bscript::BObjectImp::selfModulusObj ( String &  objimp,
BObject &  obj 
)
virtual

Definition at line 597 of file object.cpp.

void Pol::Bscript::BObjectImp::selfModulusObj ( ObjArray &  objimp,
BObject &  obj 
)
virtual

Definition at line 601 of file object.cpp.

BObjectImp * Pol::Bscript::BObjectImp::selfModulusObjImp ( const BObjectImp &  objimp) const
virtual
void Pol::Bscript::BObjectImp::selfModulusObjImp ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::BLong.

Definition at line 581 of file object.cpp.

References selfModulusObj().

BObjectImp * Pol::Bscript::BObjectImp::selfPlusObj ( const BLong &  objimp) const
virtual

Reimplemented in Pol::Bscript::Double, Pol::Bscript::BLong, Pol::Bscript::ObjArray, and Pol::Bscript::String.

Definition at line 369 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfPlusObj ( const Double &  objimp) const
virtual

Reimplemented in Pol::Bscript::Double, Pol::Bscript::BLong, Pol::Bscript::ObjArray, and Pol::Bscript::String.

Definition at line 373 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfPlusObj ( const String &  objimp) const
virtual

Reimplemented in Pol::Bscript::Double, Pol::Bscript::BLong, Pol::Bscript::ObjArray, and Pol::Bscript::String.

Definition at line 377 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfPlusObj ( const ObjArray &  objimp) const
virtual

Reimplemented in Pol::Bscript::ObjArray, and Pol::Bscript::String.

Definition at line 381 of file object.cpp.

References copy().

void Pol::Bscript::BObjectImp::selfPlusObj ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::ObjArray, and Pol::Bscript::String.

Definition at line 389 of file object.cpp.

void Pol::Bscript::BObjectImp::selfPlusObj ( BLong &  objimp,
BObject &  obj 
)
virtual
void Pol::Bscript::BObjectImp::selfPlusObj ( Double &  objimp,
BObject &  obj 
)
virtual
void Pol::Bscript::BObjectImp::selfPlusObj ( String &  objimp,
BObject &  obj 
)
virtual
void Pol::Bscript::BObjectImp::selfPlusObj ( ObjArray &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::ObjArray, and Pol::Bscript::String.

Definition at line 405 of file object.cpp.

BObjectImp * Pol::Bscript::BObjectImp::selfPlusObjImp ( const BObjectImp &  objimp) const
virtual
void Pol::Bscript::BObjectImp::selfPlusObjImp ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::Double, Pol::Bscript::BLong, Pol::Bscript::ObjArray, and Pol::Bscript::String.

Definition at line 385 of file object.cpp.

References selfPlusObj().

BObjectImp * Pol::Bscript::BObjectImp::selfTimesObj ( const BObjectImp &  objimp) const
virtual
BObjectImp * Pol::Bscript::BObjectImp::selfTimesObj ( const BLong &  objimp) const
virtual

Reimplemented in Pol::Bscript::Double, and Pol::Bscript::BLong.

Definition at line 467 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfTimesObj ( const Double &  objimp) const
virtual

Reimplemented in Pol::Bscript::Double, and Pol::Bscript::BLong.

Definition at line 471 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfTimesObj ( const String &  objimp) const
virtual

Definition at line 475 of file object.cpp.

References copy().

BObjectImp * Pol::Bscript::BObjectImp::selfTimesObj ( const ObjArray &  objimp) const
virtual

Definition at line 479 of file object.cpp.

References copy().

void Pol::Bscript::BObjectImp::selfTimesObj ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Definition at line 487 of file object.cpp.

void Pol::Bscript::BObjectImp::selfTimesObj ( BLong &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::Double, and Pol::Bscript::BLong.

Definition at line 491 of file object.cpp.

void Pol::Bscript::BObjectImp::selfTimesObj ( Double &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::Double, and Pol::Bscript::BLong.

Definition at line 495 of file object.cpp.

void Pol::Bscript::BObjectImp::selfTimesObj ( String &  objimp,
BObject &  obj 
)
virtual

Definition at line 499 of file object.cpp.

void Pol::Bscript::BObjectImp::selfTimesObj ( ObjArray &  objimp,
BObject &  obj 
)
virtual

Definition at line 503 of file object.cpp.

BObjectImp * Pol::Bscript::BObjectImp::selfTimesObjImp ( const BObjectImp &  objimp) const
virtual
void Pol::Bscript::BObjectImp::selfTimesObjImp ( BObjectImp &  objimp,
BObject &  obj 
)
virtual

Reimplemented in Pol::Bscript::Double, and Pol::Bscript::BLong.

Definition at line 483 of file object.cpp.

References selfTimesObj().

virtual size_t Pol::Bscript::BObjectImp::sizeEstimate ( ) const
pure virtual
char Pol::Bscript::BObjectImp::str_member ( const std::string &  membername) const
inlinevirtual

Definition at line 347 of file bobject.h.

Referenced by instance().

const char * Pol::Bscript::BObjectImp::typeOf ( ) const
virtual

Reimplemented in Pol::Module::PolCore, Pol::Bscript::BApplicObj< T >, Pol::Bscript::BApplicObj< ScriptExPtr >, Pol::Bscript::BApplicObj< Core::PartyRef >, Pol::Bscript::BApplicObj< ClientPtrHolder >, Pol::Bscript::BApplicObj< ref_ptr< Multi::UBoat > >, Pol::Bscript::BApplicObj< ref_ptr< Multi::UMulti > >, Pol::Bscript::BApplicObj< Core::CharacterRef >, Pol::Bscript::BApplicObj< Core::ItemRef >, Pol::Bscript::BApplicObj< Mobile::BoundingBox >, Pol::Bscript::BApplicObj< Core::GuildRef >, Pol::Bscript::BApplicObj< AccountPtrHolder >, Pol::Bscript::BApplicObj< Menu >, Pol::Module::EClientRefObjImp, Pol::Core::DebugContextObjImp, Pol::Module::EMultiRefObjImp, Pol::Module::EMenuObjImp, Pol::Module::EUBoatRefObjImp, Pol::Core::BSQLConnection, Pol::Module::EItemRefObjImp, Pol::Core::BXmlAttribute, Pol::Module::DataElemRefObjImp, Pol::Module::BoundingBoxObjImp, Pol::Module::EOfflineCharacterRefObjImp, Pol::Core::BSQLResultSet, Pol::Core::BXmlNode, Pol::Core::BBinaryfile, Pol::Module::EConfigElemRefObjImp, Pol::Module::DataFileRefObjImp, Pol::Module::ECharacterRefObjImp, Pol::Module::PackageObjImp, Pol::Module::EConfigFileRefObjImp, Pol::Core::BSQLRow, Pol::Core::BXMLfile, Pol::Module::EGuildRefObjImp, Pol::Bscript::BStruct, Pol::Module::EPartyRefObjImp, Pol::Bscript::BDictionary, Pol::Core::BPacket, Pol::Accounts::AccountObjImp, Pol::Bscript::BError, and Pol::Core::ScriptExObjImp.

Definition at line 257 of file object.cpp.

References type_, and typestr().

Referenced by Pol::Items::CreateItemDescriptor(), Pol::Bscript::BApplicObjBase::getStringRep(), instance(), Pol::Module::BasicExecutorModule::mf_TypeOf(), Pol::Module::replace_properties(), and Pol::Module::PolCore::sizeEstimate().

u8 Pol::Bscript::BObjectImp::typeOfInt ( ) const
virtual

Reimplemented in Pol::Module::PolCore, Pol::Bscript::BApplicObj< T >, Pol::Bscript::BApplicObj< ScriptExPtr >, Pol::Bscript::BApplicObj< Core::PartyRef >, Pol::Bscript::BApplicObj< ClientPtrHolder >, Pol::Bscript::BApplicObj< ref_ptr< Multi::UBoat > >, Pol::Bscript::BApplicObj< ref_ptr< Multi::UMulti > >, Pol::Bscript::BApplicObj< Core::CharacterRef >, Pol::Bscript::BApplicObj< Core::ItemRef >, Pol::Bscript::BApplicObj< Mobile::BoundingBox >, Pol::Bscript::BApplicObj< Core::GuildRef >, Pol::Bscript::BApplicObj< AccountPtrHolder >, Pol::Bscript::BApplicObj< Menu >, Pol::Module::EClientRefObjImp, Pol::Core::DebugContextObjImp, Pol::Module::EMultiRefObjImp, Pol::Module::EMenuObjImp, Pol::Module::EUBoatRefObjImp, Pol::Core::BSQLConnection, Pol::Module::EItemRefObjImp, Pol::Core::BXmlAttribute, Pol::Module::DataElemRefObjImp, Pol::Module::BoundingBoxObjImp, Pol::Module::EOfflineCharacterRefObjImp, Pol::Core::BSQLResultSet, Pol::Core::BXmlNode, Pol::Core::BBinaryfile, Pol::Module::EConfigElemRefObjImp, Pol::Module::DataFileRefObjImp, Pol::Module::ECharacterRefObjImp, Pol::Module::PackageObjImp, Pol::Module::EConfigFileRefObjImp, Pol::Core::BSQLRow, Pol::Core::BXMLfile, Pol::Module::EGuildRefObjImp, Pol::Bscript::BStruct, Pol::Module::EPartyRefObjImp, Pol::Bscript::BDictionary, Pol::Core::BPacket, Pol::Accounts::AccountObjImp, Pol::Bscript::BError, and Pol::Core::ScriptExObjImp.

Definition at line 263 of file object.cpp.

References type_.

Referenced by instance(), Pol::Module::BasicExecutorModule::mf_TypeOfInt(), and Pol::Module::PolCore::sizeEstimate().

BObjectImp * Pol::Bscript::BObjectImp::unpack ( std::istream &  is)
static

Pack formats:

  • sSTRING\0 string
  • iINTEGER\0 integer
  • rREAL\0 real
  • u\0 uninitialized
  • aNN:ELEMS array
  • SNN:STRING

Examples:

  • 57 i57
  • 4.3 r4.3
  • "hello world" shello world
  • { 5,3 } a2:i5i3
  • { 5, "hey" } a2:i5S3:hey
  • { 5, "hey", 7 } a3:i5S3:heyi7

Definition at line 80 of file object.cpp.

References Pol::Bscript::UninitObject::create(), Pol::Bscript::BError::unpack(), Pol::Bscript::BDictionary::unpack(), Pol::Bscript::BStruct::unpack(), Pol::Bscript::String::unpack(), Pol::Bscript::ObjArray::unpack(), Pol::Bscript::BLong::unpack(), Pol::Bscript::Double::unpack(), Pol::Bscript::BBoolean::unpack(), and Pol::Bscript::String::unpackWithLen().

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const BObjectImp &  objimp 
)
friend

Definition at line 30 of file objstrm.cpp.

Referenced by instance(), and Pol::Bscript::BObject::isTrue().

fmt::Writer& operator<< ( fmt::Writer &  w,
const BObjectImp &  objimp 
)
friend

Definition at line 35 of file objstrm.cpp.

Member Data Documentation

Clib::SpinLock Pol::Bscript::BObjectImp::bobjectimp_lock
staticprivate

Definition at line 339 of file bobject.h.

Referenced by BObjectImp(), Pol::Bscript::display_bobjectimp_instances(), and ~BObjectImp().

unsigned int Pol::Bscript::BObjectImp::instance_
private

Definition at line 337 of file bobject.h.

Referenced by BObjectImp(), instance(), and ~BObjectImp().

unsigned int Pol::Bscript::BObjectImp::instances_ = 0
staticprivate

Definition at line 338 of file bobject.h.

Referenced by BObjectImp(), and Pol::Bscript::display_bobjectimp_instances().

BObjectType Pol::Bscript::BObjectImp::type_
private

Definition at line 335 of file bobject.h.

Referenced by isa(), operator<(), type(), typeOf(), and typeOfInt().


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