aboutsummaryrefslogblamecommitdiff
path: root/lib/matcha.h
blob: 150608150103e80ea3271440f17ec509fd7c3582 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13


                                              
             
 







                                
 

                                 
                    
  
struct Thread {
    Thread(const Thread&) = delete;
    Thread& operator=(const Thread&) = delete;
    Thread();

    virtual void threadFn() = 0;

    // use from executor
    void yield_to() const;

  protected:
    // use in thread
    void yield();

  private:
    static void entry(void* obj);
    void* mStackPtr;
};