From 4c67a16d41c000980126de197db8142e070af179 Mon Sep 17 00:00:00 2001 From: Braffolk Date: Tue, 7 Aug 2018 12:15:07 +0300 Subject: [PATCH] Optimised find_index --- TArray.h | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/TArray.h b/TArray.h index 001e2c5..36dd8ed 100644 --- a/TArray.h +++ b/TArray.h @@ -98,15 +98,8 @@ class TArray_type : public TArray { } inline int find_index( double val, int offset ) { - int index = -1; - T find = ( T ) val; - for( int n = offset; n < this->size; n++ ) { - if( this->data[ n ] == find ) { - index = n; - break; - } - } - return index; + int found = std::find( this->data + offset, this->data + this->size, ( T ) val ) - this->data; + return ( found != this->size ) ? ( found ) : ( -1 ); } inline unsigned int write_compressed( char* buffer, unsigned int offset ) {