forked from OSchip/llvm-project
52 lines
860 B
Plaintext
52 lines
860 B
Plaintext
namespace std
|
|
{
|
|
template<typename _Tp, typename _Alloc = int>
|
|
class vector
|
|
{
|
|
public:
|
|
int* _M_start;
|
|
int* _M_end_of_storage;
|
|
|
|
~vector()
|
|
{ this->_M_end_of_storage - this->_M_start; }
|
|
};
|
|
|
|
struct _Bit_iterator {};
|
|
|
|
inline int* operator-(const _Bit_iterator& __x, const _Bit_iterator& __y)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
struct _Bvector_base
|
|
{
|
|
struct _Bvector_impl
|
|
{
|
|
_Bit_iterator _M_start;
|
|
|
|
_Bvector_impl() { }
|
|
};
|
|
|
|
public:
|
|
~_Bvector_base()
|
|
{ this->_M_deallocate(); }
|
|
|
|
protected:
|
|
_Bvector_impl _M_impl;
|
|
|
|
void _M_deallocate() {}
|
|
};
|
|
|
|
template<typename _Alloc>
|
|
class vector<bool, _Alloc> : protected _Bvector_base
|
|
{
|
|
typedef _Bvector_base _Base;
|
|
public:
|
|
typedef _Bit_iterator iterator;
|
|
|
|
vector()
|
|
: _Base() { }
|
|
};
|
|
|
|
} // namespace std
|