diff options
Diffstat (limited to 'indra/llcommon/lldepthstack.h')
-rw-r--r-- | indra/llcommon/lldepthstack.h | 116 |
1 files changed, 58 insertions, 58 deletions
diff --git a/indra/llcommon/lldepthstack.h b/indra/llcommon/lldepthstack.h index b65840d342..66a7a4ce15 100644 --- a/indra/llcommon/lldepthstack.h +++ b/indra/llcommon/lldepthstack.h @@ -1,25 +1,25 @@ -/** +/** * @file lldepthstack.h * @brief Declaration of the LLDepthStack class * * $LicenseInfo:firstyear=2001&license=viewerlgpl$ * Second Life Viewer Source Code * Copyright (C) 2010, Linden Research, Inc. - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License only. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * + * * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * $/LicenseInfo$ */ @@ -32,65 +32,65 @@ template <class DATA_TYPE> class LLDepthStack { private: - std::deque<DATA_TYPE*> mStack; - U32 mCurrentDepth; - U32 mMaxDepth; + std::deque<DATA_TYPE*> mStack; + U32 mCurrentDepth; + U32 mMaxDepth; public: - LLDepthStack() - : mCurrentDepth(0), mMaxDepth(0) - {} + LLDepthStack() + : mCurrentDepth(0), mMaxDepth(0) + {} + + void setDepth(U32 depth) + { + mMaxDepth = depth; + } + + U32 getDepth(void) const + { + return mCurrentDepth; + } - void setDepth(U32 depth) - { - mMaxDepth = depth; - } + void push(DATA_TYPE *data) + { + if (mCurrentDepth < mMaxDepth) + { + mStack.push_back(data); + mCurrentDepth++; + } + else + { + // the last item falls off stack and is deleted + if (!mStack.empty()) + { + mStack.pop_front(); + } + mStack.push_back(data); + } + } - U32 getDepth(void) const - { - return mCurrentDepth; - } + DATA_TYPE *pop() + { + DATA_TYPE *tempp = NULL; + if (!mStack.empty()) + { + tempp = mStack.back(); + mStack.pop_back(); + mCurrentDepth--; + } + return tempp; + } - void push(DATA_TYPE *data) - { - if (mCurrentDepth < mMaxDepth) - { - mStack.push_back(data); - mCurrentDepth++; - } - else - { - // the last item falls off stack and is deleted - if (!mStack.empty()) - { - mStack.pop_front(); - } - mStack.push_back(data); - } - } - - DATA_TYPE *pop() - { - DATA_TYPE *tempp = NULL; - if (!mStack.empty()) - { - tempp = mStack.back(); - mStack.pop_back(); - mCurrentDepth--; - } - return tempp; - } - - DATA_TYPE *check() - { - return mStack.empty() ? NULL : mStack.back(); - } + DATA_TYPE *check() + { + return mStack.empty() ? NULL : mStack.back(); + } - void removeAllNodes() - { - mCurrentDepth = 0; - mStack.clear(); - } + void removeAllNodes() + { + mCurrentDepth = 0; + mStack.clear(); + } }; #endif |