libzypp
11.13.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ProvideNumericId.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
12
#ifndef ZYPP_BASE_PROVIDENUMERICID_H
13
#define ZYPP_BASE_PROVIDENUMERICID_H
14
16
namespace
zypp
17
{
18
19
namespace
base
20
{
21
23
//
24
// CLASS NAME : ProvideNumericId
25
//
44
template
<
class
_Derived,
class
_NumericIdType>
45
struct
ProvideNumericId
46
{
47
public
:
49
_NumericIdType
numericId
()
const
50
{
return
_numericId
; }
51
52
protected
:
54
ProvideNumericId
()
55
:
_numericId
(
nextId
() )
56
{}
58
ProvideNumericId
(
const
ProvideNumericId
&
/*rhs*/
)
59
:
_numericId
(
nextId
() )
60
{}
62
ProvideNumericId
&
operator=
(
const
ProvideNumericId
&
/*rhs*/
)
63
{
return
*
this
; }
65
~ProvideNumericId
()
66
{}
67
protected
:
71
ProvideNumericId
(
const
void
*
const
)
72
:
_numericId
( 0 )
73
{}
74
private
:
76
static
_NumericIdType
nextId
()
77
{
78
static
_NumericIdType _staticCounter = 0;
79
// Assert not returning 0
80
return
++_staticCounter;
81
}
83
const
_NumericIdType
_numericId
;
84
};
86
88
}
// namespace base
91
}
// namespace zypp
93
#endif // ZYPP_BASE_PROVIDENUMERICID_H
zypp
base
ProvideNumericId.h
Generated by
1.8.1