diff options
author | Oz Linden <oz@lindenlab.com> | 2012-07-24 13:11:14 -0400 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2012-07-24 13:11:14 -0400 |
commit | ef37311e9e47c26b370a61bb61361ed60f8d878a (patch) | |
tree | ea4cb7c83d7ea5e0b328ea3595fd87942bd17c89 /indra/llcommon/llstrider.h | |
parent | 42cc602732824df9af239de3b5d7ba05b5797106 (diff) | |
parent | 8df36196215131cbac961f47bfbd4a1b925548cb (diff) |
merge up to latest viewer-pathfinding (including 3.3.4)
Diffstat (limited to 'indra/llcommon/llstrider.h')
-rw-r--r-- | indra/llcommon/llstrider.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/indra/llcommon/llstrider.h b/indra/llcommon/llstrider.h index f4c43bac61..ed9284d2c5 100644 --- a/indra/llcommon/llstrider.h +++ b/indra/llcommon/llstrider.h @@ -44,6 +44,15 @@ public: const LLStrider<Object>& operator = (Object *first) { mObjectp = first; return *this;} void setStride (S32 skipBytes) { mSkip = (skipBytes ? skipBytes : sizeof(Object));} + LLStrider<Object> operator+(const S32& index) + { + LLStrider<Object> ret; + ret.mBytep = mBytep + mSkip*index; + ret.mSkip = mSkip; + + return ret; + } + void skip(const U32 index) { mBytep += mSkip*index;} U32 getSkip() const { return mSkip; } Object* get() { return mObjectp; } @@ -51,6 +60,7 @@ public: Object& operator *() { return *mObjectp; } Object* operator ++(int) { Object* old = mObjectp; mBytep += mSkip; return old; } Object* operator +=(int i) { mBytep += mSkip*i; return mObjectp; } + Object& operator[](U32 index) { return *(Object*)(mBytep + (mSkip * index)); } }; |