fork download
  1. #include <type_traits>
  2.  
  3. struct List {};
  4. struct Tree {};
  5.  
  6. template<typename Appl, typename StoredData>
  7. class Box {
  8. static_assert(
  9. std::is_same<Appl, List>::value && std::is_same<StoredData, double>::value ||
  10. std::is_same<Appl, Tree>::value && std::is_same<StoredData, int>::value,
  11. "Bad parameters"
  12. );
  13. };
  14.  
  15. int main() {
  16. Box<List, double> b1;
  17. Box<Tree, int> b2;
  18. }
Success #stdin #stdout 0s 2924KB
stdin
Standard input is empty
stdout
Standard output is empty