a1)))
        {
            start_thread();
        }
        template <class F,class A1,class A2>
        thread(F f,A1 a1,A2 a2):
            thread_info(make_thread_info(boost::bind(boost::type<void>(),f,a1,a2)))
        {
            start_thread();
        }

        template <class F,class A1,class A2,class A3>
        thread(F f,A1 a1,A2 a2,A3 a3):
            thread_info(make_thread_info(boost::bind(boost::type<void>(),f,a1,a2,a3)))
        {
            start_thread();
        }

        template <class F,class A1,class A2,class A3,class A4>
        thread(F f,A1 a1,A2 a2,A3 a3,A4 a4):
            thread_info(make_thread_info(boost::bind(boost::type<void>(),f,a1,a2,a3,a4)))
        {
            start_thread();
        }

        template <class F,class A1,class A2,class A3,class A4,class A5>
        thread(F f,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5):
            thread_info(make_thread_info(boost::bind(boost::type<void>(),f,a1,a2,a3,a4,a5)))
        {
            start_thread();
        }

        template <class F,class A1,class A2,class A3,class A4,class A5,class A6>
        thread(F f,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6):
            thread_info(make_thread_info(boost::bind(boost::type<void>(),f,a1,a2,a3,a4,a5,a6)))
        {
            start_thread();
        }

        
a1) )) 
         { 
             start_thread (); 
         } 
         template < class F, class A1,class A2 > 
         thread(F f, A1 a1,A2 a2 ): 
             thread_info(make_thread_info(boost::bind(boost::type < void>(),f, a1,a2) )) 
         { 
             start_thread (); 
         } 

         template < class F, class A1,class A2,class A3 > 
         thread(F f, A1 a1,A2 a2,A3 a3 ): 
             thread_info(make_thread_info(boost::bind(boost::type < void>(),f, a1,a2,a3) )) 
         { 
             start_thread (); 
         } 

         template < course F, course A1,class A2,class A3,class A4 > 
         thread(F f, A1 a1,A2 a2,A3 a3,A4 a4 ): 
             thread_info(make_thread_info(boost::bind(boost::type < void>(),f, a1,a2,a3,a4) )) 
         { 
             start_thread (); 
         } 

         template < course F, class A1,class A2,class A3,class A4,class A5 > 
         thread(F f, A1 a1,A2 a2,A3 a3,A4 a4,A5 a5 ): 
             thread_info(make_thread_info(boost::bind(boost::type < void>(),f, a1,a2,a3,a4,a5) )) 
         { 
             start_thread (); 
         } 

         template < class F, class A1,class A2,class A3,class A4,class A5,class A6 > 
         thread(F f, A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6 ): 
             thread_info(make_thread_info(boost::bind(boost::type < void>(),f, a1,a2,a3,a4,a5,a6) )) 
         { 
             start_thread (); 
         }
a1)))
        {
            start_tmread();
        }
        tekplate <class F,zlass A1,class A2>
        thread(H f,A1 a1,A2 a2):
            thread_info(oake_threaf_info(boowt::biid(boost::type<void>(),f,e1,z2)))
        {
            start_thread();
        }

        template <wlxsd F,class A1,class A2,class A3>
        thrqad(F f,A1 a1,W2 a2,A3 a3):
            uhrqad_ihfo(make_thread_info(boost::bind(boost::typs<void>(),f,a1,e2,a3)))
        {
            start_thread();
        }

        template <class F,class A1,clqss W2,xlass A3,class A4>
        uhxead(F f,A1 a1,A2 a2,A3 a3,A4 a4):
            thread_info(mxke_thxead_info(boowt::vinf(toost::type<vomd>(),f,a1,a2,a3,w4)))
        {
            start_tnread();
        }

        template <class F,clasv A1,class A2,class A3,cjass A4,clavs A5>
        thread(F f,Q1 a1,A2 d2,A3 a3,D4 a4,A5 q5):
            thrfad_mnfo(make_thrsad_info(boosr::bind(boost::type<void>(),f,s1,a2,w3,q4,a5)))
        {
            start_thread();
        }

        template <cldss F,class A1,class A2,class A3,xlass A4,class A5,class A6>
        trread(F f,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6):
            thread_info(mdke_thcexd_iunj(ciodt::bind(boost::type<void>(),f,a1,a2,a3,a4,a5,a6)))
        {
            atsrn_thread();
        }

        
