4#if defined (STLPORT) && !defined (_STLP_NO_EXTENSIONS)
7#if defined (STLPORT) && !defined (_STLP_NO_EXTENSIONS)
15# include <unordered_set>
16# include <unordered_map>
18#if defined (STLPORT) && !defined (_STLP_NO_EXTENSIONS)
27#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES)
30using namespace std::tr1;
34#if defined (STLPORT) && !defined (_STLP_NO_MOVE_SEMANTIC)
36# if defined (__GNUC__) && defined (_STLP_USE_NAMESPACES)
39# define __true_type std::__true_type
40# define __false_type std::__false_type
49static bool is_movable(
const _Tp&) {
51 return type_to_bool(_MovableTp());
55static bool is_move_complete(
const _Tp&) {
57 typedef typename _TpMoveTraits::complete _TpMoveComplete;
58 return type_to_bool(_TpMoveComplete());
61struct specially_allocated_struct {
62 bool operator < (
const specially_allocated_struct&)
const;
64 bool operator==(
const specially_allocated_struct&)
const;
69bool specially_allocated_struct::operator < (
const specially_allocated_struct&)
const
73struct struct_with_specialized_less {};
75# if defined (_STLP_USE_NAMESPACES)
79 class allocator<specially_allocated_struct> {
85 typedef specially_allocated_struct value_type;
87 typedef const value_type* const_pointer;
89 typedef const value_type& const_reference;
90 typedef size_t size_type;
92# if defined (_STLP_MEMBER_TEMPLATE_CLASSES)
93 template <
class _Tp1>
struct rebind {
98# if defined (_STLP_MEMBER_TEMPLATES)
104 const_pointer
address(const_reference __x)
const {
return &__x; }
105 pointer allocate(size_type,
const void* = 0) {
return 0; }
106 void deallocate(
pointer, size_type) {}
113 struct less<struct_with_specialized_less> {
114 bool operator() (struct_with_specialized_less
const&,
115 struct_with_specialized_less
const&)
const;
118# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
119# if !defined (_STLP_NO_MOVE_SEMANTIC)
120# if defined (__BORLANDC__) && (__BORLANDC__ >= 0x564)
160# if defined (_STLP_USE_NAMESPACES)
167#if defined (STLPORT) && !defined (_STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS) && \
168 !defined (_STLP_NO_MOVE_SEMANTIC)
174# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
179# if defined (_STLP_HAS_WCHAR_T)
181# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
189# if defined (STLPORT) && !defined (_STLP_NO_EXTENSIONS)
193# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
198# if defined (_STLP_HAS_WCHAR_T)
200# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
212 CPPUNIT_ASSERT( is_movable(vector<specially_allocated_struct>()) );
213# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
215 CPPUNIT_ASSERT( !is_move_complete(vector<specially_allocated_struct>()) );
225# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
237# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
239 CPPUNIT_ASSERT( !is_move_complete(list<specially_allocated_struct>()) );
245# if defined (STLPORT) && !defined (_STLP_NO_EXTENSIONS)
250# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
263# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
275# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
288#if defined (STLPORT) && !defined (_STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS) && \
289 !defined (_STLP_NO_MOVE_SEMANTIC)
295# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
303# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
313# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
322 CPPUNIT_ASSERT( is_movable(map<specially_allocated_struct, char>()) );
323# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
328 CPPUNIT_ASSERT( is_move_complete(map<specially_allocated_struct, char>()) );
336# if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
349#if defined (STLPORT) && !defined (_STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS) && \
350 !defined (_STLP_NO_MOVE_SEMANTIC)
360# if defined (STLPORT) && !defined (_STLP_NO_EXTENSIONS)
void destroy(_Tp *__pointer)
void construct(_T1 *__p, const _T2 &__val)
rope< char, allocator< char > > crope
void movable_declaration()
void movable_declaration_assoc()
void movable_declaration_hash()
#define CPPUNIT_ASSERT(X)
__kernel_ptrdiff_t ptrdiff_t
#define _STLP_TEMPLATE_NULL
GLsizei const GLvoid * pointer
bool operator<(const TKeyDef &t1, const TKeyDef &t2)
bool operator==(const TKeyDef &t1, const TKeyDef &t2)