diff options
| author | Dave Parks <davep@lindenlab.com> | 2012-06-22 14:04:33 -0500 | 
|---|---|---|
| committer | Dave Parks <davep@lindenlab.com> | 2012-06-22 14:04:33 -0500 | 
| commit | 9e9d32de384b2807f195be48f49fbdec725f45d1 (patch) | |
| tree | 802158bd1a8872500ffeee286256f4c3ff79ef72 /indra/llcommon | |
| parent | 3c276c87bde4ff9403df93434e8dc5309a3441b9 (diff) | |
| parent | defbd61d318d0da12fdea208cf2b2297d9a6b122 (diff) | |
merge
Diffstat (limited to 'indra/llcommon')
| -rw-r--r-- | indra/llcommon/llsd.cpp | 1 | ||||
| -rw-r--r-- | indra/llcommon/llstrider.h | 10 | 
2 files changed, 11 insertions, 0 deletions
| diff --git a/indra/llcommon/llsd.cpp b/indra/llcommon/llsd.cpp index e295e3c621..8276ec836a 100644 --- a/indra/llcommon/llsd.cpp +++ b/indra/llcommon/llsd.cpp @@ -269,6 +269,7 @@ namespace  		virtual LLSD::UUID		asUUID() const	{ return LLUUID(mValue); }  		virtual LLSD::Date		asDate() const	{ return LLDate(mValue); }  		virtual LLSD::URI		asURI() const	{ return LLURI(mValue); } +		virtual int				size() const	{ return mValue.size(); }  	};  	LLSD::Integer	ImplString::asInteger() const 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)); }  }; | 
