Rework llindexedvector to be a bit more debugable.
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user