Rework llindexedvector to be a bit more debugable.

This commit is contained in:
Shyotl
2019-07-10 01:05:42 -05:00
parent 37839ff247
commit 49b027f2a0
6 changed files with 168 additions and 44 deletions

View File

@@ -90,7 +90,7 @@ public:
for (msg_var_data_map_t::iterator iter = mMemberVarData.begin();
iter != mMemberVarData.end(); iter++)
{
iter->second.deleteData();
mMemberVarData.toValue(iter).deleteData();
}
}
@@ -123,6 +123,7 @@ public:
~LLMsgData()
{
for_each(mMemberBlocks.begin(), mMemberBlocks.end(), DeletePairedPointer());
mMemberBlocks.clear();
}
void addBlock(LLMsgBlkData *blockp)
@@ -190,21 +191,21 @@ public:
~LLMessageBlock()
{
for_each(mMemberVariables.begin(), mMemberVariables.end(), DeletePairedPointer());
for_each(mMemberVariables.begin(), mMemberVariables.end(), message_variable_map_t::DeletePointer());
}
void addVariable(char *name, const EMsgVariableType type, const S32 size)
{
LLMessageVariable** varp = &mMemberVariables[name];
if (*varp != NULL)
LLMessageVariable*& varp = mMemberVariables[name];
if (varp != NULL)
{
LL_ERRS() << name << " has already been used as a variable name!" << LL_ENDL;
}
*varp = new LLMessageVariable(name, type, size);
if (((*varp)->getType() != MVT_VARIABLE)
&&(mTotalSize != -1))
varp = new LLMessageVariable(name, type, size);
if ((varp->getType() != MVT_VARIABLE)
&& (mTotalSize != -1))
{
mTotalSize += (*varp)->getSize();
mTotalSize += varp->getSize();
}
else
{
@@ -225,7 +226,7 @@ public:
const LLMessageVariable* getVariable(char* name) const
{
message_variable_map_t::const_iterator iter = mMemberVariables.find(name);
return iter != mMemberVariables.end()? iter->second : NULL;
return iter != mMemberVariables.end() ? mMemberVariables.toValue(iter) : NULL;
}
friend std::ostream& operator<<(std::ostream& s, LLMessageBlock &msg);
@@ -297,18 +298,18 @@ public:
~LLMessageTemplate()
{
for_each(mMemberBlocks.begin(), mMemberBlocks.end(), DeletePairedPointer());
for_each(mMemberBlocks.begin(), mMemberBlocks.end(), message_block_map_t::DeletePointer());
}
void addBlock(LLMessageBlock *blockp)
{
LLMessageBlock** member_blockp = &mMemberBlocks[blockp->mName];
if (*member_blockp != NULL)
LLMessageBlock*& member_blockp = mMemberBlocks[blockp->mName];
if (member_blockp != NULL)
{
LL_ERRS() << "Block " << blockp->mName
<< "has already been used as a block name!" << LL_ENDL;
}
*member_blockp = blockp;
member_blockp = blockp;
if ( (mTotalSize != -1)
&&(blockp->mTotalSize != -1)
&&( (blockp->mType == MBT_SINGLE)
@@ -391,7 +392,7 @@ public:
const LLMessageBlock* getBlock(char* name) const
{
message_block_map_t::const_iterator iter = mMemberBlocks.find(name);
return iter != mMemberBlocks.end() ? iter->second : NULL;
return iter != mMemberBlocks.end()? mMemberBlocks.toValue(iter): NULL;
}
public: