-
Notifications
You must be signed in to change notification settings - Fork 76
Expand file tree
/
Copy pathtemplate.h
More file actions
30 lines (23 loc) · 961 Bytes
/
template.h
File metadata and controls
30 lines (23 loc) · 961 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef TEMPLATE_H
#define TEMPLATE_H
#include "class.h"
namespace template_h {
class C1 {};
class C2 {};
} // namespace template_h
template <typename T> class Tpl1 {};
template <typename A, typename B> class Tpl2 {};
template <int> class Tpl3 {};
template <typename T, int> class Tpl4 {};
template <> class Tpl1<int> {}; // COMPLIANT
template <> class Tpl1<template_h::C1> {}; // COMPLIANT
template <> class Tpl1<class_h::C1> {}; // COMPLIANT
template <> class Tpl2<int, int> {}; // COMPLIANT
template <> class Tpl2<template_h::C1, template_h::C1> {}; // COMPLIANT
template <> class Tpl2<class_h::C1, class_h::C1> {}; // COMPLIANT
template <typename T> class Tpl2<int, T> {}; // COMPLIANT
template<> class Tpl3<0> {}; // COMPLIANT
template<> class Tpl4<int, 0> {}; // COMPLIANT
template<> class Tpl4<template_h::C1, 0> {}; // COMPLIANT
template<> class Tpl4<class_h::C1, 0> {}; // COMPLIANT
#endif // TEMPLATE_H