Another installment on debug mode. This addresses list. However this should be considered a temporary state. The API of the debug database and how vector and list use it, is unsatisfactory at the moment. It is both inefficient and overly verbose. I wanted to get this functionality checked in though. In the next day or so I'll refactor what is there in an attempt to streamline things.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@140660 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Howard Hinnant
2011-09-27 23:55:03 +00:00
parent 6cd05eeb35
commit 1c3ec6d480
4 changed files with 672 additions and 62 deletions

View File

@@ -60,7 +60,7 @@ struct _LIBCPP_VISIBLE __c_node
virtual bool __addable(const void*, ptrdiff_t) const = 0;
virtual bool __subscriptable(const void*, ptrdiff_t) const = 0;
_LIBCPP_HIDDEN void __add(__i_node* __i);
void __add(__i_node* __i);
_LIBCPP_HIDDEN void __remove(__i_node* __i);
};
@@ -159,6 +159,7 @@ public:
void* __find_c_from_i(void* __i) const;
void __invalidate_all(void* __c);
__c_node* __find_c_and_lock(void* __c) const;
__c_node* __find_c(void* __c) const;
void unlock() const;
void swap(void* __c1, void* __c2);