/
usr
/
include
/
c++
/
4.4.4
/
bits
/
/usr/include/c++/4.4.4/bits
mkdir
upload
Name
Size
Mode
Actions
algorithmfwd.h
20746
0644
edit
dl
rm
allocator.h
5189
0644
edit
dl
rm
atomicfwd_c.h
4749
0644
edit
dl
rm
atomicfwd_cxx.h
2921
0644
edit
dl
rm
atomic_0.h
13971
0644
edit
dl
rm
atomic_2.h
12779
0644
edit
dl
rm
basic_ios.h
14947
0644
edit
dl
rm
basic_ios.tcc
6038
0644
edit
dl
rm
basic_string.h
99718
0644
edit
dl
rm
basic_string.tcc
39330
0644
edit
dl
rm
boost_concept_check.h
27011
0644
edit
dl
rm
char_traits.h
16410
0644
edit
dl
rm
cmath.tcc
1653
0644
edit
dl
rm
codecvt.h
16503
0644
edit
dl
rm
concept_check.h
3322
0644
edit
dl
rm
cpp_type_traits.h
9667
0644
edit
dl
rm
deque.tcc
26920
0644
edit
dl
rm
forward_list.h
44753
0644
edit
dl
rm
forward_list.tcc
15806
0644
edit
dl
rm
fstream.tcc
27243
0644
edit
dl
rm
functexcept.h
2730
0644
edit
dl
rm
functional_hash.h
2043
0644
edit
dl
rm
gslice.h
5451
0644
edit
dl
rm
gslice_array.h
7719
0644
edit
dl
rm
hashtable.h
1877
0644
edit
dl
rm
indirect_array.h
7818
0644
edit
dl
rm
ios_base.h
28197
0644
edit
dl
rm
istream.tcc
29456
0644
edit
dl
rm
list.tcc
11274
0644
edit
dl
rm
localefwd.h
5058
0644
edit
dl
rm
locale_classes.h
23548
0644
edit
dl
rm
locale_classes.tcc
7288
0644
edit
dl
rm
locale_facets.h
90545
0644
edit
dl
rm
locale_facets.tcc
38754
0644
edit
dl
rm
locale_facets_nonio.h
65487
0644
edit
dl
rm
locale_facets_nonio.tcc
41115
0644
edit
dl
rm
mask_array.h
7544
0644
edit
dl
rm
move.h
2704
0644
edit
dl
rm
ostream.tcc
12446
0644
edit
dl
rm
ostream_insert.h
3953
0644
edit
dl
rm
postypes.h
8200
0644
edit
dl
rm
shared_ptr.h
48655
0644
edit
dl
rm
slice_array.h
9284
0644
edit
dl
rm
sstream.tcc
9055
0644
edit
dl
rm
stl_algo.h
207877
0644
edit
dl
rm
stl_algobase.h
39966
0644
edit
dl
rm
stl_bvector.h
26192
0644
edit
dl
rm
stl_construct.h
4957
0644
edit
dl
rm
stl_deque.h
60924
0644
edit
dl
rm
stl_function.h
22264
0644
edit
dl
rm
stl_heap.h
20059
0644
edit
dl
rm
stl_iterator.h
33014
0644
edit
dl
rm
stl_iterator_base_funcs.h
6813
0644
edit
dl
rm
stl_iterator_base_types.h
6481
0644
edit
dl
rm
stl_list.h
49193
0644
edit
dl
rm
stl_map.h
31459
0644
edit
dl
rm
stl_multimap.h
29458
0644
edit
dl
rm
stl_multiset.h
24694
0644
edit
dl
rm
stl_numeric.h
13272
0644
edit
dl
rm
stl_pair.h
8429
0644
edit
dl
rm
stl_queue.h
18782
0644
edit
dl
rm
stl_raw_storage_iter.h
3390
0644
edit
dl
rm
stl_relops.h
4490
0644
edit
dl
rm
stl_set.h
24882
0644
edit
dl
rm
stl_stack.h
9737
0644
edit
dl
rm
stl_tempbuf.h
6496
0644
edit
dl
rm
stl_tree.h
43638
0644
edit
dl
rm
stl_uninitialized.h
15110
0644
edit
dl
rm
stl_vector.h
42326
0644
edit
dl
rm
streambuf.tcc
4921
0644
edit
dl
rm
streambuf_iterator.h
12171
0644
edit
dl
rm
stream_iterator.h
6418
0644
edit
dl
rm
stringfwd.h
2203
0644
edit
dl
rm
unique_ptr.h
12711
0644
edit
dl
rm
valarray_after.h
22549
0644
edit
dl
rm
valarray_array.h
21742
0644
edit
dl
rm
valarray_array.tcc
7189
0644
edit
dl
rm
valarray_before.h
18207
0644
edit
dl
rm
vector.tcc
21123
0644
edit
dl
rm
Edit:
/usr/include/c++/4.4.4/bits/allocator.h
(5189B)
// Allocators -*- C++ -*- // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the // terms of the GNU General Public License as published by the // Free Software Foundation; either version 3, or (at your option) // any later version. // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // Under Section 7 of GPL version 3, you are granted additional // permissions described in the GCC Runtime Library Exception, version // 3.1, as published by the Free Software Foundation. // You should have received a copy of the GNU General Public License and // a copy of the GCC Runtime Library Exception along with this program; // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. /* * Copyright (c) 1996-1997 * Silicon Graphics Computer Systems, Inc. * * 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. Silicon Graphics makes no * representations about the suitability of this software for any * purpose. It is provided "as is" without express or implied warranty. */ /** @file allocator.h * This is an internal header file, included by other library headers. * You should not attempt to use it directly. */ #ifndef _ALLOCATOR_H #define _ALLOCATOR_H 1 // Define the base class to std::allocator. #include <bits/c++allocator.h> _GLIBCXX_BEGIN_NAMESPACE(std) /** * @defgroup allocators Allocators * @ingroup memory * * Classes encapsulating memory operations. */ template<typename _Tp> class allocator; /// allocator<void> specialization. template<> class allocator<void> { public: typedef size_t size_type; typedef ptrdiff_t difference_type; typedef void* pointer; typedef const void* const_pointer; typedef void value_type; template<typename _Tp1> struct rebind { typedef allocator<_Tp1> other; }; }; /** * @brief The "standard" allocator, as per [20.4]. * @ingroup allocators * * Further details: * http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt04ch11.html */ template<typename _Tp> class allocator: public __glibcxx_base_allocator<_Tp> { public: typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Tp* pointer; typedef const _Tp* const_pointer; typedef _Tp& reference; typedef const _Tp& const_reference; typedef _Tp value_type; template<typename _Tp1> struct rebind { typedef allocator<_Tp1> other; }; allocator() throw() { } allocator(const allocator& __a) throw() : __glibcxx_base_allocator<_Tp>(__a) { } template<typename _Tp1> allocator(const allocator<_Tp1>&) throw() { } ~allocator() throw() { } // Inherit everything else. }; template<typename _T1, typename _T2> inline bool operator==(const allocator<_T1>&, const allocator<_T2>&) { return true; } template<typename _Tp> inline bool operator==(const allocator<_Tp>&, const allocator<_Tp>&) { return true; } template<typename _T1, typename _T2> inline bool operator!=(const allocator<_T1>&, const allocator<_T2>&) { return false; } template<typename _Tp> inline bool operator!=(const allocator<_Tp>&, const allocator<_Tp>&) { return false; } // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. // NB: This syntax is a GNU extension. #if _GLIBCXX_EXTERN_TEMPLATE extern template class allocator<char>; extern template class allocator<wchar_t>; #endif // Undefine. #undef __glibcxx_base_allocator // To implement Option 3 of DR 431. template<typename _Alloc, bool = __is_empty(_Alloc)> struct __alloc_swap { static void _S_do_it(_Alloc&, _Alloc&) { } }; template<typename _Alloc> struct __alloc_swap<_Alloc, false> { static void _S_do_it(_Alloc& __one, _Alloc& __two) { // Precondition: swappable allocators. if (__one != __two) swap(__one, __two); } }; // Optimize for stateless allocators. template<typename _Alloc, bool = __is_empty(_Alloc)> struct __alloc_neq { static bool _S_do_it(const _Alloc&, const _Alloc&) { return false; } }; template<typename _Alloc> struct __alloc_neq<_Alloc, false> { static bool _S_do_it(const _Alloc& __one, const _Alloc& __two) { return __one != __two; } }; _GLIBCXX_END_NAMESPACE #endif
Save
cmd:
run