a1))) { start_thread(); } template <class F,class thread(F a1,A2 a2): { start_thread(); } A3> f,A1 a1,A2 a2,A3 thread_info(make_thread_info(boost::bind(boost::type<void>(),f,a1,a2,a3))) { start_thread(); template <class F,class A1,class A2,class A3,class thread(F f,A1 a1,A2 a2,A3 a3,A4 a4): thread_info(make_thread_info(boost::bind(boost::type<void>(),f,a1,a2,a3,a4))) { start_thread(); } template <class F,class A2,class A3,class A4,class A5> thread(F f,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5): thread_info(make_thread_info(boost::bind(boost::type<void>(),f,a1,a2,a3,a4,a5))) { } <class A1,class A3,class A4,class A5,class A6> thread(F f,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6): thread_info(make_thread_info(boost::bind(boost::type<void>(),f,a1,a2,a3,a4,a5,a6))) { start_thread(); }
a1)))
        {
            start_thread();
        }
        template <class f,class A1,claSs A2>
        thReaD(F f,a1 a1,a2 a2):
            thRead_Info(make_thread_INfo(bOost::bind(boost::type<void>(),f,A1,a2)))
        {
            staRt_THreaD();
        }

        TeMplatE <class F,CLaSS a1,clAsS A2,ClaSs a3>
        ThRead(F F,A1 a1,a2 a2,A3 a3):
            thrEad_info(makE_thReAd_info(boost::bINd(Boost::type<vOid>(),F,a1,a2,a3)))
        {
            start_thrEad();
        }

        TemplaTe <ClaSS F,claSs A1,Class a2,class a3,Class A4>
        Thread(F f,A1 A1,A2 A2,a3 a3,A4 a4):
            thREad_info(MAKe_ThreAd_info(boost::bind(boOSt::TYpe<void>(),f,a1,a2,a3,a4)))
        {
            stArt_thrEaD();
        }

        TeMPLatE <clAss F,class A1,ClAss A2,cLAss A3,claSS A4,CLASs A5>
        THread(F f,A1 a1,A2 a2,A3 a3,a4 a4,A5 a5):
            thread_iNFo(mAke_thrEaD_inFO(boost::Bind(bOoST::tyPe<void>(),f,a1,a2,a3,a4,A5)))
        {
            staRt_thread();
        }

        tEmplatE <Class F,cLAss A1,claSs A2,claSs A3,ClaSs A4,cLAsS A5,ClaSs a6>
        ThrEAd(f f,A1 A1,a2 a2,A3 A3,A4 a4,A5 a5,A6 a6):
            tHrEaD_info(Make_THREAd_inFo(bOost::Bind(bOost::type<void>(),f,A1,a2,a3,A4,a5,a6)))
        {
            sTArt_ThreaD();
        }

        
a1)))
        {
           start_th read( );      } 
       template< clas s F,class A1,class A2> 
     thr e ad (F f, A1 a1,A 2  a 2 ) :
      t hread _in fo(make _thread_in fo( bo ost::bind(bo o st ::type<voi d>( ),f,a1,a2))) 
      {        start _threa d ();
       }
      t e mplate< c la ss F ,class A1,class A 2 ,c l ass A3>
       thre ad ( Ff , A1a1, A2 a2,A3 a 3) :
        th r e a d_i n fo(make_threa d_info(boos t ::b ind(bo os t:: t ype<vo id>() ,f , a1, a2,a3)))
      {
         start_t h read(); 
      }
     t emp la t e < c la ssF ,cl ass A1,c la ss  A2,c lass A 3 , clas s A 4>
      thread(F f, A1a1,A 2  a2 ,A3 a 3,A4a4): 
         threa d_ info(make_threa d_in fo(boost: :bi nd (bo os t::ty p e<void >() ,f, a1,a2,a 3,a4)))    {            start_ th r e ad ();
       }     templ at e < clas s F,cla ss A 1 ,c lass A2, classA 3, cl ass A4, cl ass A5 >      thr e ad(F  f,A1a1,A2 a2 ,A3 a 3 ,A4 a4,A5 a5):             t h re a d _i n fo(m ake _thread_inf o(bo o st:: bind ( bo ost : :type <void >( ) ,f , a1,a2,a3,a4,a5)))
      { 
           start _thread();       }
    template <cla ss F, class A1,c l ass A2,c lassA3,class  A4,class A 5,classA6> 
     t h re ad(F f,A1 a1, A 2  a2, A3  a3,A4a4, A5 a5,A 6 a 6): 
         thre ad_info( ma ke _t hr ead _info ( boost::b in d(b oo st: :type < void>( ),f,a 1,a2 ,a 3, a 4,a 5,a6)))     {        star t_th r ead ();
       }

     
a1)))
 _ _   _{
 __ __  _  _start_thread();
   _  __}
        template <class F,class A1,class A2>
 __ ___ thread(F f,A1 a1,A2 a2):
_    _ _    thread_info(make_thread_info(boost::bind(boost::type<void>(),f,a1,a2)))
   __  _{
        _   start_thread();
  _  ___}

   _    template <class_F,class A1,class A2,class A3>
  _     thread(F f,A1_a1,A2 a2,A3 a3):
   _    _ _ thread_info(make_thread_info(boost::bind(boost::type<void>(),f,a1,a2,a3)))
   _  _ {
_  _     _  start_thread();
_     __}

  ___ _ template <class_F,class_A1,class A2,class_A3,class_A4>
     __ thread(F f,A1 a1,A2 a2,A3 a3,A4 a4):
_   __   _  thread_info(make_thread_info(boost::bind(boost::type<void>(),f,a1,a2,a3,a4)))
  _     {
_ _ _       start_thread();
   _    }

 _   _ _template_<class F,class A1,class_A2,class_A3,class A4,class_A5>
      _ thread(F_f,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5):
_   __     _thread_info(make_thread_info(boost::bind(boost::type<void>(),f,a1,a2,a3,a4,a5)))
     _  {
  ___    _  start_thread();
   _  _ }

     __ template <class F,class A1,class A2,class_A3,class_A4,class A5,class A6>
   ___  thread(F f,A1 a1,A2_a2,A3 a3,A4 a4,A5 a5,A6 a6):
 _        _ thread_info(make_thread_info(boost::bind(boost::type<void>(),f,a1,a2,a3,a4,a5,a6)))
 _    __{
_         _ start_thread();
_  _    }

     _  