PolyBoRi
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
libpolybori
include
polybori
common
tags.h
Go to the documentation of this file.
1
// -*- c++ -*-
2
//*****************************************************************************
13
//*****************************************************************************
14
15
#ifndef polybori_common_common_tags_h_
16
#define polybori_common_common_tags_h_
17
18
// include basic definitions
19
#include <
polybori/pbori_defs.h
>
20
#include <
polybori/orderings/order_tags.h
>
21
22
BEGIN_NAMESPACE_PBORI
23
27
struct
invalid_tag
{ };
28
32
struct
valid_tag
{ };
33
34
38
template
<
class
Tag>
39
struct
invert_tag
;
40
41
template
<>
42
struct
invert_tag
<
valid_tag
> {
typedef
invalid_tag
type
; };
43
44
template
<>
45
struct
invert_tag
<
invalid_tag
> {
typedef
valid_tag
type
; };
46
50
template
<
class
Tag1,
class
Tag2>
51
struct
and_tag
{
typedef
invalid_tag
type
; };
52
53
template
<>
54
struct
and_tag
<
valid_tag
,
valid_tag
> {
typedef
valid_tag
type
; };
55
56
60
struct
navigator_tag
{};
61
65
template
<
class
Val
id
ityTag>
66
class
equality_property
{
67
public
:
68
70
typedef
ValidityTag
easy_equality_property
;
71
};
72
73
74
END_NAMESPACE_PBORI
75
76
#endif // order_tags_h_
Generated by
1.8.3.1