1 /* 2 * Copyright 2012 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef SkRunnable_DEFINED 9 #define SkRunnable_DEFINED 10 11 template <typename T> 12 struct SkTRunnable { 13 virtual ~SkTRunnable() {}; 14 virtual void run(T&) = 0; 15 }; 16 17 template <> 18 struct SkTRunnable<void> { 19 virtual ~SkTRunnable() {}; 20 virtual void run() = 0; 21 }; 22 23 typedef SkTRunnable<void> SkRunnable; 24 25 #endif 26