Skip to content

Commit 8082a54

Browse files
committed
[NFC][libc++][TZDB] Improves some internals.
Removes some unneeded overloads in the pimpl class; they implementation could be in the caller. The pimpl member functions are __uglified.
1 parent cf6e62d commit 8082a54

File tree

3 files changed

+31
-26
lines changed

3 files changed

+31
-26
lines changed

libcxx/include/__chrono/tzdb_list.h

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,19 +52,29 @@ class _LIBCPP_AVAILABILITY_TZDB tzdb_list {
5252

5353
using const_iterator = forward_list<tzdb>::const_iterator;
5454

55-
_LIBCPP_NODISCARD_EXT _LIBCPP_EXPORTED_FROM_ABI const tzdb& front() const noexcept;
55+
_LIBCPP_NODISCARD_EXT _LIBCPP_HIDE_FROM_ABI const tzdb& front() const noexcept { return __front(); }
5656

57-
_LIBCPP_EXPORTED_FROM_ABI const_iterator erase_after(const_iterator __p);
57+
_LIBCPP_HIDE_FROM_ABI const_iterator erase_after(const_iterator __p) { return __erase_after(__p); }
5858

59-
_LIBCPP_NODISCARD_EXT _LIBCPP_EXPORTED_FROM_ABI const_iterator begin() const noexcept;
60-
_LIBCPP_NODISCARD_EXT _LIBCPP_EXPORTED_FROM_ABI const_iterator end() const noexcept;
59+
_LIBCPP_NODISCARD_EXT _LIBCPP_HIDE_FROM_ABI const_iterator begin() const noexcept { return __begin(); }
60+
_LIBCPP_NODISCARD_EXT _LIBCPP_HIDE_FROM_ABI const_iterator end() const noexcept { return __end(); }
6161

62-
_LIBCPP_NODISCARD_EXT _LIBCPP_EXPORTED_FROM_ABI const_iterator cbegin() const noexcept;
63-
_LIBCPP_NODISCARD_EXT _LIBCPP_EXPORTED_FROM_ABI const_iterator cend() const noexcept;
62+
_LIBCPP_NODISCARD_EXT _LIBCPP_HIDE_FROM_ABI const_iterator cbegin() const noexcept { return __cbegin(); }
63+
_LIBCPP_NODISCARD_EXT _LIBCPP_HIDE_FROM_ABI const_iterator cend() const noexcept { return __cend(); }
6464

6565
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI __impl& __implementation() { return *__impl_; }
6666

6767
private:
68+
[[nodiscard]] _LIBCPP_EXPORTED_FROM_ABI const tzdb& __front() const noexcept;
69+
70+
_LIBCPP_EXPORTED_FROM_ABI const_iterator __erase_after(const_iterator __p);
71+
72+
[[nodiscard]] _LIBCPP_EXPORTED_FROM_ABI const_iterator __begin() const noexcept;
73+
[[nodiscard]] _LIBCPP_EXPORTED_FROM_ABI const_iterator __end() const noexcept;
74+
75+
[[nodiscard]] _LIBCPP_EXPORTED_FROM_ABI const_iterator __cbegin() const noexcept;
76+
[[nodiscard]] _LIBCPP_EXPORTED_FROM_ABI const_iterator __cend() const noexcept;
77+
6878
__impl* __impl_;
6979
};
7080

