2013-03-04 67 views
0

我想寫一個模塊來包裝一個通用的計時器,但我想使用此模塊能夠以任意精度包裝計時器,而無需編寫重複的代碼。模塊來包裝泛型定時器

我寫了這樣的模塊,但它抱怨說,precision_tag缺少一個類型,但也給它一個類型,它不會編譯。

generic module TimerLoggerP(precision_tag) { 
    provides { 
     interface Timer<precision_tag> as Timer; 
     interface LoggerComponent; 
    } 

    uses { 
     interface Timer<precision_tag> as RTimer; 
    } 
} 

有誰知道如何使它以我想要實現的通用方式工作?

回答

1

只需要特殊的typedef類型。

generic module TimerLoggerP(typedef precision_tag) { 
    provides { 
     interface Timer<precision_tag> as Timer; 
     interface LoggerComponent; 
    } 

    uses { 
     interface Timer<precision_tag> as RTimer; 
    } 
}