Skip to content

Commit 1996194

Browse files
committed
fixup! use the common compressed_pair implementation for string simulator
1 parent 69c2a7c commit 1996194

File tree

1 file changed

+3
-32
lines changed
  • lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/simulator

1 file changed

+3
-32
lines changed

lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/simulator/main.cpp

Lines changed: 3 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#include <libcxx-simulators-common/compressed_pair.h>
2+
13
#include <climits>
24
#include <memory>
35
#include <type_traits>
@@ -32,37 +34,6 @@
3234
namespace std {
3335
namespace __lldb {
3436

35-
template <class _Tp, int _Idx,
36-
bool _CanBeEmptyBase =
37-
std::is_empty<_Tp>::value && !std::is_final<_Tp>::value>
38-
struct __compressed_pair_elem {
39-
explicit __compressed_pair_elem(_Tp __t) : __value_(__t) {}
40-
41-
_Tp &__get() { return __value_; }
42-
43-
private:
44-
_Tp __value_;
45-
};
46-
47-
template <class _Tp, int _Idx>
48-
struct __compressed_pair_elem<_Tp, _Idx, true> : private _Tp {
49-
explicit __compressed_pair_elem(_Tp __t) : _Tp(__t) {}
50-
51-
_Tp &__get() { return *this; }
52-
};
53-
54-
template <class _T1, class _T2>
55-
class __compressed_pair : private __compressed_pair_elem<_T1, 0>,
56-
private __compressed_pair_elem<_T2, 1> {
57-
public:
58-
using _Base1 = __compressed_pair_elem<_T1, 0>;
59-
using _Base2 = __compressed_pair_elem<_T2, 1>;
60-
61-
explicit __compressed_pair(_T1 __t1, _T2 __t2) : _Base1(__t1), _Base2(__t2) {}
62-
63-
_T1 &first() { return static_cast<_Base1 &>(*this).__get(); }
64-
};
65-
6637
#if defined(ALTERNATE_LAYOUT) && defined(SUBCLASS_PADDING)
6738
template <class _CharT, size_t = sizeof(_CharT)> struct __padding {
6839
unsigned char __xx[sizeof(_CharT) - 1];
@@ -212,7 +183,7 @@ template <class _CharT, class _Traits, class _Allocator> class basic_string {
212183
};
213184
};
214185

215-
__compressed_pair<__rep, allocator_type> __r_;
186+
std::__lldb::__compressed_pair<__rep, allocator_type> __r_;
216187

217188
public:
218189
template <size_t __N>

0 commit comments

Comments
 (0)