CUBRID Engine
latest
Main Page
Namespaces
Classes
Files
File List
File Members
pinning.cpp
Go to the documentation of this file.
1
/*
2
* Copyright 2008 Search Solution Corporation
3
* Copyright 2016 CUBRID Corporation
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
*/
18
19
/*
20
* pinning.cpp
21
*/
22
23
#ident "$Id$"
24
25
#include "
pinning.hpp
"
26
27
namespace
cubbase
28
{
29
int
pinner::pin
(
pinnable
*reference)
30
{
31
if
(reference !=
NULL
32
&& reference->
add_pinner
(
this
) ==
NO_ERROR
)
33
{
34
references
.insert (reference);
35
return
NO_ERROR
;
36
}
37
38
return
NO_ERROR
;
39
}
40
41
int
pinner::unpin
(
pinnable
*reference)
42
{
43
if
(reference->
remove_pinner
(
this
) ==
NO_ERROR
)
44
{
45
references
.erase (reference);
46
return
NO_ERROR
;
47
}
48
49
return
NO_ERROR
;
50
}
51
52
int
pinner::unpin_all
(
void
)
53
{
54
for
(
auto
it =
references
.begin (); it !=
references
.end ();)
55
{
56
unpin
(*it++);
57
}
58
59
return
NO_ERROR
;
60
}
61
62
}
/* namespace pinning */
NO_ERROR
#define NO_ERROR
Definition:
error_code.h:46
cubbase::pinner::pin
int pin(pinnable *reference)
Definition:
pinning.cpp:29
cubbase::pinnable::add_pinner
int add_pinner(pinner *referencer)
Definition:
pinning.hpp:62
cubbase::pinnable
Definition:
pinning.hpp:59
cubbase::pinner::references
std::set< pinnable * > references
Definition:
pinning.hpp:53
cubbase
Definition:
fileline_location.cpp:29
NULL
#define NULL
Definition:
freelistheap.h:34
cubbase::pinnable::remove_pinner
int remove_pinner(pinner *referencer)
Definition:
pinning.hpp:68
pinning.hpp
cubbase::pinner::unpin
int unpin(pinnable *reference)
Definition:
pinning.cpp:41
cubbase::pinner::unpin_all
int unpin_all(void)
Definition:
pinning.cpp:52
src
base
pinning.cpp
Generated by
1.8.11