YugabyteDB (2.13.0.0-b42, bfc6a6643e7399ac8a0e81d06a3ee6d6571b33ab)

Coverage Report

Created: 2022-03-09 17:30

/Users/deen/code/yugabyte-db/src/yb/util/cast.h
Line
Count
Source
1
// Copyright (c) YugaByte, Inc.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
4
// in compliance with the License.  You may obtain a copy of the License at
5
//
6
// http://www.apache.org/licenses/LICENSE-2.0
7
//
8
// Unless required by applicable law or agreed to in writing, software distributed under the License
9
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
10
// or implied.  See the License for the specific language governing permissions and limitations
11
// under the License.
12
//
13
14
#ifndef YB_UTIL_CAST_H_
15
#define YB_UTIL_CAST_H_
16
17
#include <memory>
18
19
namespace yb {
20
21
3.60M
inline char* to_char_ptr(uint8_t* uptr) {
22
3.60M
  return reinterpret_cast<char *>(uptr);
23
3.60M
}
24
25
5.70G
inline const char* to_char_ptr(const uint8_t* uptr) {
26
5.70G
  return reinterpret_cast<const char *>(uptr);
27
5.70G
}
28
29
889M
inline uint8_t* to_uchar_ptr(char *ptr) {
30
889M
  return reinterpret_cast<uint8_t *>(ptr);
31
889M
}
32
33
41.6G
inline const uint8_t* to_uchar_ptr(const char *ptr) {
34
41.6G
  return reinterpret_cast<const uint8_t *>(ptr);
35
41.6G
}
36
37
template<class Out, class In>
38
2.03G
Out pointer_cast(In* in) {
39
2.03G
  void* temp = in;
40
2.03G
  return static_cast<Out>(temp);
41
2.03G
}
_ZN2yb12pointer_castIPNSt3__16atomicIyEEyEET_PT0_
Line
Count
Source
38
203M
Out pointer_cast(In* in) {
39
203M
  void* temp = in;
40
203M
  return static_cast<Out>(temp);
41
203M
}
_ZN2yb12pointer_castIPNSt3__16atomicIdEEdEET_PT0_
Line
Count
Source
38
2.05M
Out pointer_cast(In* in) {
39
2.05M
  void* temp = in;
40
2.05M
  return static_cast<Out>(temp);
41
2.05M
}
_ZN2yb12pointer_castIPNSt3__16atomicIbEEbEET_PT0_
Line
Count
Source
38
1.35G
Out pointer_cast(In* in) {
39
1.35G
  void* temp = in;
40
1.35G
  return static_cast<Out>(temp);
41
1.35G
}
_ZN2yb12pointer_castIPNSt3__16atomicIiEEiEET_PT0_
Line
Count
Source
38
129M
Out pointer_cast(In* in) {
39
129M
  void* temp = in;
40
129M
  return static_cast<Out>(temp);
41
129M
}
_ZN2yb12pointer_castIPKchEET_PT0_
Line
Count
Source
38
3.24M
Out pointer_cast(In* in) {
39
3.24M
  void* temp = in;
40
3.24M
  return static_cast<Out>(temp);
41
3.24M
}
Unexecuted instantiation: _ZN2yb12pointer_castIPN7rocksdb6DBImplENS1_2DBEEET_PT0_
Unexecuted instantiation: _ZN2yb12pointer_castIPN7rocksdb22ColumnFamilyHandleImplENS1_18ColumnFamilyHandleEEET_PT0_
_ZN2yb12pointer_castIPhcEET_PT0_
Line
Count
Source
38
43.3M
Out pointer_cast(In* in) {
39
43.3M
  void* temp = in;
40
43.3M
  return static_cast<Out>(temp);
41
43.3M
}
_ZN2yb12pointer_castIPKcjEET_PT0_
Line
Count
Source
38
6.04M
Out pointer_cast(In* in) {
39
6.04M
  void* temp = in;
40
6.04M
  return static_cast<Out>(temp);
41
6.04M
}
_ZN2yb12pointer_castIPNSt3__16atomicIxEExEET_PT0_
Line
Count
Source
38
102M
Out pointer_cast(In* in) {
39
102M
  void* temp = in;
40
102M
  return static_cast<Out>(temp);
41
102M
}
Unexecuted instantiation: _ZN2yb12pointer_castIPcNS_7tserver17TServerSharedDataEEET_PT0_
Unexecuted instantiation: _ZN2yb12pointer_castIPKcmEET_PT0_
Unexecuted instantiation: _ZN2yb12pointer_castIPKcNS_5docdb17TransactionDumpOpEEET_PT0_
Unexecuted instantiation: _ZN2yb12pointer_castIPKcNS_7tserver17TServerSharedDataEEET_PT0_
_ZN2yb12pointer_castIPchEET_PT0_
Line
Count
Source
38
2.61M
Out pointer_cast(In* in) {
39
2.61M
  void* temp = in;
40
2.61M
  return static_cast<Out>(temp);
41
2.61M
}
Unexecuted instantiation: _ZN2yb12pointer_castIPPvP10redisReplyEET_PT0_
Unexecuted instantiation: conflict_resolution.cc:_ZN2yb12pointer_castIPKhNS_5docdb12_GLOBAL__N_115TransactionDataEEET_PT0_
_ZN2yb12pointer_castIPcmEET_PT0_
Line
Count
Source
38
27.9M
Out pointer_cast(In* in) {
39
27.9M
  void* temp = in;
40
27.9M
  return static_cast<Out>(temp);
41
27.9M
}
_ZN2yb12pointer_castIPhNS_8internal14ArenaComponentINS2_21ThreadSafeArenaTraitsEEEEET_PT0_
Line
Count
Source
38
83.4M
Out pointer_cast(In* in) {
39
83.4M
  void* temp = in;
40
83.4M
  return static_cast<Out>(temp);
41
83.4M
}
_ZN2yb12pointer_castIPhNS_8internal14ArenaComponentINS2_11ArenaTraitsEEEEET_PT0_
Line
Count
Source
38
6.41M
Out pointer_cast(In* in) {
39
6.41M
  void* temp = in;
40
6.41M
  return static_cast<Out>(temp);
41
6.41M
}
_ZN2yb12pointer_castIPNS_6Status5StateE15YBCStatusStructEET_PT0_
Line
Count
Source
38
322k
Out pointer_cast(In* in) {
39
322k
  void* temp = in;
40
322k
  return static_cast<Out>(temp);
41
322k
}
_ZN2yb12pointer_castIP15YBCStatusStructNS_6Status5StateEEET_PT0_
Line
Count
Source
38
77.2M
Out pointer_cast(In* in) {
39
77.2M
  void* temp = in;
40
77.2M
  return static_cast<Out>(temp);
41
77.2M
}
42
43
template<class Out, class In>
44
57.4M
Out pointer_cast(const In* in) {
45
57.4M
  const void* temp = in;
46
57.4M
  return static_cast<Out>(temp);
47
57.4M
}
_ZN2yb12pointer_castIPKhcEET_PKT0_
Line
Count
Source
44
36.9M
Out pointer_cast(const In* in) {
45
36.9M
  const void* temp = in;
46
36.9M
  return static_cast<Out>(temp);
47
36.9M
}
_ZN2yb12pointer_castIPKcPvEET_PKT0_
Line
Count
Source
44
48
Out pointer_cast(const In* in) {
45
48
  const void* temp = in;
46
48
  return static_cast<Out>(temp);
47
48
}
_ZN2yb12pointer_castIPKchEET_PKT0_
Line
Count
Source
44
6.07k
Out pointer_cast(const In* in) {
45
6.07k
  const void* temp = in;
46
6.07k
  return static_cast<Out>(temp);
47
6.07k
}
Unexecuted instantiation: _ZN2yb12pointer_castIPKcNS_10HybridTimeEEET_PKT0_
Unexecuted instantiation: _ZN2yb12pointer_castIPKciEET_PKT0_
Unexecuted instantiation: _ZN2yb12pointer_castIPKcNS_14ReadHybridTimeEEET_PKT0_
Unexecuted instantiation: _ZN2yb12pointer_castIPKcNS_13DocHybridTimeEEET_PKT0_
Unexecuted instantiation: _ZN2yb12pointer_castIPKcbEET_PKT0_
Unexecuted instantiation: _ZN2yb12pointer_castIPKcmEET_PKT0_
_ZN2yb12pointer_castIPKcjEET_PKT0_
Line
Count
Source
44
20.4M
Out pointer_cast(const In* in) {
45
20.4M
  const void* temp = in;
46
20.4M
  return static_cast<Out>(temp);
47
20.4M
}
_ZN2yb12pointer_castIPKhhEET_PKT0_
Line
Count
Source
44
10.1k
Out pointer_cast(const In* in) {
45
10.1k
  const void* temp = in;
46
10.1k
  return static_cast<Out>(temp);
47
10.1k
}
_ZN2yb12pointer_castIPKccEET_PKT0_
Line
Count
Source
44
75
Out pointer_cast(const In* in) {
45
75
  const void* temp = in;
46
75
  return static_cast<Out>(temp);
47
75
}
48
49
template<class D, class S>
50
std::unique_ptr<D> down_pointer_cast(std::unique_ptr<S> s) {
51
  auto* f = s.release();
52
  assert(f == nullptr || dynamic_cast<D*>(f) != nullptr);
53
  return std::unique_ptr<D>(static_cast<D*>(f));
54
}
55
56
}  // namespace yb
57
58
using yb::pointer_cast;
59
60
#endif  // YB_UTIL_CAST_H_