mirror of
				https://github.com/Icinga/icinga2.git
				synced 2025-11-03 21:25:56 +01:00 
			
		
		
		
	
							parent
							
								
									a530bb955d
								
							
						
					
					
						commit
						cd36ca2f3f
					
				@ -499,6 +499,14 @@ Signature:
 | 
			
		||||
 | 
			
		||||
Returns a copy of the string.
 | 
			
		||||
 | 
			
		||||
### <a id="string-reverse"></a> String#reverse
 | 
			
		||||
 | 
			
		||||
Signature:
 | 
			
		||||
 | 
			
		||||
    function reverse();
 | 
			
		||||
 | 
			
		||||
Returns a copy of the string in reverse order.
 | 
			
		||||
 | 
			
		||||
## <a id="array-type"></a> Array type
 | 
			
		||||
 | 
			
		||||
### <a id="array-add"></a> Array#add
 | 
			
		||||
@ -583,7 +591,13 @@ Signature:
 | 
			
		||||
 | 
			
		||||
Joins all elements of the array using the specified separator.
 | 
			
		||||
 | 
			
		||||
## <a id="dictionary-type"></a> Dictionary type
 | 
			
		||||
### <a id="array-reverse"></a> Array#reverse
 | 
			
		||||
 | 
			
		||||
Signature:
 | 
			
		||||
 | 
			
		||||
    function reverse();
 | 
			
		||||
 | 
			
		||||
Returns a new array with all elements of the current array in reverse order.
 | 
			
		||||
 | 
			
		||||
### <a id="dictionary-clone"></a> Dictionary#clone
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -130,6 +130,13 @@ static Value ArrayJoin(const Value& separator)
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static Array::Ptr ArrayReverse(void)
 | 
			
		||||
{
 | 
			
		||||
	ScriptFrame *vframe = ScriptFrame::GetCurrentFrame();
 | 
			
		||||
	Array::Ptr self = static_cast<Array::Ptr>(vframe->Self);
 | 
			
		||||
	return self->Reverse();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Object::Ptr Array::GetPrototype(void)
 | 
			
		||||
{
 | 
			
		||||
	static Dictionary::Ptr prototype;
 | 
			
		||||
@ -146,6 +153,7 @@ Object::Ptr Array::GetPrototype(void)
 | 
			
		||||
		prototype->Set("sort", new Function(WrapFunction(ArraySort)));
 | 
			
		||||
		prototype->Set("clone", new Function(WrapFunction(ArrayClone)));
 | 
			
		||||
		prototype->Set("join", new Function(WrapFunction(ArrayJoin)));
 | 
			
		||||
		prototype->Set("reverse", new Function(WrapFunction(ArrayReverse)));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return prototype;
 | 
			
		||||
 | 
			
		||||
@ -210,3 +210,14 @@ Array::Ptr Array::ShallowClone(void) const
 | 
			
		||||
	return clone;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Array::Ptr Array::Reverse(void) const
 | 
			
		||||
{
 | 
			
		||||
	Array::Ptr result = new Array();
 | 
			
		||||
 | 
			
		||||
	ObjectLock olock(this);
 | 
			
		||||
	ObjectLock xlock(result);
 | 
			
		||||
 | 
			
		||||
	std::copy(m_Data.rbegin(), m_Data.rend(), std::back_inserter(result->m_Data));
 | 
			
		||||
 | 
			
		||||
	return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -69,6 +69,8 @@ public:
 | 
			
		||||
 | 
			
		||||
	static Object::Ptr GetPrototype(void);
 | 
			
		||||
 | 
			
		||||
	Array::Ptr Reverse(void) const;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
	std::vector<Value> m_Data; /**< The data for the array. */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -126,6 +126,12 @@ static Value StringReplace(const String& search, const String& replacement)
 | 
			
		||||
	return self;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static String StringReverse(void)
 | 
			
		||||
{
 | 
			
		||||
	ScriptFrame *vframe = ScriptFrame::GetCurrentFrame();
 | 
			
		||||
	String self = vframe->Self;
 | 
			
		||||
	return self.Reverse();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Object::Ptr String::GetPrototype(void)
 | 
			
		||||
{
 | 
			
		||||
@ -142,6 +148,7 @@ Object::Ptr String::GetPrototype(void)
 | 
			
		||||
		prototype->Set("find", new Function(WrapFunction(StringFind)));
 | 
			
		||||
		prototype->Set("contains", new Function(WrapFunction(StringContains)));
 | 
			
		||||
		prototype->Set("replace", new Function(WrapFunction(StringReplace)));
 | 
			
		||||
		prototype->Set("reverse", new Function(WrapFunction(StringReverse)));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return prototype;
 | 
			
		||||
 | 
			
		||||
@ -209,6 +209,13 @@ public:
 | 
			
		||||
		m_Data.append(count, ch);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	inline String Reverse(void) const
 | 
			
		||||
	{
 | 
			
		||||
		String t = m_Data;
 | 
			
		||||
		std::reverse(t.m_Data.begin(), t.m_Data.end());
 | 
			
		||||
		return t;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	inline bool Contains(const String& str) const
 | 
			
		||||
	{
 | 
			
		||||
		return (m_Data.find(str) != std::string::npos);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user