﻿/*
This source file is part of Castor3D (http://castor3d.developpez.com/castor3d.htm)

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with
the program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place - Suite 330, Boston, MA 02111-1307, USA, or go to
http://www.gnu.org/copyleft/lesser.txt.
*/
#ifndef ___Castor_Utils___
#define ___Castor_Utils___
	
namespace Castor
{
	/**
	 *\~english
	 *\brief		Retrieves the CPU count (physical + cores)
	 *\return		The count
	 *\~french
	 *\brief		Récupère le nombre de CPU (physiques + coeurs)
	 *\return		Le compte
	 */
	uint8_t GetCPUCount();
	/**
	 *\~english
	 *\brief		Suspends the execution of the calling thread for a given time
	 *\return		p_uiTime	The suspend time in milliseconds
	 *\~french
	 *\brief		Suspend l'exécution du thread courant pour un temps donné
	 *\return		p_uiTime	Le temps de suspension en millisecondes
	 */
	void Sleep( uint32_t p_uiTime );
}

#endif
