// Copyright (C) 2006 Davis E. King (davis@dlib.net) // License: Boost Software License See LICENSE.txt for the full license. #ifndef DLIB_CREATE_NEW_THREAD_EXTENSIOn_ #define DLIB_CREATE_NEW_THREAD_EXTENSIOn_ #include "threads_kernel_abstract.h" #include "create_new_thread_extension_abstract.h" #include "../threads.h" namespace dlib { // ---------------------------------------------------------------------------------------- template < typename T, void (T::*funct)() > inline void dlib_create_new_thread_helper ( void* obj ) { T* o = static_cast<T*>(obj); (o->*funct)(); } // ---------------------------------------------------------------------------------------- template < typename T, void (T::*funct)() > inline bool create_new_thread ( T& obj ) { return create_new_thread(dlib_create_new_thread_helper<T,funct>,&obj); } // ---------------------------------------------------------------------------------------- } #endif // DLIB_CREATE_NEW_THREAD_EXTENSIOn_