libcxx/src/include/tzdb/tzdb_list_private.h

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,14 @@ class tzdb_list::__impl {
5454

5555
using const_iterator = tzdb_list::const_iterator;
5656

57-
const tzdb& front() const noexcept {
57+
const tzdb& __front() const noexcept {
5858
#ifndef _LIBCPP_HAS_NO_THREADS
5959
shared_lock __lock{__mutex_};
6060
#endif
6161
return __tzdb_.front();
6262
}
6363

64-
const_iterator erase_after(const_iterator __p) {
64+
const_iterator __erase_after(const_iterator __p) {
6565
#ifndef _LIBCPP_HAS_NO_THREADS
6666
unique_lock __lock{__mutex_};
6767
#endif
@@ -70,20 +70,17 @@ class tzdb_list::__impl {
7070
return __tzdb_.erase_after(__p);
7171
}
7272

73-
const_iterator begin() const noexcept {
73+
const_iterator __begin() const noexcept {
7474
#ifndef _LIBCPP_HAS_NO_THREADS
7575
shared_lock __lock{__mutex_};
7676
#endif
7777
return __tzdb_.begin();
7878
}
79-
const_iterator end() const noexcept {
79+
const_iterator __end() const noexcept {
8080
// forward_list<T>::end does not access the list, so no need to take a lock.
8181
return __tzdb_.end();
8282
}
8383

84-
const_iterator cbegin() const noexcept { return begin(); }
85-
const_iterator cend() const noexcept { return end(); }
86-
8784
private:
8885
// Loads the tzdbs
8986
// pre: The caller ensures the locking, if needed, is done.

libcxx/src/tzdb_list.cpp

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,26 +18,24 @@ namespace chrono {
1818

1919
_LIBCPP_EXPORTED_FROM_ABI tzdb_list::~tzdb_list() { delete __impl_; }
2020

21-
_LIBCPP_NODISCARD_EXT _LIBCPP_EXPORTED_FROM_ABI const tzdb& tzdb_list::front() const noexcept {
22-
return __impl_->front();
23-
}
21+
[[nodiscard]] _LIBCPP_EXPORTED_FROM_ABI const tzdb& tzdb_list::__front() const noexcept { return __impl_->__front(); }
2422

25-
_LIBCPP_EXPORTED_FROM_ABI tzdb_list::const_iterator tzdb_list::erase_after(const_iterator __p) {
26-
return __impl_->erase_after(__p);
23+
_LIBCPP_EXPORTED_FROM_ABI tzdb_list::const_iterator tzdb_list::__erase_after(const_iterator __p) {
24+
return __impl_->__erase_after(__p);
2725
}
2826

29-
_LIBCPP_NODISCARD_EXT _LIBCPP_EXPORTED_FROM_ABI tzdb_list::const_iterator tzdb_list::begin() const noexcept {
30-
return __impl_->begin();
27+
[[nodiscard]] _LIBCPP_EXPORTED_FROM_ABI tzdb_list::const_iterator tzdb_list::__begin() const noexcept {
28+
return __impl_->__begin();
3129
}
32-
_LIBCPP_NODISCARD_EXT _LIBCPP_EXPORTED_FROM_ABI tzdb_list::const_iterator tzdb_list::end() const noexcept {
33-
return __impl_->end();
30+
[[nodiscard]] _LIBCPP_EXPORTED_FROM_ABI tzdb_list::const_iterator tzdb_list::__end() const noexcept {
31+
return __impl_->__end();
3432
}
3533

36-
_LIBCPP_NODISCARD_EXT _LIBCPP_EXPORTED_FROM_ABI tzdb_list::const_iterator tzdb_list::cbegin() const noexcept {
37-
return __impl_->cbegin();
34+
[[nodiscard]] _LIBCPP_EXPORTED_FROM_ABI tzdb_list::const_iterator tzdb_list::__cbegin() const noexcept {
35+
return __impl_->__begin();
3836
}
39-
_LIBCPP_NODISCARD_EXT _LIBCPP_EXPORTED_FROM_ABI tzdb_list::const_iterator tzdb_list::cend() const noexcept {
40-
return __impl_->cend();
37+
[[nodiscard]] _LIBCPP_EXPORTED_FROM_ABI tzdb_list::const_iterator tzdb_list::__cend() const noexcept {
38+
return __impl_->__end();
4139
}
4240

4341
} // namespace chrono

0 commit comments

Comments
 (0)