#ifndef __SELLA_NMS_WRAPPER_FUNCTIONAL__
#define __SELLA_NMS_WRAPPER_FUNCTIONAL__

#include "defaults.h"

#ifdef HAVE_STLPORT
	#include <functional>
	namespace sella_nms { using namespace stlport; };
#else
	#ifdef __GNUC__
		#if __GNUC__ < 3
			#include <functional>
			//namespace sella_nms { using namespace std; };
		#else
			#include <functional>
			#include <ext/functional>
			#if __GNUC__ == 3 && __GNUC_MINOR__ == 0 // gcc 3.0
				namespace sella_nms { using std::functional; }
			#else // gcc 3.1+
				namespace sella_nms { using namespace std; }
				namespace sella_nms { using namespace __gnu_cxx; }
			#endif
		#endif
	#else // non-gcc compiler
		#include <functional>
		namespace sella_nms { using namespace std; }
	#endif
#endif

#endif
