Model ModelLoader::Load(const string &aFileName, bool aNormalizeMesh /*= false*/) { ResetLoader(); cout << "Loading mesh " << aFileName << " ... "; FILE* pFile = fopen(aFileName.c_str(),"rb"); while(!feof(pFile)) { DispatchRead(pFile); } if(mNormals.size() == 1) { GenerateNormals(); } if(aNormalizeMesh) { NormalizeMesh(); } unsigned int GLId = FillPrimitive(); fclose(pFile); cout << "DONE." << endl; Model RetVal(mVertices, mCombinedVertices,GLId); return RetVal; }
TEST(RecorderTest, RetValRecorderTest) { TRACER_TRACE(&Fac) fac; auto facr = tracer::RecordRetVal(fac); Fac(3); int result[] = {1, 1, 2, 6}; for (int i = 0; i < 4; ++i) EXPECT_EQ(result[i], facr.RetVal(i)); }
string PRW::ReadString(UInt32 Length) { char * Tempo = new char[Length]; for(unsigned int i = 0; i < Length; i++) { Tempo[i] = (*(this->UnderlyingBuffer + this->Position)); this->Position++; } string RetVal(Tempo); delete[] Tempo; return RetVal; }
SimpleString SimpleString::operator+( const SimpleString& String ) const { uint NewLength = m_Length + String.m_Length; char* NewString = Allocate( NewLength + 1 ); memcpy( NewString, m_String, m_Length ); memcpy( NewString + m_Length, String.m_String, String.m_Length ); NewString[ NewLength ] = '\0'; SimpleString RetVal( NewString ); SafeDeleteArray( NewString ); return RetVal; }
/*static*/ SimpleString SimpleString::PrintF( const char* FormatString, ... ) { va_list Args; va_start( Args, FormatString ); int Length = VSPRINTF_COUNT( FormatString, Args ) + 1; char* pBuffer = Allocate( Length ); VSPRINTF( pBuffer, Length, FormatString, Args ); SimpleString RetVal( pBuffer ); SafeDeleteArray( pBuffer ); return RetVal; }
InputIterator ConvertIntegerToStringRadix( T Val, InputIterator Beg, InputIterator End ) { Detail::TRadixAbstraction<T, RadixValue> RA; typedef typename std::iterator_traits<InputIterator>::value_type TChar; InputIterator Cur(Beg); //Текущий символ InputIterator FirstDigit(Beg); //Первая записанная цифра if( Val < 0 ) //Если число отрицательное выводим знак { if( Cur == End ) return Beg; #pragma warning( push ) #pragma warning( disable: 4146 ) Val = -Val; #pragma warning( pop ) *Cur = '-'; ++Cur; ++FirstDigit; } do { if( Cur == End ) return Beg; *Cur = RA.template toChar<TChar>( Val % RA.radix() ); ++Cur; Val /= RA.radix(); } while( Val > 0 ); InputIterator RetVal(Cur); //Итератор стоящий за последним записанным символом //Мы получили перевёрнутое число. Восстанавливаем нормальный порядок --Cur; TChar Tmp; while( FirstDigit < Cur ) { Tmp = *Cur; *Cur = *FirstDigit; *FirstDigit = Tmp; ++FirstDigit; --Cur; } return RetVal; }
RetVal ident(int x) { return RetVal(); }
RetVal fun_tmpl_recurse(T t) { if (!t) return RetVal(); return F(t - 1); }
RetVal fun_normal(int t) { return RetVal(); }
RetVal fun_tmpl(const T &t) { return RetVal(); }