Author: faridz
Date: Thu Sep 28 08:49:51 2006
New Revision: 450906
URL: http://svn.apache.org/viewvc?view=rev&rev=450906
Log:
2006-09-28 Farid Zaripov <[EMAIL PROTECTED]>
* deque: Added #ifndef _RWSTD_NO_PART_SPEC_OVERLOAD/#endif around the
function std::swap<T, A> (std::deque<T, A>&, std::deque<T, A>&);
[_RWSTD_NO_PART_SPEC_OVERLOAD]: Added function std::swap
(std::deque&, std::deque&)
* list [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added function
std::swap (std::list&, std::list&)
* map [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added functions
std::swap (std::map&, std::map&) and
std::swap (std::multimap&, std::multimap&)
* set [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added functions
std::swap (std::set&, std::set&) and
std::swap (std::multiset&, std::multiset&)
* string [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added function
std::swap (std::string&, std::string&)
* vector [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added functions
std::swap (std::vector&, std::vector&) and
std::swap (std::vector<bool>&, std::vector<bool>&)
Modified:
incubator/stdcxx/trunk/include/deque
incubator/stdcxx/trunk/include/list
incubator/stdcxx/trunk/include/map
incubator/stdcxx/trunk/include/set
incubator/stdcxx/trunk/include/string
incubator/stdcxx/trunk/include/vector
Modified: incubator/stdcxx/trunk/include/deque
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/deque?view=diff&rev=450906&r1=450905&r2=450906
==============================================================================
--- incubator/stdcxx/trunk/include/deque (original)
+++ incubator/stdcxx/trunk/include/deque Thu Sep 28 08:49:51 2006
@@ -7,36 +7,26 @@
*
***************************************************************************
*
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- ***************************************************************************
- *
- * Copyright 2005-2006 The Apache Software Foundation or its licensors,
- * as applicable.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * permissions and limitations under the License.
*
* Copyright 1994-2006 Rogue Wave Software.
*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Copyright (c) 1994 Hewlett-Packard Company
*
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
**************************************************************************/
#ifndef _RWSTD_DEQUE_INCLUDED
@@ -651,6 +641,13 @@
_RWSTD_ASSERT (_C_is_valid (1 /* valid and empty */));
}
+#if defined (_RWSTD_NO_PART_SPEC_OVERLOAD)
+ friend void swap (deque& __lhs, deque& __rhs) {
+ __lhs.swap (__rhs);
+ }
+#endif
+
+
private:
//////////////////////////////////////////////////////////////////
@@ -983,6 +980,8 @@
}
+#ifndef _RWSTD_NO_PART_SPEC_OVERLOAD
+
template <class _TypeT, class _Allocator>
inline void
swap (deque<_TypeT, _Allocator> &__lhs, deque<_TypeT, _Allocator> &__rhs)
@@ -990,6 +989,7 @@
__lhs.swap (__rhs);
}
+#endif // _RWSTD_NO_PART_SPEC_OVERLOAD
} // namespace end
Modified: incubator/stdcxx/trunk/include/list
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/list?view=diff&rev=450906&r1=450905&r2=450906
==============================================================================
--- incubator/stdcxx/trunk/include/list (original)
+++ incubator/stdcxx/trunk/include/list Thu Sep 28 08:49:51 2006
@@ -7,29 +7,25 @@
*
***************************************************************************
*
- * Copyright (c) 1994
- * Hewlett-Packard Company
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * permissions and limitations under the License.
*
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
+ * Copyright 1994-2005 Rogue Wave Software.
*
- ***************************************************************************
- *
- * Copyright (c) 1994-2005 Quovadx, Inc., acting through its Rogue Wave
- * Software division. Licensed under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the
- * License. You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0. Unless required by
- * applicable law or agreed to in writing, software distributed under
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
- * CONDITIONS OF ANY KIND, either express or implied. See the License
- * for the specific language governing permissions and limitations under
- * the License.
+ * Copyright (c) 1994 Hewlett-Packard Company
*
**************************************************************************/
@@ -663,6 +659,12 @@
void clear () {
erase (begin (), end ());
}
+
+#if defined (_RWSTD_NO_PART_SPEC_OVERLOAD)
+ friend void swap (list& __lhs, list& __rhs) {
+ __lhs.swap (__rhs);
+ }
+#endif
protected:
Modified: incubator/stdcxx/trunk/include/map
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/map?view=diff&rev=450906&r1=450905&r2=450906
==============================================================================
--- incubator/stdcxx/trunk/include/map (original)
+++ incubator/stdcxx/trunk/include/map Thu Sep 28 08:49:51 2006
@@ -7,35 +7,25 @@
*
***************************************************************************
*
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- ***************************************************************************
- *
- * Copyright 2005-2006 The Apache Software Foundation or its licensors,
- * as applicable.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * permissions and limitations under the License.
*
* Copyright 1994-2006 Rogue Wave Software.
*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Copyright (c) 1994 Hewlett-Packard Company
*
**************************************************************************/
@@ -300,6 +290,13 @@
equal_range (const key_type& __x) const {
return _C_rep.equal_range (__x);
}
+
+#if defined (_RWSTD_NO_PART_SPEC_OVERLOAD)
+ friend void swap (map& __lhs, map& __rhs) {
+ __lhs.swap (__rhs);
+ }
+#endif
+
};
@@ -529,6 +526,13 @@
equal_range (const key_type& __x) const {
return _C_rep.equal_range (__x);
}
+
+#if defined (_RWSTD_NO_PART_SPEC_OVERLOAD)
+ friend void swap (multimap& __lhs, multimap& __rhs) {
+ __lhs.swap (__rhs);
+ }
+#endif
+
};
Modified: incubator/stdcxx/trunk/include/set
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/set?view=diff&rev=450906&r1=450905&r2=450906
==============================================================================
--- incubator/stdcxx/trunk/include/set (original)
+++ incubator/stdcxx/trunk/include/set Thu Sep 28 08:49:51 2006
@@ -7,35 +7,25 @@
*
***************************************************************************
*
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- ***************************************************************************
- *
- * Copyright 2005-2006 The Apache Software Foundation or its licensors,
- * as applicable.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * permissions and limitations under the License.
*
* Copyright 1994-2006 Rogue Wave Software.
*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Copyright (c) 1994 Hewlett-Packard Company
*
**************************************************************************/
@@ -301,6 +291,13 @@
equal_range (const key_type& __x) const {
return _C_rep.equal_range (__x);
}
+
+#if defined (_RWSTD_NO_PART_SPEC_OVERLOAD)
+ friend void swap (set& __lhs, set& __rhs) {
+ __lhs.swap (__rhs);
+ }
+#endif
+
};
@@ -505,6 +502,13 @@
equal_range (const key_type& __x) const {
return _C_rep.equal_range (__x);
}
+
+#if defined (_RWSTD_NO_PART_SPEC_OVERLOAD)
+ friend void swap (multiset& __lhs, multiset& __rhs) {
+ __lhs.swap (__rhs);
+ }
+#endif
+
};
Modified: incubator/stdcxx/trunk/include/string
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/string?view=diff&rev=450906&r1=450905&r2=450906
==============================================================================
--- incubator/stdcxx/trunk/include/string (original)
+++ incubator/stdcxx/trunk/include/string Thu Sep 28 08:49:51 2006
@@ -7,17 +7,24 @@
*
***************************************************************************
*
- * Copyright (c) 1994-2005 Quovadx, Inc., acting through its Rogue Wave
- * Software division. Licensed under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the
- * License. You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0. Unless required by
- * applicable law or agreed to in writing, software distributed under
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
- * CONDITIONS OF ANY KIND, either express or implied. See the License
- * for the specific language governing permissions and limitations under
- * the License.
- *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ *
+ * Copyright 1994-2006 Rogue Wave Software.
+ *
**************************************************************************/
#ifndef _RWSTD_STRING_INCLUDED
@@ -822,6 +829,12 @@
// lwg Issue 5
int compare (size_type, size_type, const_pointer, size_type) const;
+
+#if defined (_RWSTD_NO_PART_SPEC_OVERLOAD)
+ friend void swap (basic_string& __lhs, basic_string& __rhs) {
+ __lhs.swap (__rhs);
+ }
+#endif
#if !defined (_RWSTD_NO_INLINE_MEMBER_TEMPLATES)
\
&& (!defined (_MSC_VER) || _MSC_VER >= 1300 || defined (__INTEL_COMPILER))
\
Modified: incubator/stdcxx/trunk/include/vector
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/vector?view=diff&rev=450906&r1=450905&r2=450906
==============================================================================
--- incubator/stdcxx/trunk/include/vector (original)
+++ incubator/stdcxx/trunk/include/vector Thu Sep 28 08:49:51 2006
@@ -7,35 +7,25 @@
*
***************************************************************************
*
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- ***************************************************************************
- *
- * Copyright 2006 The Apache Software Foundation or its licensors,
- * as applicable.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * permissions and limitations under the License.
*
* Copyright 1994-2006 Rogue Wave Software.
*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Copyright (c) 1994 Hewlett-Packard Company
*
**************************************************************************/
@@ -370,6 +360,12 @@
erase (begin (), end ());
}
+#if defined (_RWSTD_NO_PART_SPEC_OVERLOAD)
+ friend void swap (vector& __lhs, vector& __rhs) {
+ __lhs.swap (__rhs);
+ }
+#endif
+
private:
// implements assign with repetition
@@ -1432,6 +1428,13 @@
{
erase(begin(),end());
}
+
+#if defined (_RWSTD_NO_PART_SPEC_OVERLOAD)
+ friend void swap (vector& __lhs, vector& __rhs) {
+ __lhs.swap (__rhs);
+ }
+#endif
+
};
#undef _Allocator