// This file simply includes and applies any necessary compatibility fixes for // strange platforms like iOS. // Use placeholder as the namespace for placeholders. #pragma once #include #ifdef __SYMBIAN32__ #include #include #include #else #include #endif #include #if defined(__SYMBIAN32__) || defined(IOS) || defined(MACGNUSTD) #ifndef __SYMBIAN32__ #include #include #endif namespace std { #ifdef __SYMBIAN32__ using boost::bind; using boost::function; using boost::shared_ptr; #else using tr1::bind; using tr1::function; using tr1::shared_ptr; #endif template inline shared_ptr make_shared() { return shared_ptr(new T()); } template inline shared_ptr make_shared(Arg1& arg1) { return shared_ptr(new T(arg1)); } } #endif #ifdef __SYMBIAN32__ #define placeholder #elif defined(IOS) namespace placeholder = std::tr1::placeholders; #else namespace placeholder = std::placeholders; #endif