std(3)

NAME

std

Detailed Description

ISO C++ entities toplevel namespace is std.

SYNOPSIS

Classes
    class __codecvt_abstract_base
        Common base for codecvt functions.
    class __ctype_abstract_base
        Common base for ctype facet.
    struct __is_location_invariant
    struct __numeric_limits_base
        Part of std::numeric_limits.
    struct _Base_bitset
    struct _Base_bitset< 0 >
    struct _Base_bitset< 1 >
    class _Deque_base
    struct _Deque_iterator
        A deque::iterator.
    struct _Derives_from_binary_function
        Determines if the type _Tp derives from binary_function.
    struct _Derives_from_unary_function
        Determines if the type _Tp derives from unary_function.
    struct _Fnv_hash
        Dummy generic implementation (for sizeof(size_t) != 4, 8).
    class _Function_base
        Base class of all polymorphic function object wrappers.
    struct _Function_to_function_pointer
        Turns a function type into a function pointer type.
    class _Has_result_type_helper
    struct _Index_tuple
    class _List_base
        See bits/stl_deque.h's _Deque_base for an explanation.
    struct _List_const_iterator
        A list::const_iterator.
    struct _List_iterator
        A list::iterator.
    struct _List_node
        An actual node in the list.
    struct _List_node_base
        Common part of a node in the list.
    struct _Maybe_get_result_type
        If we have found a result_type, extract it.
    struct _Maybe_unary_or_binary_function
    struct _Maybe_unary_or_binary_function< _Res, _T1 >
        Derives from unary_function, as appropriate.
    struct _Maybe_unary_or_binary_function< _Res, _T1, _T2 >
        Derives from binary_function, as appropriate.
    struct _Maybe_wrap_member_pointer
    struct _Maybe_wrap_member_pointer< _Tp _Class::* >
    class _Mem_fn< _Res(_Class::*)(_ArgTypes...) const  >
        Implementation of mem_fn for const member function pointers.
    class _Mem_fn< _Res(_Class::*)(_ArgTypes...) const volatile >
        Implementation of mem_fn for const volatile member function
        pointers.
    class _Mem_fn< _Res(_Class::*)(_ArgTypes...) volatile >
        Implementation of mem_fn for volatile member function pointers.
    class _Mem_fn< _Res(_Class::*)(_ArgTypes...)>
        Implementation of mem_fn for member function pointers.
    class _Mu< _Arg, false, false >
    class _Mu< _Arg, false, true >
    class _Mu< _Arg, true, false >
    class _Mu< reference_wrapper< _Tp >, false, false >
    struct _Placeholder
        The type of placeholder objects defined by libstdc++.
    struct _Reference_wrapper_base
    struct _Result_of_impl< false, _Functor()>
    struct _Result_of_impl< false, _Functor(_ArgTypes...)>
    struct _Result_of_impl< true, _Functor(_ArgTypes...)>
        We already know the result type for Functor; use it.
    struct _Safe_tuple_element
    struct _Safe_tuple_element_impl
    struct _Safe_tuple_element_impl< __i, _Tuple, false >
    class _Temporary_buffer
    struct _Tuple_impl< _Idx >
    struct _Tuple_impl< _Idx, _Head, _Tail...>
    struct _Vector_base
        See bits/stl_deque.h's _Deque_base for an explanation.
    struct _Weak_result_type
    struct _Weak_result_type_impl
    struct _Weak_result_type_impl< _Res(&)(_ArgTypes...)>
        Retrieve the result type for a function reference.
    struct _Weak_result_type_impl< _Res(*)(_ArgTypes...)>
        Retrieve the result type for a function pointer.
    struct _Weak_result_type_impl< _Res(_ArgTypes...)>
        Retrieve the result type for a function type.
    struct _Weak_result_type_impl< _Res(_Class::*)(_ArgTypes...) const  >
        Retrieve result type for a const member function pointer.
    struct _Weak_result_type_impl< _Res(_Class::*)(_ArgTypes...) const
        volatile >
        Retrieve result type for a const volatile member function pointer.
    struct _Weak_result_type_impl< _Res(_Class::*)(_ArgTypes...) volatile >
        Retrieve result type for a volatile member function pointer.
    struct _Weak_result_type_impl< _Res(_Class::*)(_ArgTypes...)>
        Retrieve result type for a member function pointer.
    struct add_const
        add_const
    struct add_cv
        add_cv
    struct add_lvalue_reference
        add_lvalue_reference
    struct add_pointer
        add_pointer
    struct add_rvalue_reference
        add_rvalue_reference
    struct add_volatile
        add_volatile
    struct alignment_of
        alignment_of
    class allocator
        The 'standard' allocator, as per [20.4].
    class allocator< void >
        allocator<void> specialization.
    struct array
        array. NB: Requires complete type _Tp.
    class auto_ptr
        A simple smart pointer providing strict ownership semantics.
    struct auto_ptr_ref
    class back_insert_iterator
        Turns assignment into insertion.
    class bad_alloc
        Exception possibly thrown by new.
    class bad_cast
        Thrown during incorrect typecasting.
    class bad_exception
    class bad_function_call
        Exception class thrown when class template function's operator() is
        called with an empty target.
    class bad_typeid
    class basic_filebuf
        The actual work of input and output (for files).
    class basic_fstream
        Controlling input and output for files.
    class basic_ifstream
        Controlling input for files.
    class basic_ios
        Virtual base class for all stream classes.
    class basic_iostream
        Merging istream and ostream capabilities.
    class basic_istream
        Controlling input.
    class basic_istringstream
        Controlling input for std::string.
    class basic_ofstream
        Controlling output for files.
    class basic_ostream
        Controlling output.
    class basic_ostringstream
        Controlling output for std::string.
    class basic_regex
    class basic_streambuf
        The actual work of input and output (interface).
    class basic_string
        Managing sequences of characters and character-like objects.
    class basic_stringbuf
        The actual work of input and output (for std::string).
    class basic_stringstream
        Controlling input and output for std::string.
    class bernoulli_distribution
        A Bernoulli random number distribution.
    struct bidirectional_iterator_tag
        Bidirectional iterators support a superset of forward iterator
        operations.
    struct binary_function
    class binary_negate
        One of the negation functors.
    class binder1st
        One of the binder functors.
    class binder2nd
        One of the binder functors.
    class binomial_distribution
        A discrete binomial random number distribution.
    class bitset
        The bitset class represents a fixed-size sequence of bits.
    struct char_traits
        Basis for explicit traits specializations.
    struct char_traits< __gnu_cxx::character< V, I, S > >
        char_traits<__gnu_cxx::character> specialization.
    struct char_traits< char >
        21.1.3.1 char_traits specializations
    struct char_traits< wchar_t >
        21.1.3.2 char_traits specializations
    class codecvt
        class codecvt [22.2.1.5]. NB: Generic, mostly useless
        implementation.
    class codecvt< _InternT, _ExternT, encoding_state >
        codecvt<InternT, _ExternT, encoding_state> specialization.
    class codecvt< char, char, mbstate_t >
        class codecvt<char, char, mbstate_t> specialization.
    class codecvt< wchar_t, char, mbstate_t >
        class codecvt<wchar_t, char, mbstate_t> specialization.
    class codecvt_base
        Empty base class for codecvt facet [22.2.1.5].
    class codecvt_byname
        class codecvt_byname [22.2.1.6].
    class collate
        Facet for localized string comparison.
    class collate_byname
        class collate_byname [22.2.4.2].
    class const_mem_fun1_ref_t
        One of the adaptors for member pointers.
    class const_mem_fun1_t
        One of the adaptors for member pointers.
    class const_mem_fun_ref_t
        One of the adaptors for member pointers.
    class const_mem_fun_t
        One of the adaptors for member pointers.
    class ctype
        Template ctype facet.
    class ctype< char >
        The ctype<char> specialization.
    class ctype< wchar_t >
        The ctype<wchar_t> specialization.
    struct ctype_base
        Base class for ctype.
    class ctype_byname
        class ctype_byname [22.2.1.2].
    class ctype_byname< char >
        22.2.1.4 Class ctype_byname specializations.
    class deque
        A standard container using fixed-size memory allocation and
        constant-time manipulation of elements at either end.
    class discard_block
    struct divides
        One of the math functors.
    class domain_error
    struct equal_to
        One of the comparison functors.
    class exception
        Base class for all library exceptions.
    class exponential_distribution
        An exponential continuous distribution for random numbers.
    struct extent
        extent
    struct forward_iterator_tag
        Forward iterators support a superset of input iterator operations.
    class fpos
        Class representing stream positions.
    class front_insert_iterator
        Turns assignment into insertion.
    class function< _Res(_ArgTypes...)>
        class function
    class gamma_distribution
        A gamma continuous distribution for random numbers.
    class geometric_distribution
        A discrete geometric random number distribution.
    struct greater
        One of the comparison functors.
    struct greater_equal
        One of the comparison functors.
    class gslice
        Class defining multi-dimensional subset of an array.
    class gslice_array
        Reference to multi-dimensional subset of an array.
    struct has_virtual_destructor
        has_virtual_destructor
    struct hash
        Class template hash.
    struct hash< _Tp * >
        Partial specializations for pointer types.
    class indirect_array
        Reference to arbitrary subset of an array.
    struct input_iterator_tag
        Marking input iterators.
    class insert_iterator
        Turns assignment into insertion.
    struct integral_constant
        helper classes [4.3].
    class invalid_argument
    class ios_base
        The base of the I/O class hierarchy.
    struct is_abstract
        is_abstract
    struct is_arithmetic
        composite type traits [4.5.2].
    struct is_array
        is_array
    struct is_bind_expression
        Determines if the given type _Tp is a function object should be
        treated as a subexpression when evaluating calls to function
        objects returned by bind(). [TR1 3.6.1].
    struct is_bind_expression< _Bind< _Signature > >
        Class template _Bind is always a bind expression.
    struct is_bind_expression< _Bind_result< _Result, _Signature > >
        Class template _Bind_result is always a bind expression.
    struct is_class
        is_class
    struct is_compound
        is_compound
    struct is_const
        type properties [4.5.3].
    struct is_const< _Tp const  >
        is_const
    struct is_empty
        is_empty
    struct is_enum
        is_enum
    struct is_floating_point
        is_floating_point
    struct is_function
        is_function
    struct is_fundamental
        is_fundamental
    struct is_integral
        is_integral
    struct is_lvalue_reference
        is_lvalue_reference
    struct is_member_function_pointer
        is_member_function_pointer
    struct is_member_object_pointer
        is_member_object_pointer
    struct is_member_pointer
        is_member_pointer
    struct is_object
        is_object
    struct is_placeholder
        Determines if the given type _Tp is a placeholder in a bind()
        expression and, if so, which placeholder it is. [TR1 3.6.2].
    struct is_placeholder< _Placeholder< _Num > >
    struct is_pointer
        is_pointer
    struct is_polymorphic
        is_polymorphic
    struct is_reference
        is_reference
    struct is_rvalue_reference
        is_rvalue_reference
    struct is_same
        relationships between types [4.6].
    struct is_scalar
        is_scalal
    struct is_union
        is_union
    struct is_void
        primary type categories [4.5.1].
    struct is_volatile
        is_volatile
    class istream_iterator
        Provides input iterator semantics for streams.
    class istreambuf_iterator
        Provides input iterator semantics for streambufs.
    struct iterator
        Common iterator class.
    struct iterator_traits
    class length_error
    struct less
        One of the comparison functors.
    struct less_equal
        One of the comparison functors.
    class linear_congruential
        A model of a linear congruential random number generator.
    class list
        A standard container with linear time access to elements, and fixed
        time insertion/deletion at any point in the sequence.
    class locale
        Container class for localization functionality.
    class logic_error
        One of two subclasses of exception.
    struct logical_and
        One of the Boolean operations functors.
    struct logical_not
        One of the Boolean operations functors.
    struct logical_or
        One of the Boolean operations functors.
    class map
        A standard container made up of (key,value) pairs, which can be
        retrieved based on a key, in logarithmic time.
    class mask_array
        Reference to selected subset of an array.
    class match_results
    class mem_fun1_ref_t
        One of the adaptors for member pointers.
    class mem_fun1_t
        One of the adaptors for member pointers.
    class mem_fun_ref_t
        One of the adaptors for member pointers.
    class mem_fun_t
        One of the adaptors for member pointers.
    class messages
        Facet for handling message catalogs.
    struct messages_base
        Messages facet base class providing catalog typedef.
    class messages_byname
        class messages_byname [22.2.7.2].
    struct minus
        One of the math functors.
    struct modulus
        One of the math functors.
    class money_base
        Money format ordering data.
    class money_get
        Facet for parsing monetary amounts.
    class money_put
        Facet for outputting monetary amounts.
    class moneypunct
        Facet for formatting data for money amounts.
    class moneypunct_byname
        class moneypunct_byname [22.2.6.4].
    class multimap
        A standard container made up of (key,value) pairs, which can be
        retrieved based on a key, in logarithmic time.
    struct multiplies
        One of the math functors.
    class multiset
        A standard container made up of elements, which can be retrieved in
        logarithmic time.
    struct negate
        One of the math functors.
    class normal_distribution
        A normal continuous distribution for random numbers.
    struct not_equal_to
        One of the comparison functors.
    class num_get
        Facet for parsing number strings.
    class num_put
        Facet for converting numbers to strings.
    struct numeric_limits
        Properties of fundamental types.
    struct numeric_limits< bool >
        numeric_limits<bool> specialization.
    struct numeric_limits< char >
        numeric_limits<char> specialization.
    struct numeric_limits< double >
        numeric_limits<double> specialization.
    struct numeric_limits< float >
        numeric_limits<float> specialization.
    struct numeric_limits< int >
        numeric_limits<int> specialization.
    struct numeric_limits< long >
        numeric_limits<long> specialization.
    struct numeric_limits< long double >
        numeric_limits<long double> specialization.
    struct numeric_limits< long long >
        numeric_limits<long long> specialization.
    struct numeric_limits< short >
        numeric_limits<short> specialization.
    struct numeric_limits< signed char >
        numeric_limits<signed char> specialization.
    struct numeric_limits< unsigned char >
        numeric_limits<unsigned char> specialization.
    struct numeric_limits< unsigned int >
        numeric_limits<unsigned int> specialization.
    struct numeric_limits< unsigned long >
        numeric_limits<unsigned long> specialization.
    struct numeric_limits< unsigned long long >
        numeric_limits<unsigned long long> specialization.
    struct numeric_limits< unsigned short >
        numeric_limits<unsigned short> specialization.
    struct numeric_limits< wchar_t >
        numeric_limits<wchar_t> specialization.
    class numpunct
        Numpunct facet.
    class numpunct_byname
        class numpunct_byname [22.2.3.2].
    class ostream_iterator
        Provides output iterator semantics for streams.
    class ostreambuf_iterator
        Provides output iterator semantics for streambufs.
    class out_of_range
    struct output_iterator_tag
        Marking output iterators.
    class overflow_error
    struct pair
        pair holds two objects of arbitrary type.
    struct plus
        One of the math functors.
    class pointer_to_binary_function
        One of the adaptors for function pointers.
    class pointer_to_unary_function
        One of the adaptors for function pointers.
    class poisson_distribution
        A discrete Poisson random number distribution.
    class priority_queue
        A standard container automatically sorting its contents.
    class queue
        A standard container giving FIFO behavior.
    struct random_access_iterator_tag
        Random-access iterators support a superset of bidirectional
        iterator operations.
    class random_device
    class range_error
    struct rank
        rank
    class raw_storage_iterator
    class reference_wrapper
        reference_wrapper
    class regex_error
    class regex_iterator
    class regex_token_iterator
    struct regex_traits
    struct remove_all_extents
        remove_all_extents
    struct remove_const
        const-volatile modifications [4.7.1].
    struct remove_cv
        remove_cv
    struct remove_extent
        array modifications [4.7.3].
    struct remove_pointer
        remove_pointer
    struct remove_reference
        remove_reference
    struct remove_volatile
        remove_volatile
    class result_of< _Functor(_ArgTypes...)>
    class reverse_iterator
    class runtime_error
        One of two subclasses of exception.
    class set
        A standard container made up of unique keys, which can be retrieved
        in logarithmic time.
    class slice
        Class defining one-dimensional subset of an array.
    class slice_array
        Reference to one-dimensional subset of an array.
    class stack
        A standard container giving FILO behavior.
    class sub_match
    class time_base
        Time format ordering data.
    class time_get
        Facet for parsing dates and times.
    class time_get_byname
        class time_get_byname [22.2.5.2].
    class time_put
        Facet for outputting dates and times.
    class time_put_byname
        class time_put_byname [22.2.5.4].
    class tuple
        tuple
    class tuple< _T1, _T2 >
        tuple (2-element), with construction and assignment from a pair.
    struct tuple_element< 0, tuple< _Head, _Tail...> >
    struct tuple_element< __i, tuple< _Head, _Tail...> >
    struct tuple_size< tuple< _Elements...> >
        class tuple_size
    class type_info
        Part of RTTI.
    struct unary_function
    class unary_negate
        One of the negation functors.
    class underflow_error
    class uniform_int
        Uniform discrete distribution for random numbers. A discrete random
        distribution on the range $[min, max]$ with equal probability
        throughout the range.
    class uniform_real
        Uniform continuous distribution for random numbers.
    class unordered_map
        class unordered_map
    class unordered_multimap
        class unordered_multimap
    class unordered_multiset
        class unordered_multiset
    class unordered_set
        class unordered_set
    class valarray
        Smart array designed to support numeric processing.
    class variate_generator
    class vector
        A standard container which offers fixed time access to individual
        elements in any order.
    class vector< bool, _Alloc >
        A specialization of vector for booleans which offers fixed time
        access to individual elements in any order.
    class xor_combine
Namespaces
    namespace __debug
    namespace __detail
    namespace __parallel
    namespace placeholders
    namespace regex_constants
    namespace rel_ops
    namespace tr1
Typedefs
    typedef FILE __c_file
    typedef __locale_t __c_locale
    typedef __gthread_mutex_t __c_lock
    typedef unsigned long _Bit_type
    typedef match_results< const char * > cmatch
    typedef regex_iterator< const char * > cregex_iterator
    typedef regex_token_iterator< const char * > cregex_token_iterator
    typedef sub_match< const char * > csub_match
    typedef integral_constant< bool, false > false_type
    typedef basic_filebuf< char > filebuf
    typedef basic_fstream< char > fstream
    typedef basic_ifstream< char > ifstream
    typedef basic_ios< char > ios
    typedef basic_iostream< char > iostream
    typedef basic_istream< char > istream
    typedef basic_istringstream< char > istringstream
    typedef linear_congruential< unsigned long, 48271, 0, 2147483647 >
        minstd_rand
    typedef linear_congruential< unsigned long, 16807, 0, 2147483647 >
        minstd_rand0
    typedef mersenne_twister< unsigned long, 32, 624, 397, 31,
        0x9908b0dful, 11, 7, 0x9d2c5680ul, 15, 0xefc60000ul, 18 > mt19937
    typedef void(* new_handler )()
    typedef basic_ofstream< char > ofstream
    typedef basic_ostream< char > ostream
    typedef basic_ostringstream< char > ostringstream
    typedef discard_block< subtract_with_carry< unsigned long,(1UL<< 24),
        10, 24 >, 223, 24 > ranlux3
    typedef discard_block< subtract_with_carry_01< float, 24, 10, 24 >,
        223, 24 > ranlux3_01
    typedef discard_block< subtract_with_carry< unsigned long,(1UL<< 24),
        10, 24 >, 389, 24 > ranlux4
    typedef discard_block< subtract_with_carry_01< float, 24, 10, 24 >,
        389, 24 > ranlux4_01
    typedef subtract_with_carry_01< double, 48, 5, 12 > ranlux64_base_01
    typedef subtract_with_carry_01< float, 24, 10, 24 > ranlux_base_01
    typedef basic_regex< char > regex
    typedef match_results< string::const_iterator > smatch
    typedef regex_iterator< string::const_iterator > sregex_iterator
    typedef regex_token_iterator< string::const_iterator >
        sregex_token_iterator
    typedef sub_match< string::const_iterator > ssub_match
    typedef basic_streambuf< char > streambuf
    typedef long long streamoff
    typedef fpos< mbstate_t > streampos
    typedef ptrdiff_t streamsize
    typedef basic_string< char > string
    typedef basic_stringbuf< char > stringbuf
    typedef basic_stringstream< char > stringstream
    typedef void(* terminate_handler )()
    typedef integral_constant< bool, true > true_type
    typedef void(* unexpected_handler )()
    typedef match_results< const wchar_t * > wcmatch
    typedef regex_iterator< const wchar_t * > wcregex_iterator
    typedef regex_token_iterator< const wchar_t * > wcregex_token_iterator
    typedef sub_match< const wchar_t * > wcsub_match
    typedef basic_filebuf< wchar_t > wfilebuf
    typedef basic_fstream< wchar_t > wfstream
    typedef basic_ifstream< wchar_t > wifstream
    typedef basic_ios< wchar_t > wios
    typedef basic_iostream< wchar_t > wiostream
    typedef basic_istream< wchar_t > wistream
    typedef basic_istringstream< wchar_t > wistringstream
    typedef basic_ofstream< wchar_t > wofstream
    typedef basic_ostream< wchar_t > wostream
    typedef basic_ostringstream< wchar_t > wostringstream
    typedef basic_regex< wchar_t > wregex
    typedef match_results< wstring::const_iterator > wsmatch
    typedef regex_iterator< wstring::const_iterator > wsregex_iterator
    typedef regex_token_iterator< wstring::const_iterator >
        wsregex_token_iterator
    typedef sub_match< wstring::const_iterator > wssub_match
    typedef basic_streambuf< wchar_t > wstreambuf
    typedef fpos< mbstate_t > wstreampos
    typedef basic_string< wchar_t > wstring
    typedef basic_stringbuf< wchar_t > wstringbuf
    typedef basic_stringstream< wchar_t > wstringstream
Enumerations
    enum { _S_threshold }
    enum { _S_chunk_size }
    enum { _S_word_bit }
    enum _Ios_Fmtflags { _S_boolalpha, _S_dec, _S_fixed, _S_hex,
        _S_internal, _S_left, _S_oct, _S_right, _S_scientific, _S_showbase,
        _S_showpoint, _S_showpos, _S_skipws, _S_unitbuf, _S_uppercase,
        _S_adjustfield, _S_basefield, _S_floatfield, _S_ios_fmtflags_end }
    enum _Ios_Iostate { _S_goodbit, _S_badbit, _S_eofbit, _S_failbit,
        _S_ios_iostate_end }
    enum _Ios_Openmode { _S_app, _S_ate, _S_bin, _S_in, _S_out, _S_trunc,
        _S_ios_openmode_end }
    enum _Ios_Seekdir { _S_beg, _S_cur, _S_end, _S_ios_seekdir_end }
    enum _Manager_operation { __get_type_info, __get_functor_ptr,
        __clone_functor, __destroy_functor }
    enum _Rb_tree_color { _S_red, _S_black }
    enum float_denorm_style { denorm_indeterminate, denorm_absent,
        denorm_present }
    enum float_round_style { round_indeterminate, round_toward_zero,
        round_to_nearest, round_toward_infinity, round_toward_neg_infinity
        }
Functions
    template<typename _CharT> _CharT * __add_grouping (_CharT *__s, _CharT
        __sep, const char *__gbeg, size_t __gsize, const _CharT *__first,
        const _CharT *__last)
    template<typename _RandomAccessIterator, typename _Distance, typename
        _Tp, typename _Compare> void __adjust_heap (_RandomAccessIterator
        __first, _Distance __holeIndex, _Distance __len, _Tp __value,
        _Compare __comp)
    template<typename _RandomAccessIterator, typename _Distance, typename
        _Tp> void __adjust_heap (_RandomAccessIterator __first, _Distance
        __holeIndex, _Distance __len, _Tp __value)
    template<typename _RandomAccessIterator, typename _Distance> void
        __advance (_RandomAccessIterator &__i, _Distance __n,
        random_access_iterator_tag)
    template<typename _BidirectionalIterator, typename _Distance> void
        __advance (_BidirectionalIterator &__i, _Distance __n,
        bidirectional_iterator_tag)
    template<typename _InputIterator, typename _Distance> void __advance
        (_InputIterator &__i, _Distance __n, input_iterator_tag)
    template<typename _Member, typename _Class> _Mem_fn< _Member _Class::*
        > __callable_functor (_Member _Class::*const &__p)
    template<typename _Member, typename _Class> _Mem_fn< _Member _Class::*
        > __callable_functor (_Member _Class::*&__p)
    template<typename _Functor> _Functor & __callable_functor (_Functor
        &__f)
    template<typename _Facet> const _Facet & __check_facet (const _Facet
        *__f)
    template<typename _RandomAccessIterator, typename _Distance, typename
        _Compare> void __chunk_insertion_sort (_RandomAccessIterator
        __first, _RandomAccessIterator __last, _Distance __chunk_size,
        _Compare __comp)
    template<typename _RandomAccessIterator, typename _Distance> void
        __chunk_insertion_sort (_RandomAccessIterator __first,
        _RandomAccessIterator __last, _Distance __chunk_size)
    template<typename _Tp> _Tp __cmath_power (_Tp, unsigned int)
    template<typename _Tp> std::complex< _Tp > __complex_acos (const
        std::complex< _Tp > &__z)
    template<typename _Tp> std::complex< _Tp > __complex_acosh (const
        std::complex< _Tp > &__z)
    template<typename _Tp> std::complex< _Tp > __complex_asin (const
        std::complex< _Tp > &__z)
    template<typename _Tp> std::complex< _Tp > __complex_asinh (const
        std::complex< _Tp > &__z)
    template<typename _Tp> std::complex< _Tp > __complex_atan (const
        std::complex< _Tp > &__z)
    template<typename _Tp> std::complex< _Tp > __complex_atanh (const
        std::complex< _Tp > &__z)
    int __convert_from_v (const __c_locale &__cloc
        __attribute__((__unused__)), char *__out, const int __size
        __attribute__((__unused__)), const char *__fmt,...)
    template<> void __convert_to_v (const char *, long double &,
        ios_base::iostate &, const __c_locale &)
    template<> void __convert_to_v (const char *, double &,
        ios_base::iostate &, const __c_locale &)
    template<> void __convert_to_v (const char *, float &,
        ios_base::iostate &, const __c_locale &)
    template<typename _Tv> void __convert_to_v (const char *__in, _Tv
        &__out, ios_base::iostate &__err, const __c_locale &__cloc)
    template<bool _IsMove, typename _II, typename _OI> _OI __copy_move_a
        (_II __first, _II __last, _OI __result)
    template<bool _IsMove, typename _CharT> __gnu_cxx::__enable_if<
        __is_char< _CharT >::__value, _CharT * >::__type __copy_move_a2
        (istreambuf_iterator< _CharT > __first, istreambuf_iterator< _CharT
        > __last, _CharT *__result)
    template<bool _IsMove, typename _CharT> __gnu_cxx::__enable_if<
        __is_char< _CharT >::__value, ostreambuf_iterator< _CharT >
        >::__type __copy_move_a2 (const _CharT *__first, const _CharT
        *__last, ostreambuf_iterator< _CharT > __result)
    template<bool _IsMove, typename _CharT> __gnu_cxx::__enable_if<
        __is_char< _CharT >::__value, ostreambuf_iterator< _CharT >
        >::__type __copy_move_a2 (_CharT *__first, _CharT *__last,
        ostreambuf_iterator< _CharT > __result)
    template<bool _IsMove, typename _II, typename _OI> _OI __copy_move_a2
        (_II __first, _II __last, _OI __result)
    template<bool _IsMove, typename _CharT> __gnu_cxx::__enable_if<
        __is_char< _CharT >::__value, _CharT * >::__type __copy_move_a2
        (istreambuf_iterator< _CharT, char_traits< _CharT > >,
        istreambuf_iterator< _CharT, char_traits< _CharT > >, _CharT *)
    template<bool _IsMove, typename _CharT> __gnu_cxx::__enable_if<
        __is_char< _CharT >::__value, ostreambuf_iterator< _CharT,
        char_traits< _CharT > > >::__type __copy_move_a2 (const _CharT *,
        const _CharT *, ostreambuf_iterator< _CharT, char_traits< _CharT >
        >)
    template<bool _IsMove, typename _CharT> __gnu_cxx::__enable_if<
        __is_char< _CharT >::__value, ostreambuf_iterator< _CharT,
        char_traits< _CharT > > >::__type __copy_move_a2 (_CharT *, _CharT
        *, ostreambuf_iterator< _CharT, char_traits< _CharT > >)
    template<bool _IsMove, typename _BI1, typename _BI2> _BI2
        __copy_move_backward_a (_BI1 __first, _BI1 __last, _BI2 __result)
    template<bool _IsMove, typename _BI1, typename _BI2> _BI2
        __copy_move_backward_a2 (_BI1 __first, _BI1 __last, _BI2 __result)
    template<typename _CharT, typename _Traits> streamsize
        __copy_streambufs (basic_streambuf< _CharT, _Traits > *__sbin,
        basic_streambuf< _CharT, _Traits > *__sbout)
    template<> streamsize __copy_streambufs_eof (basic_streambuf< wchar_t >
        *__sbin, basic_streambuf< wchar_t > *__sbout, bool &__ineof)
    template<> streamsize __copy_streambufs_eof (basic_streambuf< char >
        *__sbin, basic_streambuf< char > *__sbout, bool &__ineof)
    template<typename _CharT, typename _Traits> streamsize
        __copy_streambufs_eof (basic_streambuf< _CharT, _Traits > *,
        basic_streambuf< _CharT, _Traits > *, bool &)
    size_t __deque_buf_size (size_t __size)
    template<typename _RandomAccessIterator> iterator_traits<
        _RandomAccessIterator >::difference_type __distance
        (_RandomAccessIterator __first, _RandomAccessIterator __last,
        random_access_iterator_tag)
    template<typename _InputIterator> iterator_traits< _InputIterator
        >::difference_type __distance (_InputIterator __first,
        _InputIterator __last, input_iterator_tag)
    template<typename _II1, typename _II2> bool __equal_aux (_II1 __first1,
        _II1 __last1, _II2 __first2)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_byte< _Tp
        >::__value, void >::__type __fill_a (_Tp *__first, _Tp *__last,
        const _Tp &__c)
    template<typename _ForwardIterator, typename _Tp>
        __gnu_cxx::__enable_if<!__is_scalar< _Tp >::__value, void >::__type
        __fill_a (_ForwardIterator __first, _ForwardIterator __last, const
        _Tp &__value)
    void __fill_bvector (_Bit_iterator __first, _Bit_iterator __last, bool
        __x)
    template<typename _Size, typename _Tp> __gnu_cxx::__enable_if<
        __is_byte< _Tp >::__value, _Tp * >::__type __fill_n_a (_Tp
        *__first, _Size __n, const _Tp &__c)
    template<typename _OutputIterator, typename _Size, typename _Tp>
        __gnu_cxx::__enable_if<!__is_scalar< _Tp >::__value,
        _OutputIterator >::__type __fill_n_a (_OutputIterator __first,
        _Size __n, const _Tp &__value)
    template<typename _RandomAccessIterator, typename _Compare> void
        __final_insertion_sort (_RandomAccessIterator __first,
        _RandomAccessIterator __last, _Compare __comp)
    template<typename _RandomAccessIterator> void __final_insertion_sort
        (_RandomAccessIterator __first, _RandomAccessIterator __last)
    template<typename _RandomAccessIterator, typename _Tp>
        _RandomAccessIterator __find (_RandomAccessIterator __first,
        _RandomAccessIterator __last, const _Tp &__val,
        random_access_iterator_tag)
    template<typename _InputIterator, typename _Tp> _InputIterator __find
        (_InputIterator __first, _InputIterator __last, const _Tp &__val,
        input_iterator_tag)
    template<typename _BidirectionalIterator1, typename
        _BidirectionalIterator2, typename _BinaryPredicate>
        _BidirectionalIterator1 __find_end (_BidirectionalIterator1
        __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2
        __first2, _BidirectionalIterator2 __last2,
        bidirectional_iterator_tag, bidirectional_iterator_tag,
        _BinaryPredicate __comp)
    template<typename _BidirectionalIterator1, typename
        _BidirectionalIterator2> _BidirectionalIterator1 __find_end
        (_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1,
        _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2,
        bidirectional_iterator_tag, bidirectional_iterator_tag)
    template<typename _ForwardIterator1, typename _ForwardIterator2,
        typename _BinaryPredicate> _ForwardIterator1 __find_end
        (_ForwardIterator1 __first1, _ForwardIterator1 __last1,
        _ForwardIterator2 __first2, _ForwardIterator2 __last2,
        forward_iterator_tag, forward_iterator_tag, _BinaryPredicate
        __comp)
    template<typename _ForwardIterator1, typename _ForwardIterator2>
        _ForwardIterator1 __find_end (_ForwardIterator1 __first1,
        _ForwardIterator1 __last1, _ForwardIterator2 __first2,
        _ForwardIterator2 __last2, forward_iterator_tag,
        forward_iterator_tag)
    template<typename _RandomAccessIterator, typename _Predicate>
        _RandomAccessIterator __find_if (_RandomAccessIterator __first,
        _RandomAccessIterator __last, _Predicate __pred,
        random_access_iterator_tag)
    template<typename _InputIterator, typename _Predicate> _InputIterator
        __find_if (_InputIterator __first, _InputIterator __last,
        _Predicate __pred, input_iterator_tag)
    template<typename _EuclideanRingElement> _EuclideanRingElement __gcd
        (_EuclideanRingElement __m, _EuclideanRingElement __n)
    template<int __i, typename _Head, typename... _Tail> __add_c_ref< _Head
        >::type __get_helper (const _Tuple_impl< __i, _Head, _Tail...>
        &__t)
    template<int __i, typename _Head, typename... _Tail> __add_ref< _Head
        >::type __get_helper (_Tuple_impl< __i, _Head, _Tail...> &__t)
    template<typename _RandomAccessIterator, typename _Compare> void
        __heap_select (_RandomAccessIterator __first, _RandomAccessIterator
        __middle, _RandomAccessIterator __last, _Compare __comp)
    template<typename _RandomAccessIterator> void __heap_select
        (_RandomAccessIterator __first, _RandomAccessIterator __middle,
        _RandomAccessIterator __last)
    template<typename _Tp> size_t __iconv_adaptor (size_t(*__func)(iconv_t,
        _Tp, size_t *, char **, size_t *), iconv_t __cd, char **__inbuf,
        size_t *__inbytes, char **__outbuf, size_t *__outbytes)
    template<typename _ForwardIterator, typename _Predicate, typename
        _Distance> _ForwardIterator __inplace_stable_partition
        (_ForwardIterator __first, _ForwardIterator __last, _Predicate
        __pred, _Distance __len)
    template<typename _RandomAccessIterator, typename _Compare> void
        __inplace_stable_sort (_RandomAccessIterator __first,
        _RandomAccessIterator __last, _Compare __comp)
    template<typename _RandomAccessIterator> void __inplace_stable_sort
        (_RandomAccessIterator __first, _RandomAccessIterator __last)
    template<typename _RandomAccessIterator, typename _Compare> void
        __insertion_sort (_RandomAccessIterator __first,
        _RandomAccessIterator __last, _Compare __comp)
    template<typename _RandomAccessIterator> void __insertion_sort
        (_RandomAccessIterator __first, _RandomAccessIterator __last)
    template<typename _CharT, typename _ValueT> _GLIBCXX_END_LDBL_NAMESPACE
        int __int_to_char (_CharT *__bufend, _ValueT __v, const _CharT
        *__lit, ios_base::fmtflags __flags, bool __dec)
    template<typename _RandomAccessIterator, typename _Size, typename
        _Compare> void __introselect (_RandomAccessIterator __first,
        _RandomAccessIterator __nth, _RandomAccessIterator __last, _Size
        __depth_limit, _Compare __comp)
    template<typename _RandomAccessIterator, typename _Size> void
        __introselect (_RandomAccessIterator __first, _RandomAccessIterator
        __nth, _RandomAccessIterator __last, _Size __depth_limit)
    template<typename _RandomAccessIterator, typename _Size, typename
        _Compare> void __introsort_loop (_RandomAccessIterator __first,
        _RandomAccessIterator __last, _Size __depth_limit, _Compare __comp)
    template<typename _RandomAccessIterator, typename _Size> void
        __introsort_loop (_RandomAccessIterator __first,
        _RandomAccessIterator __last, _Size __depth_limit)
    template<typename _Functor, typename... _Args> __gnu_cxx::__enable_if<
        (is_pointer< _Functor >::value &&is_function< typename
        remove_pointer< _Functor >::type >::value), typename result_of<
        _Functor(_Args...)>::type >::__type __invoke (_Functor __f, _Args
        &...__args)
    template<typename _Functor, typename... _Args> __gnu_cxx::__enable_if<
        (!is_member_pointer< _Functor >::value &&!is_function< _Functor
        >::value &&!is_function< typename remove_pointer< _Functor >::type
        >::value), typename result_of< _Functor(_Args...)>::type >::__type
        __invoke (_Functor &__f, _Args &...__args)
    template<typename _RandomAccessIterator, typename _Compare> bool
        __is_heap (_RandomAccessIterator __first, _RandomAccessIterator
        __last, _Compare __comp)
    template<typename _RandomAccessIterator> bool __is_heap
        (_RandomAccessIterator __first, _RandomAccessIterator __last)
    template<typename _RandomAccessIterator, typename _Compare, typename
        _Distance> bool __is_heap (_RandomAccessIterator __first, _Compare
        __comp, _Distance __n)
    template<typename _RandomAccessIterator, typename _Distance> bool
        __is_heap (_RandomAccessIterator __first, _Distance __n)
    template<typename _RandomAccessIterator, typename _Distance, typename
        _Compare> _Distance __is_heap_until (_RandomAccessIterator __first,
        _Distance __n, _Compare __comp)
    template<typename _RandomAccessIterator, typename _Distance> _Distance
        __is_heap_until (_RandomAccessIterator __first, _Distance __n)
    template<typename _Iter> iterator_traits< _Iter >::iterator_category
        __iterator_category (const _Iter &)
    template<typename _II1, typename _II2> bool
        __lexicographical_compare_aux (_II1 __first1, _II1 __last1, _II2
        __first2, _II2 __last2)
    long long __lg (long long __n)
    long __lg (long __n)
    int __lg (int __n)
    template<typename _Size> _Size __lg (_Size __n)
    template<typename _Tp, typename _Compare> const _Tp & __median (const
        _Tp &__a, const _Tp &__b, const _Tp &__c, _Compare __comp)
    template<typename _Tp> const _Tp & __median (const _Tp &__a, const _Tp
        &__b, const _Tp &__c)
    template<typename _BidirectionalIterator, typename _Distance, typename
        _Pointer, typename _Compare> void __merge_adaptive
        (_BidirectionalIterator __first, _BidirectionalIterator __middle,
        _BidirectionalIterator __last, _Distance __len1, _Distance __len2,
        _Pointer __buffer, _Distance __buffer_size, _Compare __comp)
    template<typename _BidirectionalIterator, typename _Distance, typename
        _Pointer> void __merge_adaptive (_BidirectionalIterator __first,
        _BidirectionalIterator __middle, _BidirectionalIterator __last,
        _Distance __len1, _Distance __len2, _Pointer __buffer, _Distance
        __buffer_size)
    template<typename _BidirectionalIterator1, typename
        _BidirectionalIterator2, typename _BidirectionalIterator3, typename
        _Compare> _BidirectionalIterator3 __merge_backward
        (_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1,
        _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2,
        _BidirectionalIterator3 __result, _Compare __comp)
    template<typename _BidirectionalIterator1, typename
        _BidirectionalIterator2, typename _BidirectionalIterator3>
        _BidirectionalIterator3 __merge_backward (_BidirectionalIterator1
        __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2
        __first2, _BidirectionalIterator2 __last2, _BidirectionalIterator3
        __result)
    template<typename _RandomAccessIterator1, typename
        _RandomAccessIterator2, typename _Distance, typename _Compare> void
        __merge_sort_loop (_RandomAccessIterator1 __first,
        _RandomAccessIterator1 __last, _RandomAccessIterator2 __result,
        _Distance __step_size, _Compare __comp)
    template<typename _RandomAccessIterator1, typename
        _RandomAccessIterator2, typename _Distance> void __merge_sort_loop
        (_RandomAccessIterator1 __first, _RandomAccessIterator1 __last,
        _RandomAccessIterator2 __result, _Distance __step_size)
    template<typename _RandomAccessIterator, typename _Pointer, typename
        _Compare> void __merge_sort_with_buffer (_RandomAccessIterator
        __first, _RandomAccessIterator __last, _Pointer __buffer, _Compare
        __comp)
    template<typename _RandomAccessIterator, typename _Pointer> void
        __merge_sort_with_buffer (_RandomAccessIterator __first,
        _RandomAccessIterator __last, _Pointer __buffer)
    template<typename _BidirectionalIterator, typename _Distance, typename
        _Compare> void __merge_without_buffer (_BidirectionalIterator
        __first, _BidirectionalIterator __middle, _BidirectionalIterator
        __last, _Distance __len1, _Distance __len2, _Compare __comp)
    template<typename _BidirectionalIterator, typename _Distance> void
        __merge_without_buffer (_BidirectionalIterator __first,
        _BidirectionalIterator __middle, _BidirectionalIterator __last,
        _Distance __len1, _Distance __len2)
    template<typename _CharT, typename _Traits> void __ostream_fill
        (basic_ostream< _CharT, _Traits > &__out, streamsize __n)
    template<typename _CharT, typename _Traits> basic_ostream< _CharT,
        _Traits > & __ostream_insert (basic_ostream< _CharT, _Traits >
        &__out, const _CharT *__s, streamsize __n)
    template<typename _CharT, typename _Traits> void __ostream_write
        (basic_ostream< _CharT, _Traits > &__out, const _CharT *__s,
        streamsize __n)
    template<typename _BidirectionalIterator, typename _Predicate>
        _BidirectionalIterator __partition (_BidirectionalIterator __first,
        _BidirectionalIterator __last, _Predicate __pred,
        bidirectional_iterator_tag)
    template<typename _ForwardIterator, typename _Predicate>
        _ForwardIterator __partition (_ForwardIterator __first,
        _ForwardIterator __last, _Predicate __pred, forward_iterator_tag)
    template<typename _RandomAccessIterator, typename _Compare> void
        __pop_heap (_RandomAccessIterator __first, _RandomAccessIterator
        __last, _RandomAccessIterator __result, _Compare __comp)
    template<typename _RandomAccessIterator> void __pop_heap
        (_RandomAccessIterator __first, _RandomAccessIterator __last,
        _RandomAccessIterator __result)
    template<typename _Tp> _Tp __pow_helper (_Tp __x, int __n)
    template<typename _RandomAccessIterator, typename _Distance, typename
        _Tp, typename _Compare> void __push_heap (_RandomAccessIterator
        __first, _Distance __holeIndex, _Distance __topIndex, _Tp __value,
        _Compare __comp)
    template<typename _RandomAccessIterator, typename _Distance, typename
        _Tp> void __push_heap (_RandomAccessIterator __first, _Distance
        __holeIndex, _Distance __topIndex, _Tp __value)
    template<typename _RandomAccessIterator> void __reverse
        (_RandomAccessIterator __first, _RandomAccessIterator __last,
        random_access_iterator_tag)
    template<typename _BidirectionalIterator> void __reverse
        (_BidirectionalIterator __first, _BidirectionalIterator __last,
        bidirectional_iterator_tag)
    template<typename _RandomAccessIterator> void __rotate
        (_RandomAccessIterator __first, _RandomAccessIterator __middle,
        _RandomAccessIterator __last, random_access_iterator_tag)
    template<typename _BidirectionalIterator> void __rotate
        (_BidirectionalIterator __first, _BidirectionalIterator __middle,
        _BidirectionalIterator __last, bidirectional_iterator_tag)
    template<typename _ForwardIterator> void __rotate (_ForwardIterator
        __first, _ForwardIterator __middle, _ForwardIterator __last,
        forward_iterator_tag)
    template<typename _BidirectionalIterator1, typename
        _BidirectionalIterator2, typename _Distance>
        _BidirectionalIterator1 __rotate_adaptive (_BidirectionalIterator1
        __first, _BidirectionalIterator1 __middle, _BidirectionalIterator1
        __last, _Distance __len1, _Distance __len2, _BidirectionalIterator2
        __buffer, _Distance __buffer_size)
    template<typename _RandomAccessIter, typename _Integer, typename _Tp,
        typename _BinaryPredicate> _RandomAccessIter __search_n
        (_RandomAccessIter __first, _RandomAccessIter __last, _Integer
        __count, const _Tp &__val, _BinaryPredicate __binary_pred,
        std::random_access_iterator_tag)
    template<typename _ForwardIterator, typename _Integer, typename _Tp,
        typename _BinaryPredicate> _ForwardIterator __search_n
        (_ForwardIterator __first, _ForwardIterator __last, _Integer
        __count, const _Tp &__val, _BinaryPredicate __binary_pred,
        std::forward_iterator_tag)
    template<typename _RandomAccessIter, typename _Integer, typename _Tp>
        _RandomAccessIter __search_n (_RandomAccessIter __first,
        _RandomAccessIter __last, _Integer __count, const _Tp &__val,
        std::random_access_iterator_tag)
    template<typename _ForwardIterator, typename _Integer, typename _Tp>
        _ForwardIterator __search_n (_ForwardIterator __first,
        _ForwardIterator __last, _Integer __count, const _Tp &__val,
        std::forward_iterator_tag)
    template<typename _ForwardIterator, typename _Pointer, typename
        _Predicate, typename _Distance> _ForwardIterator
        __stable_partition_adaptive (_ForwardIterator __first,
        _ForwardIterator __last, _Predicate __pred, _Distance __len,
        _Pointer __buffer, _Distance __buffer_size)
    template<typename _RandomAccessIterator, typename _Pointer, typename
        _Distance, typename _Compare> void __stable_sort_adaptive
        (_RandomAccessIterator __first, _RandomAccessIterator __last,
        _Pointer __buffer, _Distance __buffer_size, _Compare __comp)
    template<typename _RandomAccessIterator, typename _Pointer, typename
        _Distance> void __stable_sort_adaptive (_RandomAccessIterator
        __first, _RandomAccessIterator __last, _Pointer __buffer, _Distance
        __buffer_size)
    void __throw_bad_alloc (void) __attribute__((__noreturn__))
    void __throw_bad_cast (void) __attribute__((__noreturn__))
    void __throw_bad_exception (void) __attribute__((__noreturn__))
    void __throw_bad_typeid (void) __attribute__((__noreturn__))
    void __throw_bad_weak_ptr ()
    void __throw_domain_error (const char *) __attribute__((__noreturn__))
    void __throw_invalid_argument (const char *)
        __attribute__((__noreturn__))
    void __throw_ios_failure (const char *) __attribute__((__noreturn__))
    void __throw_length_error (const char *) __attribute__((__noreturn__))
    void __throw_logic_error (const char *) __attribute__((__noreturn__))
    void __throw_out_of_range (const char *) __attribute__((__noreturn__))
    void __throw_overflow_error (const char *)
        __attribute__((__noreturn__))
    void __throw_range_error (const char *) __attribute__((__noreturn__))
    void __throw_runtime_error (const char *) __attribute__((__noreturn__))
    void __throw_underflow_error (const char *)
        __attribute__((__noreturn__))
    template<typename... _TElements, int... _TIdx, typename... _UElements,
        int... _UIdx> tuple< _TElements..., _UElements...>
        __tuple_cat_helper (tuple< _TElements...> &&__t, const
        __index_holder< _TIdx...> &, tuple< _UElements...> &&__u, const
        __index_holder< _UIdx...> &)
    template<typename... _TElements, int... _TIdx, typename... _UElements,
        int... _UIdx> tuple< _TElements..., _UElements...>
        __tuple_cat_helper (const tuple< _TElements...> &__t, const
        __index_holder< _TIdx...> &, tuple< _UElements...> &&__u, const
        __index_holder< _UIdx...> &)
    template<typename... _TElements, int... _TIdx, typename... _UElements,
        int... _UIdx> tuple< _TElements..., _UElements...>
        __tuple_cat_helper (tuple< _TElements...> &&__t, const
        __index_holder< _TIdx...> &, const tuple< _UElements...> &__u,
        const __index_holder< _UIdx...> &)
    template<typename... _TElements, int... _TIdx, typename... _UElements,
        int... _UIdx> tuple< _TElements..., _UElements...>
        __tuple_cat_helper (const tuple< _TElements...> &__t, const
        __index_holder< _TIdx...> &, const tuple< _UElements...> &__u,
        const __index_holder< _UIdx...> &)
    template<typename _RandomAccessIterator, typename _Compare> void
        __unguarded_insertion_sort (_RandomAccessIterator __first,
        _RandomAccessIterator __last, _Compare __comp)
    template<typename _RandomAccessIterator> void
        __unguarded_insertion_sort (_RandomAccessIterator __first,
        _RandomAccessIterator __last)
    template<typename _RandomAccessIterator, typename _Tp, typename
        _Compare> void __unguarded_linear_insert (_RandomAccessIterator
        __last, _Tp __val, _Compare __comp)
    template<typename _RandomAccessIterator, typename _Tp> void
        __unguarded_linear_insert (_RandomAccessIterator __last, _Tp __val)
    template<typename _RandomAccessIterator, typename _Tp, typename
        _Compare> _RandomAccessIterator __unguarded_partition
        (_RandomAccessIterator __first, _RandomAccessIterator __last, _Tp
        __pivot, _Compare __comp)
    template<typename _RandomAccessIterator, typename _Tp>
        _RandomAccessIterator __unguarded_partition (_RandomAccessIterator
        __first, _RandomAccessIterator __last, _Tp __pivot)
    template<typename _InputIterator, typename _ForwardIterator, typename
        _Tp> _ForwardIterator __uninitialized_copy_a (_InputIterator
        __first, _InputIterator __last, _ForwardIterator __result,
        allocator< _Tp > &)
    template<typename _InputIterator, typename _ForwardIterator, typename
        _Allocator> _ForwardIterator __uninitialized_copy_a (_InputIterator
        __first, _InputIterator __last, _ForwardIterator __result,
        _Allocator &__alloc)
    template<typename _InputIterator1, typename _InputIterator2, typename
        _ForwardIterator, typename _Allocator> _ForwardIterator
        __uninitialized_copy_move (_InputIterator1 __first1,
        _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2
        __last2, _ForwardIterator __result, _Allocator &__alloc)
    template<typename _ForwardIterator, typename _Tp, typename _Tp2> void
        __uninitialized_fill_a (_ForwardIterator __first, _ForwardIterator
        __last, const _Tp &__x, allocator< _Tp2 > &)
    template<typename _ForwardIterator, typename _Tp, typename _Allocator>
        void __uninitialized_fill_a (_ForwardIterator __first,
        _ForwardIterator __last, const _Tp &__x, _Allocator &__alloc)
    template<typename _ForwardIterator, typename _Tp, typename
        _InputIterator, typename _Allocator> _ForwardIterator
        __uninitialized_fill_move (_ForwardIterator __result,
        _ForwardIterator __mid, const _Tp &__x, _InputIterator __first,
        _InputIterator __last, _Allocator &__alloc)
    template<typename _ForwardIterator, typename _Size, typename _Tp,
        typename _Tp2> void __uninitialized_fill_n_a (_ForwardIterator
        __first, _Size __n, const _Tp &__x, allocator< _Tp2 > &)
    template<typename _ForwardIterator, typename _Size, typename _Tp,
        typename _Allocator> void __uninitialized_fill_n_a
        (_ForwardIterator __first, _Size __n, const _Tp &__x, _Allocator
        &__alloc)
    template<typename _InputIterator, typename _ForwardIterator, typename
        _Allocator> _ForwardIterator __uninitialized_move_a (_InputIterator
        __first, _InputIterator __last, _ForwardIterator __result,
        _Allocator &__alloc)
    template<typename _InputIterator1, typename _InputIterator2, typename
        _ForwardIterator, typename _Allocator> _ForwardIterator
        __uninitialized_move_copy (_InputIterator1 __first1,
        _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2
        __last2, _ForwardIterator __result, _Allocator &__alloc)
    template<typename _InputIterator, typename _ForwardIterator, typename
        _Tp, typename _Allocator> void __uninitialized_move_fill
        (_InputIterator __first1, _InputIterator __last1, _ForwardIterator
        __first2, _ForwardIterator __last2, const _Tp &__x, _Allocator
        &__alloc)
    template<typename _InputIterator, typename _ForwardIterator, typename
        _BinaryPredicate> _ForwardIterator __unique_copy (_InputIterator
        __first, _InputIterator __last, _ForwardIterator __result,
        _BinaryPredicate __binary_pred, input_iterator_tag,
        forward_iterator_tag)
    template<typename _InputIterator, typename _OutputIterator, typename
        _BinaryPredicate> _OutputIterator __unique_copy (_InputIterator
        __first, _InputIterator __last, _OutputIterator __result,
        _BinaryPredicate __binary_pred, input_iterator_tag,
        output_iterator_tag)
    template<typename _ForwardIterator, typename _OutputIterator, typename
        _BinaryPredicate> _OutputIterator __unique_copy (_ForwardIterator
        __first, _ForwardIterator __last, _OutputIterator __result,
        _BinaryPredicate __binary_pred, forward_iterator_tag,
        output_iterator_tag)
    template<typename _InputIterator, typename _ForwardIterator>
        _ForwardIterator __unique_copy (_InputIterator __first,
        _InputIterator __last, _ForwardIterator __result,
        input_iterator_tag, forward_iterator_tag)
    template<typename _InputIterator, typename _OutputIterator>
        _OutputIterator __unique_copy (_InputIterator __first,
        _InputIterator __last, _OutputIterator __result,
        input_iterator_tag, output_iterator_tag)
    template<typename _ForwardIterator, typename _OutputIterator>
        _OutputIterator __unique_copy (_ForwardIterator __first,
        _ForwardIterator __last, _OutputIterator __result,
        forward_iterator_tag, output_iterator_tag)
    template<typename _Tp, class _Dom> void __valarray_copy (const _Expr<
        _Dom, _Tp > &__e, size_t __n, _Array< _Tp > __a, _Array< bool >
        __m)
    template<typename _Tp> void __valarray_copy (_Array< _Tp > __e, _Array<
        size_t > __f, size_t __n, _Array< _Tp > __a, _Array< size_t > __i)
    template<typename _Tp, class _Dom> void __valarray_copy (const _Expr<
        _Dom, _Tp > &__e, size_t __n, _Array< _Tp > __a, _Array< size_t >
        __i)
    template<typename _Tp, class _Dom> void __valarray_copy (const _Expr<
        _Dom, _Tp > &__e, size_t __n, _Array< _Tp > __a, size_t __s)
    template<typename _Tp, class _Dom> void __valarray_copy (const _Expr<
        _Dom, _Tp > &__e, size_t __n, _Array< _Tp > __a)
    template<typename _Tp> void __valarray_copy (_Array< _Tp > __a, _Array<
        bool > __m, size_t __n, _Array< _Tp > __b, _Array< bool > __k)
    template<typename _Tp> void __valarray_copy (_Array< _Tp > __a, size_t
        __n, _Array< _Tp > __b, _Array< bool > __m)
    template<typename _Tp> void __valarray_copy (_Array< _Tp > __a, _Array<
        bool > __m, _Array< _Tp > __b, size_t __n)
    template<typename _Tp> void __valarray_copy (_Array< _Tp > __src,
        size_t __n, _Array< size_t > __i, _Array< _Tp > __dst, _Array<
        size_t > __j)
    template<typename _Tp> void __valarray_copy (_Array< _Tp > __a, size_t
        __n, _Array< _Tp > __b, _Array< size_t > __i)
    template<typename _Tp> void __valarray_copy (_Array< _Tp > __a, _Array<
        size_t > __i, _Array< _Tp > __b, size_t __n)
    template<typename _Tp> void __valarray_copy (_Array< _Tp > __a, size_t
        __n, size_t __s1, _Array< _Tp > __b, size_t __s2)
    template<typename _Tp> void __valarray_copy (_Array< _Tp > __a, _Array<
        _Tp > __b, size_t __n, size_t __s)
    template<typename _Tp> void __valarray_copy (_Array< _Tp > __a, size_t
        __n, size_t __s, _Array< _Tp > __b)
    template<typename _Tp> void __valarray_copy (_Array< _Tp > __a, size_t
        __n, _Array< _Tp > __b)
    template<typename _Tp> void __valarray_copy (const _Tp *__restrict__
        __src, size_t __n, const size_t *__restrict__ __i, _Tp
        *__restrict__ __dst, const size_t *__restrict__ __j)
    template<typename _Tp> void __valarray_copy (const _Tp *__restrict__
        __a, size_t __n, _Tp *__restrict__ __b, const size_t *__restrict__
        __i)
    template<typename _Tp> void __valarray_copy (const _Tp *__restrict__
        __a, const size_t *__restrict__ __i, _Tp *__restrict__ __b, size_t
        __n)
    template<typename _Tp> void __valarray_copy (const _Tp *__restrict__
        __src, size_t __n, size_t __s1, _Tp *__restrict__ __dst, size_t
        __s2)
    template<typename _Tp> void __valarray_copy (const _Tp *__restrict__
        __a, _Tp *__restrict__ __b, size_t __n, size_t __s)
    template<typename _Tp> void __valarray_copy (const _Tp *__restrict__
        __a, size_t __n, size_t __s, _Tp *__restrict__ __b)
    template<typename _Tp> void __valarray_copy (const _Tp *__restrict__
        __a, size_t __n, _Tp *__restrict__ __b)
    template<typename _Tp> void __valarray_copy_construct (_Array< _Tp >
        __a, _Array< bool > __m, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void __valarray_copy_construct
        (const _Expr< _Dom, _Tp > &__e, size_t __n, _Array< _Tp > __a)
    template<typename _Tp> void __valarray_copy_construct (_Array< _Tp >
        __a, size_t __n, size_t __s, _Array< _Tp > __b)
    template<typename _Tp> void __valarray_copy_construct (_Array< _Tp >
        __a, _Array< size_t > __i, _Array< _Tp > __b, size_t __n)
    template<typename _Tp> void __valarray_copy_construct (const _Tp
        *__restrict__ __a, const size_t *__restrict__ __i, _Tp
        *__restrict__ __o, size_t __n)
    template<typename _Tp> void __valarray_copy_construct (const _Tp
        *__restrict__ __a, size_t __n, size_t __s, _Tp *__restrict__ __o)
    template<typename _Tp> void __valarray_copy_construct (const _Tp
        *__restrict__ __b, const _Tp *__restrict__ __e, _Tp *__restrict__
        __o)
    template<typename _Tp> void __valarray_default_construct (_Tp
        *__restrict__ __b, _Tp *__restrict__ __e)
    template<typename _Tp> void __valarray_destroy_elements (_Tp
        *__restrict__ __b, _Tp *__restrict__ __e)
    template<typename _Tp> void __valarray_fill (_Array< _Tp > __a, size_t
        __n, _Array< bool > __m, const _Tp &__t)
    template<typename _Tp> void __valarray_fill (_Array< _Tp > __a, _Array<
        size_t > __i, size_t __n, const _Tp &__t)
    template<typename _Tp> void __valarray_fill (_Array< _Tp > __a, size_t
        __n, size_t __s, const _Tp &__t)
    template<typename _Tp> void __valarray_fill (_Array< _Tp > __a, size_t
        __n, const _Tp &__t)
    template<typename _Tp> void __valarray_fill (_Tp *__restrict__ __a,
        const size_t *__restrict__ __i, size_t __n, const _Tp &__t)
    template<typename _Tp> void __valarray_fill (_Tp *__restrict__ __a,
        size_t __n, size_t __s, const _Tp &__t)
    template<typename _Tp> void __valarray_fill (_Tp *__restrict__ __a,
        size_t __n, const _Tp &__t)
    template<typename _Tp> void __valarray_fill_construct (_Tp
        *__restrict__ __b, _Tp *__restrict__ __e, const _Tp __t)
    void * __valarray_get_memory (size_t __n)
    template<typename _Tp> _Tp *__restrict__ __valarray_get_storage (size_t
        __n)
    template<typename _Ta> _Ta::value_type __valarray_max (const _Ta &__a)
    template<typename _Ta> _Ta::value_type __valarray_min (const _Ta &__a)
    template<typename _Tp> _Tp __valarray_product (const _Tp *__restrict__
        __f, const _Tp *__restrict__ __l)
    void __valarray_release_memory (void *__p)
    template<typename _Tp> _Tp __valarray_sum (const _Tp *__restrict__ __f,
        const _Tp *__restrict__ __l)
    bool __verify_grouping (const char *__grouping, size_t __grouping_size,
        const string &__grouping_tmp)
    template<typename _CharT, typename _OutIter> _OutIter __write (_OutIter
        __s, const _CharT *__ws, int __len)
    template<typename _CharT> ostreambuf_iterator< _CharT > __write
        (ostreambuf_iterator< _CharT > __s, const _CharT *__ws, int __len)
    template<typename _Tp, class _Dom> void _Array_augmented___bitwise_and
        (_Array< _Tp > __a, _Array< bool > __m, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___bitwise_and (_Array< _Tp
        > __a, size_t __n, _Array< _Tp > __b, _Array< bool > __m)
    template<typename _Tp> void _Array_augmented___bitwise_and (_Array< _Tp
        > __a, _Array< bool > __m, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___bitwise_and
        (_Array< _Tp > __a, _Array< size_t > __i, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___bitwise_and (_Array< _Tp
        > __a, size_t __n, _Array< _Tp > __b, _Array< size_t > __i)
    template<typename _Tp> void _Array_augmented___bitwise_and (_Array< _Tp
        > __a, _Array< size_t > __i, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___bitwise_and
        (_Array< _Tp > __a, size_t __s, const _Expr< _Dom, _Tp > &__e,
        size_t __n)
    template<typename _Tp> void _Array_augmented___bitwise_and (_Array< _Tp
        > __a, _Array< _Tp > __b, size_t __n, size_t __s)
    template<typename _Tp> void _Array_augmented___bitwise_and (_Array< _Tp
        > __a, size_t __n, size_t __s, _Array< _Tp > __b)
    template<typename _Tp, class _Dom> void _Array_augmented___bitwise_and
        (_Array< _Tp > __a, const _Expr< _Dom, _Tp > &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___bitwise_and (_Array< _Tp
        > __a, size_t __n, _Array< _Tp > __b)
    template<typename _Tp> void _Array_augmented___bitwise_and (_Array< _Tp
        > __a, size_t __n, const _Tp &__t)
    template<typename _Tp, class _Dom> void _Array_augmented___bitwise_or
        (_Array< _Tp > __a, _Array< bool > __m, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___bitwise_or (_Array< _Tp
        > __a, size_t __n, _Array< _Tp > __b, _Array< bool > __m)
    template<typename _Tp> void _Array_augmented___bitwise_or (_Array< _Tp
        > __a, _Array< bool > __m, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___bitwise_or
        (_Array< _Tp > __a, _Array< size_t > __i, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___bitwise_or (_Array< _Tp
        > __a, size_t __n, _Array< _Tp > __b, _Array< size_t > __i)
    template<typename _Tp> void _Array_augmented___bitwise_or (_Array< _Tp
        > __a, _Array< size_t > __i, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___bitwise_or
        (_Array< _Tp > __a, size_t __s, const _Expr< _Dom, _Tp > &__e,
        size_t __n)
    template<typename _Tp> void _Array_augmented___bitwise_or (_Array< _Tp
        > __a, _Array< _Tp > __b, size_t __n, size_t __s)
    template<typename _Tp> void _Array_augmented___bitwise_or (_Array< _Tp
        > __a, size_t __n, size_t __s, _Array< _Tp > __b)
    template<typename _Tp, class _Dom> void _Array_augmented___bitwise_or
        (_Array< _Tp > __a, const _Expr< _Dom, _Tp > &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___bitwise_or (_Array< _Tp
        > __a, size_t __n, _Array< _Tp > __b)
    template<typename _Tp> void _Array_augmented___bitwise_or (_Array< _Tp
        > __a, size_t __n, const _Tp &__t)
    template<typename _Tp, class _Dom> void _Array_augmented___bitwise_xor
        (_Array< _Tp > __a, _Array< bool > __m, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___bitwise_xor (_Array< _Tp
        > __a, size_t __n, _Array< _Tp > __b, _Array< bool > __m)
    template<typename _Tp> void _Array_augmented___bitwise_xor (_Array< _Tp
        > __a, _Array< bool > __m, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___bitwise_xor
        (_Array< _Tp > __a, _Array< size_t > __i, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___bitwise_xor (_Array< _Tp
        > __a, size_t __n, _Array< _Tp > __b, _Array< size_t > __i)
    template<typename _Tp> void _Array_augmented___bitwise_xor (_Array< _Tp
        > __a, _Array< size_t > __i, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___bitwise_xor
        (_Array< _Tp > __a, size_t __s, const _Expr< _Dom, _Tp > &__e,
        size_t __n)
    template<typename _Tp> void _Array_augmented___bitwise_xor (_Array< _Tp
        > __a, _Array< _Tp > __b, size_t __n, size_t __s)
    template<typename _Tp> void _Array_augmented___bitwise_xor (_Array< _Tp
        > __a, size_t __n, size_t __s, _Array< _Tp > __b)
    template<typename _Tp, class _Dom> void _Array_augmented___bitwise_xor
        (_Array< _Tp > __a, const _Expr< _Dom, _Tp > &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___bitwise_xor (_Array< _Tp
        > __a, size_t __n, _Array< _Tp > __b)
    template<typename _Tp> void _Array_augmented___bitwise_xor (_Array< _Tp
        > __a, size_t __n, const _Tp &__t)
    template<typename _Tp, class _Dom> void _Array_augmented___divides
        (_Array< _Tp > __a, _Array< bool > __m, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___divides (_Array< _Tp >
        __a, size_t __n, _Array< _Tp > __b, _Array< bool > __m)
    template<typename _Tp> void _Array_augmented___divides (_Array< _Tp >
        __a, _Array< bool > __m, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___divides
        (_Array< _Tp > __a, _Array< size_t > __i, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___divides (_Array< _Tp >
        __a, size_t __n, _Array< _Tp > __b, _Array< size_t > __i)
    template<typename _Tp> void _Array_augmented___divides (_Array< _Tp >
        __a, _Array< size_t > __i, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___divides
        (_Array< _Tp > __a, size_t __s, const _Expr< _Dom, _Tp > &__e,
        size_t __n)
    template<typename _Tp> void _Array_augmented___divides (_Array< _Tp >
        __a, _Array< _Tp > __b, size_t __n, size_t __s)
    template<typename _Tp> void _Array_augmented___divides (_Array< _Tp >
        __a, size_t __n, size_t __s, _Array< _Tp > __b)
    template<typename _Tp, class _Dom> void _Array_augmented___divides
        (_Array< _Tp > __a, const _Expr< _Dom, _Tp > &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___divides (_Array< _Tp >
        __a, size_t __n, _Array< _Tp > __b)
    template<typename _Tp> void _Array_augmented___divides (_Array< _Tp >
        __a, size_t __n, const _Tp &__t)
    template<typename _Tp, class _Dom> void _Array_augmented___minus
        (_Array< _Tp > __a, _Array< bool > __m, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___minus (_Array< _Tp >
        __a, size_t __n, _Array< _Tp > __b, _Array< bool > __m)
    template<typename _Tp> void _Array_augmented___minus (_Array< _Tp >
        __a, _Array< bool > __m, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___minus
        (_Array< _Tp > __a, _Array< size_t > __i, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___minus (_Array< _Tp >
        __a, size_t __n, _Array< _Tp > __b, _Array< size_t > __i)
    template<typename _Tp> void _Array_augmented___minus (_Array< _Tp >
        __a, _Array< size_t > __i, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___minus
        (_Array< _Tp > __a, size_t __s, const _Expr< _Dom, _Tp > &__e,
        size_t __n)
    template<typename _Tp> void _Array_augmented___minus (_Array< _Tp >
        __a, _Array< _Tp > __b, size_t __n, size_t __s)
    template<typename _Tp> void _Array_augmented___minus (_Array< _Tp >
        __a, size_t __n, size_t __s, _Array< _Tp > __b)
    template<typename _Tp, class _Dom> void _Array_augmented___minus
        (_Array< _Tp > __a, const _Expr< _Dom, _Tp > &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___minus (_Array< _Tp >
        __a, size_t __n, _Array< _Tp > __b)
    template<typename _Tp> void _Array_augmented___minus (_Array< _Tp >
        __a, size_t __n, const _Tp &__t)
    template<typename _Tp, class _Dom> void _Array_augmented___modulus
        (_Array< _Tp > __a, _Array< bool > __m, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___modulus (_Array< _Tp >
        __a, size_t __n, _Array< _Tp > __b, _Array< bool > __m)
    template<typename _Tp> void _Array_augmented___modulus (_Array< _Tp >
        __a, _Array< bool > __m, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___modulus
        (_Array< _Tp > __a, _Array< size_t > __i, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___modulus (_Array< _Tp >
        __a, size_t __n, _Array< _Tp > __b, _Array< size_t > __i)
    template<typename _Tp> void _Array_augmented___modulus (_Array< _Tp >
        __a, _Array< size_t > __i, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___modulus
        (_Array< _Tp > __a, size_t __s, const _Expr< _Dom, _Tp > &__e,
        size_t __n)
    template<typename _Tp> void _Array_augmented___modulus (_Array< _Tp >
        __a, _Array< _Tp > __b, size_t __n, size_t __s)
    template<typename _Tp> void _Array_augmented___modulus (_Array< _Tp >
        __a, size_t __n, size_t __s, _Array< _Tp > __b)
    template<typename _Tp, class _Dom> void _Array_augmented___modulus
        (_Array< _Tp > __a, const _Expr< _Dom, _Tp > &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___modulus (_Array< _Tp >
        __a, size_t __n, _Array< _Tp > __b)
    template<typename _Tp> void _Array_augmented___modulus (_Array< _Tp >
        __a, size_t __n, const _Tp &__t)
    template<typename _Tp, class _Dom> void _Array_augmented___multiplies
        (_Array< _Tp > __a, _Array< bool > __m, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___multiplies (_Array< _Tp
        > __a, size_t __n, _Array< _Tp > __b, _Array< bool > __m)
    template<typename _Tp> void _Array_augmented___multiplies (_Array< _Tp
        > __a, _Array< bool > __m, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___multiplies
        (_Array< _Tp > __a, _Array< size_t > __i, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___multiplies (_Array< _Tp
        > __a, size_t __n, _Array< _Tp > __b, _Array< size_t > __i)
    template<typename _Tp> void _Array_augmented___multiplies (_Array< _Tp
        > __a, _Array< size_t > __i, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___multiplies
        (_Array< _Tp > __a, size_t __s, const _Expr< _Dom, _Tp > &__e,
        size_t __n)
    template<typename _Tp> void _Array_augmented___multiplies (_Array< _Tp
        > __a, _Array< _Tp > __b, size_t __n, size_t __s)
    template<typename _Tp> void _Array_augmented___multiplies (_Array< _Tp
        > __a, size_t __n, size_t __s, _Array< _Tp > __b)
    template<typename _Tp, class _Dom> void _Array_augmented___multiplies
        (_Array< _Tp > __a, const _Expr< _Dom, _Tp > &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___multiplies (_Array< _Tp
        > __a, size_t __n, _Array< _Tp > __b)
    template<typename _Tp> void _Array_augmented___multiplies (_Array< _Tp
        > __a, size_t __n, const _Tp &__t)
    template<typename _Tp, class _Dom> void _Array_augmented___plus
        (_Array< _Tp > __a, _Array< bool > __m, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___plus (_Array< _Tp > __a,
        size_t __n, _Array< _Tp > __b, _Array< bool > __m)
    template<typename _Tp> void _Array_augmented___plus (_Array< _Tp > __a,
        _Array< bool > __m, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___plus
        (_Array< _Tp > __a, _Array< size_t > __i, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___plus (_Array< _Tp > __a,
        size_t __n, _Array< _Tp > __b, _Array< size_t > __i)
    template<typename _Tp> void _Array_augmented___plus (_Array< _Tp > __a,
        _Array< size_t > __i, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___plus
        (_Array< _Tp > __a, size_t __s, const _Expr< _Dom, _Tp > &__e,
        size_t __n)
    template<typename _Tp> void _Array_augmented___plus (_Array< _Tp > __a,
        _Array< _Tp > __b, size_t __n, size_t __s)
    template<typename _Tp> void _Array_augmented___plus (_Array< _Tp > __a,
        size_t __n, size_t __s, _Array< _Tp > __b)
    template<typename _Tp, class _Dom> void _Array_augmented___plus
        (_Array< _Tp > __a, const _Expr< _Dom, _Tp > &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___plus (_Array< _Tp > __a,
        size_t __n, _Array< _Tp > __b)
    template<typename _Tp> void _Array_augmented___plus (_Array< _Tp > __a,
        size_t __n, const _Tp &__t)
    template<typename _Tp, class _Dom> void _Array_augmented___shift_left
        (_Array< _Tp > __a, _Array< bool > __m, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___shift_left (_Array< _Tp
        > __a, size_t __n, _Array< _Tp > __b, _Array< bool > __m)
    template<typename _Tp> void _Array_augmented___shift_left (_Array< _Tp
        > __a, _Array< bool > __m, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___shift_left
        (_Array< _Tp > __a, _Array< size_t > __i, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___shift_left (_Array< _Tp
        > __a, size_t __n, _Array< _Tp > __b, _Array< size_t > __i)
    template<typename _Tp> void _Array_augmented___shift_left (_Array< _Tp
        > __a, _Array< size_t > __i, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___shift_left
        (_Array< _Tp > __a, size_t __s, const _Expr< _Dom, _Tp > &__e,
        size_t __n)
    template<typename _Tp> void _Array_augmented___shift_left (_Array< _Tp
        > __a, _Array< _Tp > __b, size_t __n, size_t __s)
    template<typename _Tp> void _Array_augmented___shift_left (_Array< _Tp
        > __a, size_t __n, size_t __s, _Array< _Tp > __b)
    template<typename _Tp, class _Dom> void _Array_augmented___shift_left
        (_Array< _Tp > __a, const _Expr< _Dom, _Tp > &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___shift_left (_Array< _Tp
        > __a, size_t __n, _Array< _Tp > __b)
    template<typename _Tp> void _Array_augmented___shift_left (_Array< _Tp
        > __a, size_t __n, const _Tp &__t)
    template<typename _Tp, class _Dom> void _Array_augmented___shift_right
        (_Array< _Tp > __a, _Array< bool > __m, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___shift_right (_Array< _Tp
        > __a, size_t __n, _Array< _Tp > __b, _Array< bool > __m)
    template<typename _Tp> void _Array_augmented___shift_right (_Array< _Tp
        > __a, _Array< bool > __m, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___shift_right
        (_Array< _Tp > __a, _Array< size_t > __i, const _Expr< _Dom, _Tp >
        &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___shift_right (_Array< _Tp
        > __a, size_t __n, _Array< _Tp > __b, _Array< size_t > __i)
    template<typename _Tp> void _Array_augmented___shift_right (_Array< _Tp
        > __a, _Array< size_t > __i, _Array< _Tp > __b, size_t __n)
    template<typename _Tp, class _Dom> void _Array_augmented___shift_right
        (_Array< _Tp > __a, size_t __s, const _Expr< _Dom, _Tp > &__e,
        size_t __n)
    template<typename _Tp> void _Array_augmented___shift_right (_Array< _Tp
        > __a, _Array< _Tp > __b, size_t __n, size_t __s)
    template<typename _Tp> void _Array_augmented___shift_right (_Array< _Tp
        > __a, size_t __n, size_t __s, _Array< _Tp > __b)
    template<typename _Tp, class _Dom> void _Array_augmented___shift_right
        (_Array< _Tp > __a, const _Expr< _Dom, _Tp > &__e, size_t __n)
    template<typename _Tp> void _Array_augmented___shift_right (_Array< _Tp
        > __a, size_t __n, _Array< _Tp > __b)
    template<typename _Tp> void _Array_augmented___shift_right (_Array< _Tp
        > __a, size_t __n, const _Tp &__t)
    template<typename _T1, typename _T2> void _Construct (_T1 *__p, const
        _T2 &__value)
    template<typename _ForwardIterator, typename _Tp> void _Destroy
        (_ForwardIterator __first, _ForwardIterator __last, allocator< _Tp
        > &)
    template<typename _ForwardIterator, typename _Allocator> void _Destroy
        (_ForwardIterator __first, _ForwardIterator __last, _Allocator
        &__alloc)
    template<typename _ForwardIterator> void _Destroy (_ForwardIterator
        __first, _ForwardIterator __last)
    template<typename _Tp> void _Destroy (_Tp *__pointer)
    unsigned int _Rb_tree_black_count (const _Rb_tree_node_base *__node,
        const _Rb_tree_node_base *__root)
    const _Rb_tree_node_base * _Rb_tree_decrement (const _Rb_tree_node_base
        *__x)
    _Rb_tree_node_base * _Rb_tree_decrement (_Rb_tree_node_base *__x)
    const _Rb_tree_node_base * _Rb_tree_increment (const _Rb_tree_node_base
        *__x)
    _Rb_tree_node_base * _Rb_tree_increment (_Rb_tree_node_base *__x)
    void _Rb_tree_insert_and_rebalance (const bool __insert_left,
        _Rb_tree_node_base *__x, _Rb_tree_node_base *__p,
        _Rb_tree_node_base &__header)
    _Rb_tree_node_base * _Rb_tree_rebalance_for_erase (_Rb_tree_node_base
        *const __z, _Rb_tree_node_base &__header)
    void abort (void)
    template<typename _Tp> _Expr< _UnClos< __abs, _ValArray, _Tp >, _Tp >
        abs (const valarray< _Tp > &__v)
    template<class _Dom> _Expr< _UnClos< __abs, _Expr, _Dom >, typename
        _Dom::value_type > abs (const _Expr< _Dom, typename
        _Dom::value_type > &__e)
    long double abs (long double __x)
    float abs (float __x)
    double abs (double __x)
    template<typename _InputIterator, typename _Tp, typename
        _BinaryOperation> _Tp accumulate (_InputIterator __first,
        _InputIterator __last, _Tp __init, _BinaryOperation __binary_op)
    template<typename _InputIterator, typename _Tp> _Tp accumulate
        (_InputIterator __first, _InputIterator __last, _Tp __init)
    template<typename _Tp> _Expr< _UnClos< __acos, _ValArray, _Tp >, _Tp >
        acos (const valarray< _Tp > &__v)
    template<class _Dom> _Expr< _UnClos< __acos, _Expr, _Dom >, typename
        _Dom::value_type > acos (const _Expr< _Dom, typename
        _Dom::value_type > &__e)
    template<typename _Tp> std::complex< _Tp > acos (const std::complex<
        _Tp > &)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_integer< _Tp
        >::__value, double >::__type acos (_Tp __x)
    long double acos (long double __x)
    float acos (float __x)
    template<typename _Tp> std::complex< _Tp > acosh (const std::complex<
        _Tp > &)
    template<typename _InputIterator, typename _OutputIterator, typename
        _BinaryOperation> _OutputIterator adjacent_difference
        (_InputIterator __first, _InputIterator __last, _OutputIterator
        __result, _BinaryOperation __binary_op)
    template<typename _InputIterator, typename _OutputIterator>
        _OutputIterator adjacent_difference (_InputIterator __first,
        _InputIterator __last, _OutputIterator __result)
    template<typename _ForwardIterator, typename _BinaryPredicate>
        _ForwardIterator adjacent_find (_ForwardIterator __first,
        _ForwardIterator __last, _BinaryPredicate __binary_pred)
    template<typename _ForwardIterator> _ForwardIterator adjacent_find
        (_ForwardIterator __first, _ForwardIterator __last)
    template<typename _FIter, typename _BinaryPredicate> _FIter
        adjacent_find (_FIter, _FIter, _BinaryPredicate)
    template<typename _FIter> _FIter adjacent_find (_FIter, _FIter)
    template<typename _InputIterator, typename _Distance> void advance
        (_InputIterator &__i, _Distance __n)
    template<typename _Tp> __gnu_cxx::__promote< _Tp >::__type arg (_Tp
        __x)
    template<typename _Tp> _Expr< _UnClos< __asin, _ValArray, _Tp >, _Tp >
        asin (const valarray< _Tp > &__v)
    template<class _Dom> _Expr< _UnClos< __asin, _Expr, _Dom >, typename
        _Dom::value_type > asin (const _Expr< _Dom, typename
        _Dom::value_type > &__e)
    template<typename _Tp> std::complex< _Tp > asin (const std::complex<
        _Tp > &)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_integer< _Tp
        >::__value, double >::__type asin (_Tp __x)
    long double asin (long double __x)
    float asin (float __x)
    template<typename _Tp> std::complex< _Tp > asinh (const std::complex<
        _Tp > &)
    template<typename _Tp> _Expr< _UnClos< __atan, _ValArray, _Tp >, _Tp >
        atan (const valarray< _Tp > &__v)
    template<class _Dom> _Expr< _UnClos< __atan, _Expr, _Dom >, typename
        _Dom::value_type > atan (const _Expr< _Dom, typename
        _Dom::value_type > &__e)
    template<typename _Tp> std::complex< _Tp > atan (const std::complex<
        _Tp > &)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_integer< _Tp
        >::__value, double >::__type atan (_Tp __x)
    long double atan (long double __x)
    float atan (float __x)
    template<typename _Tp> _Expr< _BinClos< __atan2, _Constant, _ValArray,
        _Tp, _Tp >, _Tp > atan2 (const _Tp &__t, const valarray< _Tp >
        &__v)
    template<typename _Tp> _Expr< _BinClos< __atan2, _ValArray, _Constant,
        _Tp, _Tp >, _Tp > atan2 (const valarray< _Tp > &__v, const _Tp
        &__t)
    template<typename _Tp> _Expr< _BinClos< __atan2, _ValArray, _ValArray,
        _Tp, _Tp >, _Tp > atan2 (const valarray< _Tp > &__v, const
        valarray< _Tp > &__w)
    template<class _Dom> _Expr< _BinClos< __atan2, _Constant, _Expr,
        typename _Dom::value_type, _Dom >, typename _Dom::value_type >
        atan2 (const typename _Dom::value_type &__t, const _Expr< _Dom,
        typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __atan2, _Expr, _Constant, _Dom,
        typename _Dom::value_type >, typename _Dom::value_type > atan2
        (const _Expr< _Dom, typename _Dom::value_type > &__e, const
        typename _Dom::value_type &__t)
    template<class _Dom> _Expr< _BinClos< __atan2, _ValArray, _Expr,
        typename _Dom::value_type, _Dom >, typename _Dom::value_type >
        atan2 (const valarray< typename _Dom::valarray > &__v, const _Expr<
        _Dom, typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __atan2, _Expr, _ValArray, _Dom,
        typename _Dom::value_type >, typename _Dom::value_type > atan2
        (const _Expr< _Dom, typename _Dom::value_type > &__e, const
        valarray< typename _Dom::value_type > &__v)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __atan2, _Expr,
        _Expr, _Dom1, _Dom2 >, typename _Dom1::value_type > atan2 (const
        _Expr< _Dom1, typename _Dom1::value_type > &__e1, const _Expr<
        _Dom2, typename _Dom2::value_type > &__e2)
    template<typename _Tp, typename _Up> __gnu_cxx::__promote_2< typename
        __gnu_cxx::__enable_if< __is_arithmetic< _Tp >::__value
        &&__is_arithmetic< _Up >::__value, _Tp >::__type, _Up >::__type
        atan2 (_Tp __y, _Up __x)
    long double atan2 (long double __y, long double __x)
    float atan2 (float __y, float __x)
    template<typename _Tp> std::complex< _Tp > atanh (const std::complex<
        _Tp > &)
    int atexit (void(*)())
    template<typename _Container> back_insert_iterator< _Container >
        back_inserter (_Container &__x)
    template<typename _ForwardIterator, typename _Tp, typename _Compare>
        bool binary_search (_ForwardIterator __first, _ForwardIterator
        __last, const _Tp &__val, _Compare __comp)
    template<typename _ForwardIterator, typename _Tp> bool binary_search
        (_ForwardIterator __first, _ForwardIterator __last, const _Tp
        &__val)
    template<typename _FIter, typename _Tp, typename _Compare> bool
        binary_search (_FIter, _FIter, const _Tp &, _Compare)
    template<typename _FIter, typename _Tp> bool binary_search (_FIter,
        _FIter, const _Tp &)
    template<typename _Functor, typename... _ArgTypes> _Bind< typename
        _Maybe_wrap_member_pointer< _Functor >::type(_ArgTypes...)> bind
        (_Functor __f, _ArgTypes...__args)
    template<typename _Operation, typename _Tp> binder1st< _Operation >
        bind1st (const _Operation &__fn, const _Tp &__x)
    template<typename _Operation, typename _Tp> binder2nd< _Operation >
        bind2nd (const _Operation &__fn, const _Tp &__x)
    ios_base & boolalpha (ios_base &__base)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_integer< _Tp
        >::__value, double >::__type ceil (_Tp __x)
    long double ceil (long double __x)
    float ceil (float __x)
    template<typename _Tp> std::complex< typename __gnu_cxx::__promote< _Tp
        >::__type > conj (_Tp __x)
    template<typename _CharT> __gnu_cxx::__enable_if< __is_char< _CharT
        >::__value, ostreambuf_iterator< _CharT > >::__type copy
        (istreambuf_iterator< _CharT > __first, istreambuf_iterator< _CharT
        > __last, ostreambuf_iterator< _CharT > __result)
    template<typename _II, typename _OI> _OI copy (_II __first, _II __last,
        _OI __result)
    template<typename _IIter, typename _OIter> _OIter copy (_IIter, _IIter,
        _OIter)
    template<typename _BI1, typename _BI2> _BI2 copy_backward (_BI1
        __first, _BI1 __last, _BI2 __result)
    template<typename _BIter1, typename _BIter2> _BIter2 copy_backward
        (_BIter1, _BIter1, _BIter2)
    template<typename _Tp> _Expr< _UnClos< __cos, _ValArray, _Tp >, _Tp >
        cos (const valarray< _Tp > &__v)
    template<class _Dom> _Expr< _UnClos< __cos, _Expr, _Dom >, typename
        _Dom::value_type > cos (const _Expr< _Dom, typename
        _Dom::value_type > &__e)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_integer< _Tp
        >::__value, double >::__type cos (_Tp __x)
    long double cos (long double __x)
    float cos (float __x)
    template<typename _Tp> _Expr< _UnClos< __cosh, _ValArray, _Tp >, _Tp >
        cosh (const valarray< _Tp > &__v)
    template<class _Dom> _Expr< _UnClos< __cosh, _Expr, _Dom >, typename
        _Dom::value_type > cosh (const _Expr< _Dom, typename
        _Dom::value_type > &__e)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_integer< _Tp
        >::__value, double >::__type cosh (_Tp __x)
    long double cosh (long double __x)
    float cosh (float __x)
    template<typename _InputIterator, typename _Tp> iterator_traits<
        _InputIterator >::difference_type count (_InputIterator __first,
        _InputIterator __last, const _Tp &__value)
    template<typename _IIter, typename _Tp> iterator_traits< _IIter
        >::difference_type count (_IIter, _IIter, const _Tp &)
    template<typename _InputIterator, typename _Predicate> iterator_traits<
        _InputIterator >::difference_type count_if (_InputIterator __first,
        _InputIterator __last, _Predicate __pred)
    template<typename _IIter, typename _Predicate> iterator_traits< _IIter
        >::difference_type count_if (_IIter, _IIter, _Predicate)
    template<typename _Tp> reference_wrapper< const _Tp > cref
        (reference_wrapper< _Tp > __t)
    template<typename _Tp> reference_wrapper< const _Tp > cref (const _Tp
        &__t)
    ios_base & dec (ios_base &__base)
    template<typename _InputIterator> iterator_traits< _InputIterator
        >::difference_type distance (_InputIterator __first, _InputIterator
        __last)
    template<typename _CharT, typename _Traits> basic_ostream< _CharT,
        _Traits > & endl (basic_ostream< _CharT, _Traits > &__os)
    template<typename _CharT, typename _Traits> basic_ostream< _CharT,
        _Traits > & ends (basic_ostream< _CharT, _Traits > &__os)
    template<typename _II1, typename _II2> bool equal (_II1 __first1, _II1
        __last1, _II2 __first2)
    template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
        bool equal (_IIter1 __first1, _IIter1 __last1, _IIter2 __first2,
        _BinaryPredicate __binary_pred)
    template<typename _IIter1, typename _IIter2> bool equal (_IIter1,
        _IIter1, _IIter2)
    template<typename _ForwardIterator, typename _Tp, typename _Compare>
        pair< _ForwardIterator, _ForwardIterator > equal_range
        (_ForwardIterator __first, _ForwardIterator __last, const _Tp
        &__val, _Compare __comp)
    template<typename _ForwardIterator, typename _Tp> pair<
        _ForwardIterator, _ForwardIterator > equal_range (_ForwardIterator
        __first, _ForwardIterator __last, const _Tp &__val)
    template<typename _FIter, typename _Tp, typename _Compare> pair<
        _FIter, _FIter > equal_range (_FIter, _FIter, const _Tp &,
        _Compare)
    template<typename _FIter, typename _Tp> pair< _FIter, _FIter >
        equal_range (_FIter, _FIter, const _Tp &)
    void exit (int)
    template<typename _Tp> _Expr< _UnClos< __exp, _ValArray, _Tp >, _Tp >
        exp (const valarray< _Tp > &__v)
    template<class _Dom> _Expr< _UnClos< __exp, _Expr, _Dom >, typename
        _Dom::value_type > exp (const _Expr< _Dom, typename
        _Dom::value_type > &__e)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_integer< _Tp
        >::__value, double >::__type exp (_Tp __x)
    long double exp (long double __x)
    float exp (float __x)
    template<typename _Tp> _Tp fabs (const std::complex< _Tp > &__z)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_integer< _Tp
        >::__value, double >::__type fabs (_Tp __x)
    long double fabs (long double __x)
    float fabs (float __x)
    void fill (_Bit_iterator __first, _Bit_iterator __last, const bool
        &__x)
    template<typename _ForwardIterator, typename _Tp> void fill
        (_ForwardIterator __first, _ForwardIterator __last, const _Tp
        &__value)
    template<typename _Tp> void fill (const _Deque_iterator< _Tp, _Tp &,
        _Tp * > &__first, const _Deque_iterator< _Tp, _Tp &, _Tp * >
        &__last, const _Tp &__value)
    template<typename _FIter, typename _Tp> void fill (_FIter, _FIter,
        const _Tp &)
    template<typename _OI, typename _Size, typename _Tp> _OI fill_n (_OI
        __first, _Size __n, const _Tp &__value)
    template<typename _OIter, typename _Size, typename _Tp> _OIter fill_n
        (_OIter, _Size, const _Tp &)
    template<typename _CharT> __gnu_cxx::__enable_if< __is_char< _CharT
        >::__value, istreambuf_iterator< _CharT > >::__type find
        (istreambuf_iterator< _CharT > __first, istreambuf_iterator< _CharT
        > __last, const _CharT &__val)
    template<typename _InputIterator, typename _Tp> _InputIterator find
        (_InputIterator __first, _InputIterator __last, const _Tp &__val)
    template<typename _IIter, typename _Tp> _IIter find (_IIter, _IIter,
        const _Tp &)
    template<typename _ForwardIterator1, typename _ForwardIterator2,
        typename _BinaryPredicate> _ForwardIterator1 find_end
        (_ForwardIterator1 __first1, _ForwardIterator1 __last1,
        _ForwardIterator2 __first2, _ForwardIterator2 __last2,
        _BinaryPredicate __comp)
    template<typename _ForwardIterator1, typename _ForwardIterator2>
        _ForwardIterator1 find_end (_ForwardIterator1 __first1,
        _ForwardIterator1 __last1, _ForwardIterator2 __first2,
        _ForwardIterator2 __last2)
    template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
        _FIter1 find_end (_FIter1, _FIter1, _FIter2, _FIter2,
        _BinaryPredicate)
    template<typename _FIter1, typename _FIter2> _FIter1 find_end (_FIter1,
        _FIter1, _FIter2, _FIter2)
    template<typename _InputIterator, typename _ForwardIterator, typename
        _BinaryPredicate> _InputIterator find_first_of (_InputIterator
        __first1, _InputIterator __last1, _ForwardIterator __first2,
        _ForwardIterator __last2, _BinaryPredicate __comp)
    template<typename _InputIterator, typename _ForwardIterator>
        _InputIterator find_first_of (_InputIterator __first1,
        _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator
        __last2)
    template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
        _FIter1 find_first_of (_FIter1, _FIter1, _FIter2, _FIter2,
        _BinaryPredicate)
    template<typename _FIter1, typename _FIter2> _FIter1 find_first_of
        (_FIter1, _FIter1, _FIter2, _FIter2)
    template<typename _InputIterator, typename _Predicate> _InputIterator
        find_if (_InputIterator __first, _InputIterator __last, _Predicate
        __pred)
    template<typename _IIter, typename _Predicate> _IIter find_if (_IIter,
        _IIter, _Predicate)
    ios_base & fixed (ios_base &__base)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_integer< _Tp
        >::__value, double >::__type floor (_Tp __x)
    long double floor (long double __x)
    float floor (float __x)
    template<typename _CharT, typename _Traits> basic_ostream< _CharT,
        _Traits > & flush (basic_ostream< _CharT, _Traits > &__os)
    long double fmod (long double __x, long double __y)
    float fmod (float __x, float __y)
    template<typename _InputIterator, typename _Function> _Function
        for_each (_InputIterator __first, _InputIterator __last, _Function
        __f)
    template<typename _IIter, typename _Funct> _Funct for_each (_IIter,
        _IIter, _Funct)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_integer< _Tp
        >::__value, double >::__type frexp (_Tp __x, int *__exp)
    long double frexp (long double __x, int *__exp)
    float frexp (float __x, int *__exp)
    template<typename _Container> front_insert_iterator< _Container >
        front_inserter (_Container &__x)
    template<typename _ForwardIterator, typename _Generator> void generate
        (_ForwardIterator __first, _ForwardIterator __last, _Generator
        __gen)
    template<typename _FIter, typename _Generator> void generate (_FIter,
        _FIter, _Generator)
    template<typename _OutputIterator, typename _Size, typename _Generator>
        _OutputIterator generate_n (_OutputIterator __first, _Size __n,
        _Generator __gen)
    template<typename _OIter, typename _Size, typename _Generator> _OIter
        generate_n (_OIter, _Size, _Generator)
    template<int _Int, class _Tp1, class _Tp2> const tuple_element< _Int,
        std::pair< _Tp1, _Tp2 > >::type & get (const std::pair< _Tp1, _Tp2
        > &__in)
    template<int _Int, class _Tp1, class _Tp2> tuple_element< _Int,
        std::pair< _Tp1, _Tp2 > >::type & get (std::pair< _Tp1, _Tp2 >
        &__in)
    template<int _Int, typename _Tp, std::size_t _Nm> const _Tp & get
        (const array< _Tp, _Nm > &__arr)
    template<int _Int, typename _Tp, std::size_t _Nm> _Tp & get (array<
        _Tp, _Nm > &__arr)
    template<int __i, typename... _Elements> __add_c_ref< typename
        tuple_element< __i, tuple< _Elements...> >::type >::type get (const
        tuple< _Elements...> &__t)
    template<int __i, typename... _Elements> __add_ref< typename
        tuple_element< __i, tuple< _Elements...> >::type >::type get
        (tuple< _Elements...> &__t)
    template<typename _Tp> pair< _Tp *, ptrdiff_t > get_temporary_buffer
        (ptrdiff_t __len)
    template<typename _CharT, typename _Traits, typename _Alloc, template<
        typename, typename, typename > class _Base> basic_istream< _CharT,
        _Traits > & getline (basic_istream< _CharT, _Traits > &__is,
        __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base > &__str)
    template<typename _CharT, typename _Traits, typename _Alloc, template<
        typename, typename, typename > class _Base> basic_istream< _CharT,
        _Traits > & getline (basic_istream< _CharT, _Traits > &__is,
        __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base > &__str,
        _CharT __delim)
    template<> basic_istream< wchar_t > & getline (basic_istream< wchar_t >
        &__in, basic_string< wchar_t > &__str, wchar_t __delim)
    template<> basic_istream< char > & getline (basic_istream< char >
        &__in, basic_string< char > &__str, char __delim)
    template<typename _CharT, typename _Traits, typename _Alloc>
        basic_istream< _CharT, _Traits > & getline (basic_istream< _CharT,
        _Traits > &__is, basic_string< _CharT, _Traits, _Alloc > &__str)
    template<typename _CharT, typename _Traits, typename _Alloc>
        basic_istream< _CharT, _Traits > & getline (basic_istream< _CharT,
        _Traits > &__is, basic_string< _CharT, _Traits, _Alloc > &__str,
        _CharT __delim)
    template<typename _Facet> bool has_facet (const locale &__loc)  throw
        ()
    ios_base & hex (ios_base &__base)
    template<typename _Tp> __gnu_cxx::__promote< _Tp >::__type imag (_Tp)
    template<typename _InputIterator1, typename _InputIterator2, typename
        _Compare> bool includes (_InputIterator1 __first1, _InputIterator1
        __last1, _InputIterator2 __first2, _InputIterator2 __last2,
        _Compare __comp)
    template<typename _InputIterator1, typename _InputIterator2> bool
        includes (_InputIterator1 __first1, _InputIterator1 __last1,
        _InputIterator2 __first2, _InputIterator2 __last2)
    template<typename _IIter1, typename _IIter2, typename _Compare> bool
        includes (_IIter1, _IIter1, _IIter2, _IIter2, _Compare)
    template<typename _IIter1, typename _IIter2> bool includes (_IIter1,
        _IIter1, _IIter2, _IIter2)
    template<typename _InputIterator1, typename _InputIterator2, typename
        _Tp, typename _BinaryOperation1, typename _BinaryOperation2> _Tp
        inner_product (_InputIterator1 __first1, _InputIterator1 __last1,
        _InputIterator2 __first2, _Tp __init, _BinaryOperation1
        __binary_op1, _BinaryOperation2 __binary_op2)
    template<typename _InputIterator1, typename _InputIterator2, typename
        _Tp> _Tp inner_product (_InputIterator1 __first1, _InputIterator1
        __last1, _InputIterator2 __first2, _Tp __init)
    template<typename _BidirectionalIterator, typename _Compare> void
        inplace_merge (_BidirectionalIterator __first,
        _BidirectionalIterator __middle, _BidirectionalIterator __last,
        _Compare __comp)
    template<typename _BidirectionalIterator> void inplace_merge
        (_BidirectionalIterator __first, _BidirectionalIterator __middle,
        _BidirectionalIterator __last)
    template<typename _BIter, typename _Compare> void inplace_merge
        (_BIter, _BIter, _BIter, _Compare)
    template<typename _BIter> void inplace_merge (_BIter, _BIter, _BIter)
    template<typename _Container, typename _Iterator> insert_iterator<
        _Container > inserter (_Container &__x, _Iterator __i)
    ios_base & internal (ios_base &__base)
    template<typename _CharT> bool isalnum (_CharT __c, const locale
        &__loc)
    template<typename _CharT> bool isalpha (_CharT __c, const locale
        &__loc)
    template<typename _CharT> bool iscntrl (_CharT __c, const locale
        &__loc)
    template<typename _CharT> bool isdigit (_CharT __c, const locale
        &__loc)
    template<typename _CharT> bool isgraph (_CharT __c, const locale
        &__loc)
    template<typename _CharT> bool islower (_CharT __c, const locale
        &__loc)
    template<typename _CharT> bool isprint (_CharT __c, const locale
        &__loc)
    template<typename _CharT> bool ispunct (_CharT __c, const locale
        &__loc)
    template<typename _CharT> _GLIBCXX_END_LDBL_NAMESPACE bool isspace
        (_CharT __c, const locale &__loc)
    template<typename _CharT> bool isupper (_CharT __c, const locale
        &__loc)
    template<typename _CharT> bool isxdigit (_CharT __c, const locale
        &__loc)
    template<typename _ForwardIterator1, typename _ForwardIterator2> void
        iter_swap (_ForwardIterator1 __a, _ForwardIterator2 __b)
    template<typename _FIter1, typename _FIter2> void iter_swap (_FIter1,
        _FIter2)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_integer< _Tp
        >::__value, double >::__type ldexp (_Tp __x, int __exp)
    long double ldexp (long double __x, int __exp)
    float ldexp (float __x, int __exp)
    ios_base & left (ios_base &__base)
    template<typename _II1, typename _II2, typename _Compare> bool
        lexicographical_compare (_II1 __first1, _II1 __last1, _II2
        __first2, _II2 __last2, _Compare __comp)
    template<typename _II1, typename _II2> bool lexicographical_compare
        (_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
    template<typename _IIter1, typename _IIter2, typename _Compare> bool
        lexicographical_compare (_IIter1, _IIter1, _IIter2, _IIter2,
        _Compare)
    template<typename _IIter1, typename _IIter2> bool
        lexicographical_compare (_IIter1, _IIter1, _IIter2, _IIter2)
    template<typename _Tp> _Expr< _UnClos< __log, _ValArray, _Tp >, _Tp >
        log (const valarray< _Tp > &__v)
    template<class _Dom> _Expr< _UnClos< __log, _Expr, _Dom >, typename
        _Dom::value_type > log (const _Expr< _Dom, typename
        _Dom::value_type > &__e)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_integer< _Tp
        >::__value, double >::__type log (_Tp __x)
    long double log (long double __x)
    float log (float __x)
    template<typename _Tp> _Expr< _UnClos< __log10, _ValArray, _Tp >, _Tp >
        log10 (const valarray< _Tp > &__v)
    template<class _Dom> _Expr< _UnClos< __log10, _Expr, _Dom >, typename
        _Dom::value_type > log10 (const _Expr< _Dom, typename
        _Dom::value_type > &__e)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_integer< _Tp
        >::__value, double >::__type log10 (_Tp __x)
    long double log10 (long double __x)
    float log10 (float __x)
    template<typename _ForwardIterator, typename _Tp, typename _Compare>
        _ForwardIterator lower_bound (_ForwardIterator __first,
        _ForwardIterator __last, const _Tp &__val, _Compare __comp)
    template<typename _ForwardIterator, typename _Tp> _ForwardIterator
        lower_bound (_ForwardIterator __first, _ForwardIterator __last,
        const _Tp &__val)
    template<typename _FIter, typename _Tp, typename _Compare> _FIter
        lower_bound (_FIter, _FIter, const _Tp &, _Compare)
    template<typename _FIter, typename _Tp> _FIter lower_bound (_FIter,
        _FIter, const _Tp &)
    template<typename _RandomAccessIterator, typename _Compare> void
        make_heap (_RandomAccessIterator __first, _RandomAccessIterator
        __last, _Compare __comp)
    template<typename _RandomAccessIterator> void make_heap
        (_RandomAccessIterator __first, _RandomAccessIterator __last)
    template<typename _RAIter, typename _Compare> void make_heap (_RAIter,
        _RAIter, _Compare)
    template<typename _RAIter> void make_heap (_RAIter, _RAIter)
    template<class _T1, class _T2> pair< _T1, _T2 > make_pair (_T1 __x, _T2
        __y)
    template<typename... _Elements> tuple< typename __decay_and_strip<
        _Elements >::__type...> make_tuple (_Elements &&...__args)
    template<typename _Tp, typename _Compare> const _Tp & max (const _Tp
        &__a, const _Tp &__b, _Compare __comp)
    template<typename _Tp> const _Tp & max (const _Tp &__a, const _Tp &__b)
    template<typename _ForwardIterator, typename _Compare> _ForwardIterator
        max_element (_ForwardIterator __first, _ForwardIterator __last,
        _Compare __comp)
    template<typename _ForwardIterator> _ForwardIterator max_element
        (_ForwardIterator __first, _ForwardIterator __last)
    template<typename _FIter, typename _Compare> _FIter max_element
        (_FIter, _FIter, _Compare)
    template<typename _FIter> _FIter max_element (_FIter, _FIter)
    template<typename _Tp, typename _Class> _Mem_fn< _Tp _Class::* > mem_fn
        (_Tp _Class::*__pm)
    template<typename _Ret, typename _Tp, typename _Arg> mem_fun1_t< _Ret,
        _Tp, _Arg > mem_fun (_Ret(_Tp::*__f)(_Arg))
    template<typename _Ret, typename _Tp> mem_fun_t< _Ret, _Tp > mem_fun
        (_Ret(_Tp::*__f)())
    template<typename _Ret, typename _Tp, typename _Arg> mem_fun1_ref_t<
        _Ret, _Tp, _Arg > mem_fun_ref (_Ret(_Tp::*__f)(_Arg))
    template<typename _Ret, typename _Tp> mem_fun_ref_t< _Ret, _Tp >
        mem_fun_ref (_Ret(_Tp::*__f)())
    void * memchr (void *__p, int __c, size_t __n)
    template<typename _InputIterator1, typename _InputIterator2, typename
        _OutputIterator, typename _Compare> _OutputIterator merge
        (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2
        __first2, _InputIterator2 __last2, _OutputIterator __result,
        _Compare __comp)
    template<typename _InputIterator1, typename _InputIterator2, typename
        _OutputIterator> _OutputIterator merge (_InputIterator1 __first1,
        _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2
        __last2, _OutputIterator __result)
    template<typename _IIter1, typename _IIter2, typename _OIter, typename
        _Compare> _OIter merge (_IIter1, _IIter1, _IIter2, _IIter2, _OIter,
        _Compare)
    template<typename _IIter1, typename _IIter2, typename _OIter> _OIter
        merge (_IIter1, _IIter1, _IIter2, _IIter2, _OIter)
    template<typename _Tp, typename _Compare> const _Tp & min (const _Tp
        &__a, const _Tp &__b, _Compare __comp)
    template<typename _Tp> const _Tp & min (const _Tp &__a, const _Tp &__b)
    template<typename _ForwardIterator, typename _Compare> _ForwardIterator
        min_element (_ForwardIterator __first, _ForwardIterator __last,
        _Compare __comp)
    template<typename _ForwardIterator> _ForwardIterator min_element
        (_ForwardIterator __first, _ForwardIterator __last)
    template<typename _FIter, typename _Compare> _FIter min_element
        (_FIter, _FIter, _Compare)
    template<typename _FIter> _FIter min_element (_FIter, _FIter)
    template<typename _InputIterator1, typename _InputIterator2, typename
        _BinaryPredicate> pair< _InputIterator1, _InputIterator2 > mismatch
        (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2
        __first2, _BinaryPredicate __binary_pred)
    template<typename _InputIterator1, typename _InputIterator2> pair<
        _InputIterator1, _InputIterator2 > mismatch (_InputIterator1
        __first1, _InputIterator1 __last1, _InputIterator2 __first2)
    template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
        pair< _IIter1, _IIter2 > mismatch (_IIter1, _IIter1, _IIter2,
        _BinaryPredicate)
    template<typename _IIter1, typename _IIter2> pair< _IIter1, _IIter2 >
        mismatch (_IIter1, _IIter1, _IIter2)
    long double modf (long double __x, long double *__iptr)
    float modf (float __x, float *__iptr)
    template<typename _BidirectionalIterator, typename _Compare> bool
        next_permutation (_BidirectionalIterator __first,
        _BidirectionalIterator __last, _Compare __comp)
    template<typename _BidirectionalIterator> bool next_permutation
        (_BidirectionalIterator __first, _BidirectionalIterator __last)
    template<typename _BIter, typename _Compare> bool next_permutation
        (_BIter, _BIter, _Compare)
    template<typename _BIter> bool next_permutation (_BIter, _BIter)
    ios_base & noboolalpha (ios_base &__base)
    template<typename _Tp> __gnu_cxx::__promote< _Tp >::__type norm (_Tp
        __x)
    ios_base & noshowbase (ios_base &__base)
    ios_base & noshowpoint (ios_base &__base)
    ios_base & noshowpos (ios_base &__base)
    ios_base & noskipws (ios_base &__base)
    template<typename _Predicate> unary_negate< _Predicate > not1 (const
        _Predicate &__pred)
    template<typename _Predicate> binary_negate< _Predicate > not2 (const
        _Predicate &__pred)
    ios_base & nounitbuf (ios_base &__base)
    ios_base & nouppercase (ios_base &__base)
    template<typename _RandomAccessIterator, typename _Compare> void
        nth_element (_RandomAccessIterator __first, _RandomAccessIterator
        __nth, _RandomAccessIterator __last, _Compare __comp)
    template<typename _RandomAccessIterator> void nth_element
        (_RandomAccessIterator __first, _RandomAccessIterator __nth,
        _RandomAccessIterator __last)
    template<typename _RAIter, typename _Compare> void nth_element
        (_RAIter, _RAIter, _RAIter, _Compare)
    template<typename _RAIter> void nth_element (_RAIter, _RAIter, _RAIter)
    ios_base & oct (ios_base &__base)
    template<class _Dom> _Expr< _BinClos< __bitwise_and, _ValArray, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __bitwise_and,
        typename _Dom::value_type >::result_type > operator & (const
        valarray< typename _Dom::value_type > &__v, const _Expr< _Dom,
        typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __bitwise_and, _Expr, _ValArray,
        _Dom, typename _Dom::value_type >, typename __fun< __bitwise_and,
        typename _Dom::value_type >::result_type > operator & (const _Expr<
        _Dom, typename _Dom::value_type > &__e, const valarray< typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __bitwise_and, _Constant, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __bitwise_and,
        typename _Dom::value_type >::result_type > operator & (const
        typename _Dom::value_type &__t, const _Expr< _Dom, typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __bitwise_and, _Expr, _Constant,
        _Dom, typename _Dom::value_type >, typename __fun< __bitwise_and,
        typename _Dom::value_type >::result_type > operator & (const _Expr<
        _Dom, typename _Dom::value_type > &__v, const typename
        _Dom::value_type &__t)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __bitwise_and,
        _Expr, _Expr, _Dom1, _Dom2 >, typename __fun< __bitwise_and,
        typename _Dom1::value_type >::result_type > operator & (const
        _Expr< _Dom1, typename _Dom1::value_type > &__v, const _Expr<
        _Dom2, typename _Dom2::value_type > &__w)
    _Ios_Iostate operator & (_Ios_Iostate __a, _Ios_Iostate __b)
    _Ios_Openmode operator & (_Ios_Openmode __a, _Ios_Openmode __b)
    _Ios_Fmtflags operator & (_Ios_Fmtflags __a, _Ios_Fmtflags __b)
    template<typename _Tp> _Expr< _BinClos< __bitwise_and, _Constant,
        _ValArray, _Tp, _Tp >, typename __fun< __bitwise_and, _Tp
        >::result_type > operator & (const _Tp &__t, const valarray< _Tp >
        &__v)
    template<typename _Tp> _Expr< _BinClos< __bitwise_and, _ValArray,
        _Constant, _Tp, _Tp >, typename __fun< __bitwise_and, _Tp
        >::result_type > operator & (const valarray< _Tp > &__v, const _Tp
        &__t)
    template<typename _Tp> _Expr< _BinClos< __bitwise_and, _ValArray,
        _ValArray, _Tp, _Tp >, typename __fun< __bitwise_and, _Tp
        >::result_type > operator & (const valarray< _Tp > &__v, const
        valarray< _Tp > &__w)
    template<class _Dom> _Expr< _BinClos< __logical_and, _ValArray, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __logical_and,
        typename _Dom::value_type >::result_type > operator && (const
        valarray< typename _Dom::value_type > &__v, const _Expr< _Dom,
        typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __logical_and, _Expr, _ValArray,
        _Dom, typename _Dom::value_type >, typename __fun< __logical_and,
        typename _Dom::value_type >::result_type > operator && (const
        _Expr< _Dom, typename _Dom::value_type > &__e, const valarray<
        typename _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __logical_and, _Constant, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __logical_and,
        typename _Dom::value_type >::result_type > operator && (const
        typename _Dom::value_type &__t, const _Expr< _Dom, typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __logical_and, _Expr, _Constant,
        _Dom, typename _Dom::value_type >, typename __fun< __logical_and,
        typename _Dom::value_type >::result_type > operator && (const
        _Expr< _Dom, typename _Dom::value_type > &__v, const typename
        _Dom::value_type &__t)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __logical_and,
        _Expr, _Expr, _Dom1, _Dom2 >, typename __fun< __logical_and,
        typename _Dom1::value_type >::result_type > operator && (const
        _Expr< _Dom1, typename _Dom1::value_type > &__v, const _Expr<
        _Dom2, typename _Dom2::value_type > &__w)
    template<typename _Tp> _Expr< _BinClos< __logical_and, _Constant,
        _ValArray, _Tp, _Tp >, typename __fun< __logical_and, _Tp
        >::result_type > operator && (const _Tp &__t, const valarray< _Tp >
        &__v)
    template<typename _Tp> _Expr< _BinClos< __logical_and, _ValArray,
        _Constant, _Tp, _Tp >, typename __fun< __logical_and, _Tp
        >::result_type > operator && (const valarray< _Tp > &__v, const _Tp
        &__t)
    template<typename _Tp> _Expr< _BinClos< __logical_and, _ValArray,
        _ValArray, _Tp, _Tp >, typename __fun< __logical_and, _Tp
        >::result_type > operator && (const valarray< _Tp > &__v, const
        valarray< _Tp > &__w)
    _Ios_Iostate & operator &= (_Ios_Iostate &__a, _Ios_Iostate __b)
    _Ios_Openmode & operator &= (_Ios_Openmode &__a, _Ios_Openmode __b)
    _Ios_Fmtflags & operator &= (_Ios_Fmtflags &__a, _Ios_Fmtflags __b)
    template<class _Dom> _Expr< _BinClos< __not_equal_to, _ValArray, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __not_equal_to,
        typename _Dom::value_type >::result_type > operator!= (const
        valarray< typename _Dom::value_type > &__v, const _Expr< _Dom,
        typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __not_equal_to, _Expr, _ValArray,
        _Dom, typename _Dom::value_type >, typename __fun< __not_equal_to,
        typename _Dom::value_type >::result_type > operator!= (const _Expr<
        _Dom, typename _Dom::value_type > &__e, const valarray< typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __not_equal_to, _Constant, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __not_equal_to,
        typename _Dom::value_type >::result_type > operator!= (const
        typename _Dom::value_type &__t, const _Expr< _Dom, typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __not_equal_to, _Expr, _Constant,
        _Dom, typename _Dom::value_type >, typename __fun< __not_equal_to,
        typename _Dom::value_type >::result_type > operator!= (const _Expr<
        _Dom, typename _Dom::value_type > &__v, const typename
        _Dom::value_type &__t)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __not_equal_to,
        _Expr, _Expr, _Dom1, _Dom2 >, typename __fun< __not_equal_to,
        typename _Dom1::value_type >::result_type > operator!= (const
        _Expr< _Dom1, typename _Dom1::value_type > &__v, const _Expr<
        _Dom2, typename _Dom2::value_type > &__w)
    template<typename _CharT, typename _Traits> bool operator!= (const
        istreambuf_iterator< _CharT, _Traits > &__a, const
        istreambuf_iterator< _CharT, _Traits > &__b)
    template<class _Tp, class _CharT, class _Traits, class _Dist> bool
        operator!= (const istream_iterator< _Tp, _CharT, _Traits, _Dist >
        &__x, const istream_iterator< _Tp, _CharT, _Traits, _Dist > &__y)
    template<typename _Tp, typename _Alloc> bool operator!= (const vector<
        _Tp, _Alloc > &__x, const vector< _Tp, _Alloc > &__y)
    template<typename _Key, typename _Val, typename _KeyOfValue, typename
        _Compare, typename _Alloc> bool operator!= (const _Rb_tree< _Key,
        _Val, _KeyOfValue, _Compare, _Alloc > &__x, const _Rb_tree< _Key,
        _Val, _KeyOfValue, _Compare, _Alloc > &__y)
    template<typename _Val> bool operator!= (const _Rb_tree_iterator< _Val
        > &__x, const _Rb_tree_const_iterator< _Val > &__y)
    template<typename _Tp, typename _Seq> bool operator!= (const stack<
        _Tp, _Seq > &__x, const stack< _Tp, _Seq > &__y)
    template<typename _Key, typename _Compare, typename _Alloc> bool
        operator!= (const set< _Key, _Compare, _Alloc > &__x, const set<
        _Key, _Compare, _Alloc > &__y)
    template<typename _Tp, typename _Seq> bool operator!= (const queue<
        _Tp, _Seq > &__x, const queue< _Tp, _Seq > &__y)
    template<class _T1, class _T2> bool operator!= (const pair< _T1, _T2 >
        &__x, const pair< _T1, _T2 > &__y)
    template<typename _Key, typename _Compare, typename _Alloc> bool
        operator!= (const multiset< _Key, _Compare, _Alloc > &__x, const
        multiset< _Key, _Compare, _Alloc > &__y)
    template<typename _Key, typename _Tp, typename _Compare, typename
        _Alloc> bool operator!= (const multimap< _Key, _Tp, _Compare,
        _Alloc > &__x, const multimap< _Key, _Tp, _Compare, _Alloc > &__y)
    template<typename _Key, typename _Tp, typename _Compare, typename
        _Alloc> bool operator!= (const map< _Key, _Tp, _Compare, _Alloc >
        &__x, const map< _Key, _Tp, _Compare, _Alloc > &__y)
    template<typename _Tp, typename _Alloc> bool operator!= (const list<
        _Tp, _Alloc > &__x, const list< _Tp, _Alloc > &__y)
    template<typename _Val> bool operator!= (const _List_iterator< _Val >
        &__x, const _List_const_iterator< _Val > &__y)
    template<typename _Tp, typename _Alloc> bool operator!= (const deque<
        _Tp, _Alloc > &__x, const deque< _Tp, _Alloc > &__y)
    template<typename _Tp, typename _RefL, typename _PtrL, typename _RefR,
        typename _PtrR> bool operator!= (const _Deque_iterator< _Tp, _RefL,
        _PtrL > &__x, const _Deque_iterator< _Tp, _RefR, _PtrR > &__y)
    template<typename _Tp, typename _Ref, typename _Ptr> bool operator!=
        (const _Deque_iterator< _Tp, _Ref, _Ptr > &__x, const
        _Deque_iterator< _Tp, _Ref, _Ptr > &__y)
    template<typename _StateT> bool operator!= (const fpos< _StateT >
        &__lhs, const fpos< _StateT > &__rhs)
    template<typename _CharT, typename _Traits, typename _Alloc> bool
        operator!= (const basic_string< _CharT, _Traits, _Alloc > &__lhs,
        const _CharT *__rhs)
    template<typename _CharT, typename _Traits, typename _Alloc> bool
        operator!= (const _CharT *__lhs, const basic_string< _CharT,
        _Traits, _Alloc > &__rhs)
    template<typename _CharT, typename _Traits, typename _Alloc> bool
        operator!= (const basic_string< _CharT, _Traits, _Alloc > &__lhs,
        const basic_string< _CharT, _Traits, _Alloc > &__rhs)
    template<typename _Tp> bool operator!= (const allocator< _Tp > &, const
        allocator< _Tp > &)
    template<typename _T1, typename _T2> bool operator!= (const allocator<
        _T1 > &, const allocator< _T2 > &)
    template<typename _Bi_iter, class _Allocator> bool operator!= (const
        match_results< _Bi_iter, _Allocator > &__m1, const match_results<
        _Bi_iter, _Allocator > &__m2)
    template<typename _Bi_iter> bool operator!= (const sub_match< _Bi_iter
        > &__lhs, typename iterator_traits< _Bi_iter >::value_type const
        &__rhs)
    template<typename _Bi_iter> bool operator!= (typename iterator_traits<
        _Bi_iter >::value_type const &__lhs, const sub_match< _Bi_iter >
        &__rhs)
    template<typename _Bi_iter> bool operator!= (const sub_match< _Bi_iter
        > &__lhs, typename iterator_traits< _Bi_iter >::value_type const
        *__rhs)
    template<typename _Bi_iter> bool operator!= (typename iterator_traits<
        _Bi_iter >::value_type const *__lhs, const sub_match< _Bi_iter >
        &__rhs)
    template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
        bool operator!= (const sub_match< _Bi_iter > &__lhs, const
        basic_string< typename iterator_traits< _Bi_iter >::value_type,
        _Ch_traits, _Ch_alloc > &__rhs)
    template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
        bool operator!= (const basic_string< typename iterator_traits<
        _Bi_iter >::value_type, _Ch_traits, _Ch_alloc > &__lhs, const
        sub_match< _Bi_iter > &__rhs)
    template<typename _BiIter> bool operator!= (const sub_match< _BiIter >
        &__lhs, const sub_match< _BiIter > &__rhs)
    template<typename _Signature> bool operator!= (_M_clear_type *, const
        function< _Signature > &__f)
    template<typename _Signature> bool operator!= (const function<
        _Signature > &__f, _M_clear_type *)
    template<typename _Tp, std::size_t _Nm> bool operator!= (const array<
        _Tp, _Nm > &__one, const array< _Tp, _Nm > &__two)
    template<typename _Tp> _Expr< _BinClos< __not_equal_to, _Constant,
        _ValArray, _Tp, _Tp >, typename __fun< __not_equal_to, _Tp
        >::result_type > operator!= (const _Tp &__t, const valarray< _Tp >
        &__v)
    template<typename _Tp> _Expr< _BinClos< __not_equal_to, _ValArray,
        _Constant, _Tp, _Tp >, typename __fun< __not_equal_to, _Tp
        >::result_type > operator!= (const valarray< _Tp > &__v, const _Tp
        &__t)
    template<typename _Tp> _Expr< _BinClos< __not_equal_to, _ValArray,
        _ValArray, _Tp, _Tp >, typename __fun< __not_equal_to, _Tp
        >::result_type > operator!= (const valarray< _Tp > &__v, const
        valarray< _Tp > &__w)
    template<typename... _TElements, typename... _UElements> bool
        operator!= (const tuple< _TElements...> &__t, const tuple<
        _UElements...> &__u)
    template<class _Dom> _Expr< _BinClos< __modulus, _ValArray, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __modulus,
        typename _Dom::value_type >::result_type > operator% (const
        valarray< typename _Dom::value_type > &__v, const _Expr< _Dom,
        typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __modulus, _Expr, _ValArray,
        _Dom, typename _Dom::value_type >, typename __fun< __modulus,
        typename _Dom::value_type >::result_type > operator% (const _Expr<
        _Dom, typename _Dom::value_type > &__e, const valarray< typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __modulus, _Constant, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __modulus,
        typename _Dom::value_type >::result_type > operator% (const
        typename _Dom::value_type &__t, const _Expr< _Dom, typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __modulus, _Expr, _Constant,
        _Dom, typename _Dom::value_type >, typename __fun< __modulus,
        typename _Dom::value_type >::result_type > operator% (const _Expr<
        _Dom, typename _Dom::value_type > &__v, const typename
        _Dom::value_type &__t)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __modulus, _Expr,
        _Expr, _Dom1, _Dom2 >, typename __fun< __modulus, typename
        _Dom1::value_type >::result_type > operator% (const _Expr< _Dom1,
        typename _Dom1::value_type > &__v, const _Expr< _Dom2, typename
        _Dom2::value_type > &__w)
    template<typename _Tp> _Expr< _BinClos< __modulus, _Constant,
        _ValArray, _Tp, _Tp >, typename __fun< __modulus, _Tp
        >::result_type > operator% (const _Tp &__t, const valarray< _Tp >
        &__v)
    template<typename _Tp> _Expr< _BinClos< __modulus, _ValArray,
        _Constant, _Tp, _Tp >, typename __fun< __modulus, _Tp
        >::result_type > operator% (const valarray< _Tp > &__v, const _Tp
        &__t)
    template<typename _Tp> _Expr< _BinClos< __modulus, _ValArray,
        _ValArray, _Tp, _Tp >, typename __fun< __modulus, _Tp
        >::result_type > operator% (const valarray< _Tp > &__v, const
        valarray< _Tp > &__w)
    template<class _Dom> _Expr< _BinClos< __multiplies, _ValArray, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __multiplies,
        typename _Dom::value_type >::result_type > operator* (const
        valarray< typename _Dom::value_type > &__v, const _Expr< _Dom,
        typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __multiplies, _Expr, _ValArray,
        _Dom, typename _Dom::value_type >, typename __fun< __multiplies,
        typename _Dom::value_type >::result_type > operator* (const _Expr<
        _Dom, typename _Dom::value_type > &__e, const valarray< typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __multiplies, _Constant, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __multiplies,
        typename _Dom::value_type >::result_type > operator* (const
        typename _Dom::value_type &__t, const _Expr< _Dom, typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __multiplies, _Expr, _Constant,
        _Dom, typename _Dom::value_type >, typename __fun< __multiplies,
        typename _Dom::value_type >::result_type > operator* (const _Expr<
        _Dom, typename _Dom::value_type > &__v, const typename
        _Dom::value_type &__t)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __multiplies,
        _Expr, _Expr, _Dom1, _Dom2 >, typename __fun< __multiplies,
        typename _Dom1::value_type >::result_type > operator* (const _Expr<
        _Dom1, typename _Dom1::value_type > &__v, const _Expr< _Dom2,
        typename _Dom2::value_type > &__w)
    template<typename _Tp> _Expr< _BinClos< __multiplies, _Constant,
        _ValArray, _Tp, _Tp >, typename __fun< __multiplies, _Tp
        >::result_type > operator* (const _Tp &__t, const valarray< _Tp >
        &__v)
    template<typename _Tp> _Expr< _BinClos< __multiplies, _ValArray,
        _Constant, _Tp, _Tp >, typename __fun< __multiplies, _Tp
        >::result_type > operator* (const valarray< _Tp > &__v, const _Tp
        &__t)
    template<typename _Tp> _Expr< _BinClos< __multiplies, _ValArray,
        _ValArray, _Tp, _Tp >, typename __fun< __multiplies, _Tp
        >::result_type > operator* (const valarray< _Tp > &__v, const
        valarray< _Tp > &__w)
    template<class _Dom> _Expr< _BinClos< __plus, _ValArray, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __plus, typename
        _Dom::value_type >::result_type > operator+ (const valarray<
        typename _Dom::value_type > &__v, const _Expr< _Dom, typename
        _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __plus, _Expr, _ValArray, _Dom,
        typename _Dom::value_type >, typename __fun< __plus, typename
        _Dom::value_type >::result_type > operator+ (const _Expr< _Dom,
        typename _Dom::value_type > &__e, const valarray< typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __plus, _Constant, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __plus, typename
        _Dom::value_type >::result_type > operator+ (const typename
        _Dom::value_type &__t, const _Expr< _Dom, typename _Dom::value_type
        > &__v)
    template<class _Dom> _Expr< _BinClos< __plus, _Expr, _Constant, _Dom,
        typename _Dom::value_type >, typename __fun< __plus, typename
        _Dom::value_type >::result_type > operator+ (const _Expr< _Dom,
        typename _Dom::value_type > &__v, const typename _Dom::value_type
        &__t)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __plus, _Expr,
        _Expr, _Dom1, _Dom2 >, typename __fun< __plus, typename
        _Dom1::value_type >::result_type > operator+ (const _Expr< _Dom1,
        typename _Dom1::value_type > &__v, const _Expr< _Dom2, typename
        _Dom2::value_type > &__w)
    template<typename _Tp, typename _Ref, typename _Ptr> _Deque_iterator<
        _Tp, _Ref, _Ptr > operator+ (ptrdiff_t __n, const _Deque_iterator<
        _Tp, _Ref, _Ptr > &__x)
    _Bit_const_iterator operator+ (ptrdiff_t __n, const _Bit_const_iterator
        &__x)
    _Bit_iterator operator+ (ptrdiff_t __n, const _Bit_iterator &__x)
    template<typename _CharT, typename _Traits, typename _Alloc>
        basic_string< _CharT, _Traits, _Alloc > operator+ (const
        basic_string< _CharT, _Traits, _Alloc > &__lhs, _CharT __rhs)
    template<typename _CharT, typename _Traits, typename _Alloc>
        basic_string< _CharT, _Traits, _Alloc > operator+ (const
        basic_string< _CharT, _Traits, _Alloc > &__lhs, const _CharT
        *__rhs)
    template<typename _CharT, typename _Traits, typename _Alloc>
        basic_string< _CharT, _Traits, _Alloc > operator+ (_CharT __lhs,
        const basic_string< _CharT, _Traits, _Alloc > &__rhs)
    template<typename _CharT, typename _Traits, typename _Alloc>
        basic_string< _CharT, _Traits, _Alloc > operator+ (const _CharT
        *__lhs, const basic_string< _CharT, _Traits, _Alloc > &__rhs)
    template<typename _CharT, typename _Traits, typename _Alloc>
        basic_string< _CharT, _Traits, _Alloc > operator+ (const
        basic_string< _CharT, _Traits, _Alloc > &__lhs, const basic_string<
        _CharT, _Traits, _Alloc > &__rhs)
    template<typename _Tp> _Expr< _BinClos< __plus, _Constant, _ValArray,
        _Tp, _Tp >, typename __fun< __plus, _Tp >::result_type > operator+
        (const _Tp &__t, const valarray< _Tp > &__v)
    template<typename _Tp> _Expr< _BinClos< __plus, _ValArray, _Constant,
        _Tp, _Tp >, typename __fun< __plus, _Tp >::result_type > operator+
        (const valarray< _Tp > &__v, const _Tp &__t)
    template<typename _Tp> _Expr< _BinClos< __plus, _ValArray, _ValArray,
        _Tp, _Tp >, typename __fun< __plus, _Tp >::result_type > operator+
        (const valarray< _Tp > &__v, const valarray< _Tp > &__w)
    template<class _Dom> _Expr< _BinClos< __minus, _ValArray, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __minus,
        typename _Dom::value_type >::result_type > operator- (const
        valarray< typename _Dom::value_type > &__v, const _Expr< _Dom,
        typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __minus, _Expr, _ValArray, _Dom,
        typename _Dom::value_type >, typename __fun< __minus, typename
        _Dom::value_type >::result_type > operator- (const _Expr< _Dom,
        typename _Dom::value_type > &__e, const valarray< typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __minus, _Constant, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __minus,
        typename _Dom::value_type >::result_type > operator- (const
        typename _Dom::value_type &__t, const _Expr< _Dom, typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __minus, _Expr, _Constant, _Dom,
        typename _Dom::value_type >, typename __fun< __minus, typename
        _Dom::value_type >::result_type > operator- (const _Expr< _Dom,
        typename _Dom::value_type > &__v, const typename _Dom::value_type
        &__t)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __minus, _Expr,
        _Expr, _Dom1, _Dom2 >, typename __fun< __minus, typename
        _Dom1::value_type >::result_type > operator- (const _Expr< _Dom1,
        typename _Dom1::value_type > &__v, const _Expr< _Dom2, typename
        _Dom2::value_type > &__w)
    template<typename _Tp, typename _RefL, typename _PtrL, typename _RefR,
        typename _PtrR> _Deque_iterator< _Tp, _RefL, _PtrL
        >::difference_type operator- (const _Deque_iterator< _Tp, _RefL,
        _PtrL > &__x, const _Deque_iterator< _Tp, _RefR, _PtrR > &__y)
    template<typename _Tp, typename _Ref, typename _Ptr> _Deque_iterator<
        _Tp, _Ref, _Ptr >::difference_type operator- (const
        _Deque_iterator< _Tp, _Ref, _Ptr > &__x, const _Deque_iterator<
        _Tp, _Ref, _Ptr > &__y)
    ptrdiff_t operator- (const _Bit_iterator_base &__x, const
        _Bit_iterator_base &__y)
    template<typename _Tp> _Expr< _BinClos< __minus, _Constant, _ValArray,
        _Tp, _Tp >, typename __fun< __minus, _Tp >::result_type > operator        (const _Tp &__t, const valarray< _Tp > &__v)
    template<typename _Tp> _Expr< _BinClos< __minus, _ValArray, _Constant,
        _Tp, _Tp >, typename __fun< __minus, _Tp >::result_type > operator        (const valarray< _Tp > &__v, const _Tp &__t)
    template<typename _Tp> _Expr< _BinClos< __minus, _ValArray, _ValArray,
        _Tp, _Tp >, typename __fun< __minus, _Tp >::result_type > operator        (const valarray< _Tp > &__v, const valarray< _Tp > &__w)
    template<class _Dom> _Expr< _BinClos< __divides, _ValArray, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __divides,
        typename _Dom::value_type >::result_type > operator/ (const
        valarray< typename _Dom::value_type > &__v, const _Expr< _Dom,
        typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __divides, _Expr, _ValArray,
        _Dom, typename _Dom::value_type >, typename __fun< __divides,
        typename _Dom::value_type >::result_type > operator/ (const _Expr<
        _Dom, typename _Dom::value_type > &__e, const valarray< typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __divides, _Constant, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __divides,
        typename _Dom::value_type >::result_type > operator/ (const
        typename _Dom::value_type &__t, const _Expr< _Dom, typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __divides, _Expr, _Constant,
        _Dom, typename _Dom::value_type >, typename __fun< __divides,
        typename _Dom::value_type >::result_type > operator/ (const _Expr<
        _Dom, typename _Dom::value_type > &__v, const typename
        _Dom::value_type &__t)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __divides, _Expr,
        _Expr, _Dom1, _Dom2 >, typename __fun< __divides, typename
        _Dom1::value_type >::result_type > operator/ (const _Expr< _Dom1,
        typename _Dom1::value_type > &__v, const _Expr< _Dom2, typename
        _Dom2::value_type > &__w)
    template<typename _Tp> _Expr< _BinClos< __divides, _Constant,
        _ValArray, _Tp, _Tp >, typename __fun< __divides, _Tp
        >::result_type > operator/ (const _Tp &__t, const valarray< _Tp >
        &__v)
    template<typename _Tp> _Expr< _BinClos< __divides, _ValArray,
        _Constant, _Tp, _Tp >, typename __fun< __divides, _Tp
        >::result_type > operator/ (const valarray< _Tp > &__v, const _Tp
        &__t)
    template<typename _Tp> _Expr< _BinClos< __divides, _ValArray,
        _ValArray, _Tp, _Tp >, typename __fun< __divides, _Tp
        >::result_type > operator/ (const valarray< _Tp > &__v, const
        valarray< _Tp > &__w)
    template<class _Dom> _Expr< _BinClos< __less, _ValArray, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __less, typename
        _Dom::value_type >::result_type > operator< (const valarray<
        typename _Dom::value_type > &__v, const _Expr< _Dom, typename
        _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __less, _Expr, _ValArray, _Dom,
        typename _Dom::value_type >, typename __fun< __less, typename
        _Dom::value_type >::result_type > operator< (const _Expr< _Dom,
        typename _Dom::value_type > &__e, const valarray< typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __less, _Constant, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __less, typename
        _Dom::value_type >::result_type > operator< (const typename
        _Dom::value_type &__t, const _Expr< _Dom, typename _Dom::value_type
        > &__v)
    template<class _Dom> _Expr< _BinClos< __less, _Expr, _Constant, _Dom,
        typename _Dom::value_type >, typename __fun< __less, typename
        _Dom::value_type >::result_type > operator< (const _Expr< _Dom,
        typename _Dom::value_type > &__v, const typename _Dom::value_type
        &__t)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __less, _Expr,
        _Expr, _Dom1, _Dom2 >, typename __fun< __less, typename
        _Dom1::value_type >::result_type > operator< (const _Expr< _Dom1,
        typename _Dom1::value_type > &__v, const _Expr< _Dom2, typename
        _Dom2::value_type > &__w)
    template<typename _Tp, typename _Alloc> bool operator< (const vector<
        _Tp, _Alloc > &__x, const vector< _Tp, _Alloc > &__y)
    template<typename _Key, typename _Val, typename _KeyOfValue, typename
        _Compare, typename _Alloc> bool operator< (const _Rb_tree< _Key,
        _Val, _KeyOfValue, _Compare, _Alloc > &__x, const _Rb_tree< _Key,
        _Val, _KeyOfValue, _Compare, _Alloc > &__y)
    template<typename _Tp, typename _Seq> bool operator< (const stack< _Tp,
        _Seq > &__x, const stack< _Tp, _Seq > &__y)
    template<typename _Key, typename _Compare, typename _Alloc> bool
        operator< (const set< _Key, _Compare, _Alloc > &__x, const set<
        _Key, _Compare, _Alloc > &__y)
    template<typename _Tp, typename _Seq> bool operator< (const queue< _Tp,
        _Seq > &__x, const queue< _Tp, _Seq > &__y)
    template<class _T1, class _T2> bool operator< (const pair< _T1, _T2 >
        &__x, const pair< _T1, _T2 > &__y)
    template<typename _Key, typename _Compare, typename _Alloc> bool
        operator< (const multiset< _Key, _Compare, _Alloc > &__x, const
        multiset< _Key, _Compare, _Alloc > &__y)
    template<typename _Key, typename _Tp, typename _Compare, typename
        _Alloc> bool operator< (const multimap< _Key, _Tp, _Compare, _Alloc
        > &__x, const multimap< _Key, _Tp, _Compare, _Alloc > &__y)
    template<typename _Key, typename _Tp, typename _Compare, typename
        _Alloc> bool operator< (const map< _Key, _Tp, _Compare, _Alloc >
        &__x, const map< _Key, _Tp, _Compare, _Alloc > &__y)
    template<typename _Tp, typename _Alloc> bool operator< (const list<
        _Tp, _Alloc > &__x, const list< _Tp, _Alloc > &__y)
    template<typename _Tp, typename _Alloc> bool operator< (const deque<
        _Tp, _Alloc > &__x, const deque< _Tp, _Alloc > &__y)
    template<typename _Tp, typename _RefL, typename _PtrL, typename _RefR,
        typename _PtrR> bool operator< (const _Deque_iterator< _Tp, _RefL,
        _PtrL > &__x, const _Deque_iterator< _Tp, _RefR, _PtrR > &__y)
    template<typename _Tp, typename _Ref, typename _Ptr> bool operator<
        (const _Deque_iterator< _Tp, _Ref, _Ptr > &__x, const
        _Deque_iterator< _Tp, _Ref, _Ptr > &__y)
    template<typename _CharT, typename _Traits, typename _Alloc> bool
        operator< (const _CharT *__lhs, const basic_string< _CharT,
        _Traits, _Alloc > &__rhs)
    template<typename _CharT, typename _Traits, typename _Alloc> bool
        operator< (const basic_string< _CharT, _Traits, _Alloc > &__lhs,
        const _CharT *__rhs)
    template<typename _CharT, typename _Traits, typename _Alloc> bool
        operator< (const basic_string< _CharT, _Traits, _Alloc > &__lhs,
        const basic_string< _CharT, _Traits, _Alloc > &__rhs)
    template<typename _Bi_iter> bool operator< (const sub_match< _Bi_iter >
        &__lhs, typename iterator_traits< _Bi_iter >::value_type const
        &__rhs)
    template<typename _Bi_iter> bool operator< (typename iterator_traits<
        _Bi_iter >::value_type const &__lhs, const sub_match< _Bi_iter >
        &__rhs)
    template<typename _Bi_iter> bool operator< (const sub_match< _Bi_iter >
        &__lhs, typename iterator_traits< _Bi_iter >::value_type const
        *__rhs)
    template<typename _Bi_iter> bool operator< (typename iterator_traits<
        _Bi_iter >::value_type const *__lhs, const sub_match< _Bi_iter >
        &__rhs)
    template<typename _Bi_iter, class _Ch_traits, class _Ch_alloc> bool
        operator< (const sub_match< _Bi_iter > &__lhs, const basic_string<
        typename iterator_traits< _Bi_iter >::value_type, _Ch_traits,
        _Ch_alloc > &__rhs)
    template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
        bool operator< (const basic_string< typename iterator_traits<
        _Bi_iter >::value_type, _Ch_traits, _Ch_alloc > &__lhs, const
        sub_match< _Bi_iter > &__rhs)
    template<typename _BiIter> bool operator< (const sub_match< _BiIter >
        &__lhs, const sub_match< _BiIter > &__rhs)
    template<typename _Tp, std::size_t _Nm> bool operator< (const array<
        _Tp, _Nm > &__a, const array< _Tp, _Nm > &__b)
    template<typename _Tp> _Expr< _BinClos< __less, _Constant, _ValArray,
        _Tp, _Tp >, typename __fun< __less, _Tp >::result_type > operator<
        (const _Tp &__t, const valarray< _Tp > &__v)
    template<typename _Tp> _Expr< _BinClos< __less, _ValArray, _Constant,
        _Tp, _Tp >, typename __fun< __less, _Tp >::result_type > operator<
        (const valarray< _Tp > &__v, const _Tp &__t)
    template<typename _Tp> _Expr< _BinClos< __less, _ValArray, _ValArray,
        _Tp, _Tp >, typename __fun< __less, _Tp >::result_type > operator<
        (const valarray< _Tp > &__v, const valarray< _Tp > &__w)
    template<typename... _TElements, typename... _UElements> bool operator<
        (const tuple< _TElements...> &__t, const tuple< _UElements...>
        &__u)
    template<typename _CharT, typename _Traits, typename _Alloc, template<
        typename, typename, typename > class _Base> basic_ostream< _CharT,
        _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os,
        const __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >
        &__str)
    template<typename _RealType, typename _CharT, typename _Traits>
        std::basic_ostream< _CharT, _Traits > & operator<<
        (std::basic_ostream< _CharT, _Traits > &__os, const
        gamma_distribution< _RealType > &__x)
    template<typename _RealType, typename _CharT, typename _Traits>
        std::basic_ostream< _CharT, _Traits > & operator<<
        (std::basic_ostream< _CharT, _Traits > &__os, const
        normal_distribution< _RealType > &__x)
    template<typename _RealType, typename _CharT, typename _Traits>
        std::basic_ostream< _CharT, _Traits > & operator<<
        (std::basic_ostream< _CharT, _Traits > &__os, const
        exponential_distribution< _RealType > &__x)
    template<typename _RealType, typename _CharT, typename _Traits>
        std::basic_ostream< _CharT, _Traits > & operator<<
        (std::basic_ostream< _CharT, _Traits > &__os, const uniform_real<
        _RealType > &__x)
    template<typename _IntType, typename _RealType, typename _CharT,
        typename _Traits> std::basic_ostream< _CharT, _Traits > &
        operator<< (std::basic_ostream< _CharT, _Traits > &__os, const
        binomial_distribution< _IntType, _RealType > &__x)
    template<typename _IntType, typename _RealType, typename _CharT,
        typename _Traits> std::basic_ostream< _CharT, _Traits > &
        operator<< (std::basic_ostream< _CharT, _Traits > &__os, const
        poisson_distribution< _IntType, _RealType > &__x)
    template<typename _IntType, typename _RealType, typename _CharT,
        typename _Traits> std::basic_ostream< _CharT, _Traits > &
        operator<< (std::basic_ostream< _CharT, _Traits > &__os, const
        geometric_distribution< _IntType, _RealType > &__x)
    template<typename _CharT, typename _Traits> std::basic_ostream< _CharT,
        _Traits > & operator<< (std::basic_ostream< _CharT, _Traits >
        &__os, const bernoulli_distribution &__x)
    template<typename _IntType, typename _CharT, typename _Traits>
        std::basic_ostream< _CharT, _Traits > & operator<<
        (std::basic_ostream< _CharT, _Traits > &__os, const uniform_int<
        _IntType > &__x)
    template<class _UniformRandomNumberGenerator1, int __s1, class
        _UniformRandomNumberGenerator2, int __s2, typename _CharT, typename
        _Traits> std::basic_ostream< _CharT, _Traits > & operator<<
        (std::basic_ostream< _CharT, _Traits > &__os, const xor_combine<
        _UniformRandomNumberGenerator1, __s1,
        _UniformRandomNumberGenerator2, __s2 > &__x)
    template<class _UniformRandomNumberGenerator, int __p, int __r,
        typename _CharT, typename _Traits> std::basic_ostream< _CharT,
        _Traits > & operator<< (std::basic_ostream< _CharT, _Traits >
        &__os, const discard_block< _UniformRandomNumberGenerator, __p, __r
        > &__x)
    template<typename _RealType, int __w, int __s, int __r, typename
        _CharT, typename _Traits> std::basic_ostream< _CharT, _Traits > &
        operator<< (std::basic_ostream< _CharT, _Traits > &__os, const
        subtract_with_carry_01< _RealType, __w, __s, __r > &__x)
    template<typename _IntType, _IntType __m, int __s, int __r, typename
        _CharT, typename _Traits> std::basic_ostream< _CharT, _Traits > &
        operator<< (std::basic_ostream< _CharT, _Traits > &__os, const
        subtract_with_carry< _IntType, __m, __s, __r > &__x)
    template<class _UIntType, int __w, int __n, int __m, int __r, _UIntType
        __a, int __u, int __s, _UIntType __b, int __t, _UIntType __c, int
        __l, typename _CharT, typename _Traits> std::basic_ostream< _CharT,
        _Traits > & operator<< (std::basic_ostream< _CharT, _Traits >
        &__os, const mersenne_twister< _UIntType, __w, __n, __m, __r, __a,
        __u, __s, __b, __t, __c, __l > &__x)
    template<class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m,
        typename _CharT, typename _Traits> std::basic_ostream< _CharT,
        _Traits > & operator<< (std::basic_ostream< _CharT, _Traits >
        &__os, const linear_congruential< _UIntType, __a, __c, __m >
        &__lcr)
    template<class _Dom> _Expr< _BinClos< __shift_left, _ValArray, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __shift_left,
        typename _Dom::value_type >::result_type > operator<< (const
        valarray< typename _Dom::value_type > &__v, const _Expr< _Dom,
        typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __shift_left, _Expr, _ValArray,
        _Dom, typename _Dom::value_type >, typename __fun< __shift_left,
        typename _Dom::value_type >::result_type > operator<< (const _Expr<
        _Dom, typename _Dom::value_type > &__e, const valarray< typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __shift_left, _Constant, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __shift_left,
        typename _Dom::value_type >::result_type > operator<< (const
        typename _Dom::value_type &__t, const _Expr< _Dom, typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __shift_left, _Expr, _Constant,
        _Dom, typename _Dom::value_type >, typename __fun< __shift_left,
        typename _Dom::value_type >::result_type > operator<< (const _Expr<
        _Dom, typename _Dom::value_type > &__v, const typename
        _Dom::value_type &__t)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __shift_left,
        _Expr, _Expr, _Dom1, _Dom2 >, typename __fun< __shift_left,
        typename _Dom1::value_type >::result_type > operator<< (const
        _Expr< _Dom1, typename _Dom1::value_type > &__v, const _Expr<
        _Dom2, typename _Dom2::value_type > &__w)
    template<typename _CharT, typename _Traits, typename _Alloc>
        basic_ostream< _CharT, _Traits > & operator<< (basic_ostream<
        _CharT, _Traits > &__os, const basic_string< _CharT, _Traits,
        _Alloc > &__str)
    template<typename _Ch_type, typename _Ch_traits, typename _Bi_iter>
        basic_ostream< _Ch_type, _Ch_traits > & operator<< (basic_ostream<
        _Ch_type, _Ch_traits > &__os, const sub_match< _Bi_iter > &__m)
    template<typename _Tp> _Expr< _BinClos< __shift_left, _Constant,
        _ValArray, _Tp, _Tp >, typename __fun< __shift_left, _Tp
        >::result_type > operator<< (const _Tp &__t, const valarray< _Tp >
        &__v)
    template<typename _Tp> _Expr< _BinClos< __shift_left, _ValArray,
        _Constant, _Tp, _Tp >, typename __fun< __shift_left, _Tp
        >::result_type > operator<< (const valarray< _Tp > &__v, const _Tp
        &__t)
    template<typename _Tp> _Expr< _BinClos< __shift_left, _ValArray,
        _ValArray, _Tp, _Tp >, typename __fun< __shift_left, _Tp
        >::result_type > operator<< (const valarray< _Tp > &__v, const
        valarray< _Tp > &__w)
    template<typename _CharT, typename _Traits> basic_ostream< _CharT,
        _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os,
        _Setw __f)
    template<typename _CharT, typename _Traits> basic_ostream< _CharT,
        _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os,
        _Setprecision __f)
    template<typename _CharT, typename _Traits> basic_ostream< _CharT,
        _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os,
        _Setfill< _CharT > __f)
    template<typename _CharT, typename _Traits> basic_ostream< _CharT,
        _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os,
        _Setbase __f)
    template<typename _CharT, typename _Traits> basic_ostream< _CharT,
        _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os,
        _Setiosflags __f)
    template<typename _CharT, typename _Traits> basic_ostream< _CharT,
        _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os,
        _Resetiosflags __f)
    template<class _Dom> _Expr< _BinClos< __less_equal, _ValArray, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __less_equal,
        typename _Dom::value_type >::result_type > operator<= (const
        valarray< typename _Dom::value_type > &__v, const _Expr< _Dom,
        typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __less_equal, _Expr, _ValArray,
        _Dom, typename _Dom::value_type >, typename __fun< __less_equal,
        typename _Dom::value_type >::result_type > operator<= (const _Expr<
        _Dom, typename _Dom::value_type > &__e, const valarray< typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __less_equal, _Constant, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __less_equal,
        typename _Dom::value_type >::result_type > operator<= (const
        typename _Dom::value_type &__t, const _Expr< _Dom, typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __less_equal, _Expr, _Constant,
        _Dom, typename _Dom::value_type >, typename __fun< __less_equal,
        typename _Dom::value_type >::result_type > operator<= (const _Expr<
        _Dom, typename _Dom::value_type > &__v, const typename
        _Dom::value_type &__t)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __less_equal,
        _Expr, _Expr, _Dom1, _Dom2 >, typename __fun< __less_equal,
        typename _Dom1::value_type >::result_type > operator<= (const
        _Expr< _Dom1, typename _Dom1::value_type > &__v, const _Expr<
        _Dom2, typename _Dom2::value_type > &__w)
    template<typename _Tp, typename _Alloc> bool operator<= (const vector<
        _Tp, _Alloc > &__x, const vector< _Tp, _Alloc > &__y)
    template<typename _Key, typename _Val, typename _KeyOfValue, typename
        _Compare, typename _Alloc> bool operator<= (const _Rb_tree< _Key,
        _Val, _KeyOfValue, _Compare, _Alloc > &__x, const _Rb_tree< _Key,
        _Val, _KeyOfValue, _Compare, _Alloc > &__y)
    template<typename _Tp, typename _Seq> bool operator<= (const stack<
        _Tp, _Seq > &__x, const stack< _Tp, _Seq > &__y)
    template<typename _Key, typename _Compare, typename _Alloc> bool
        operator<= (const set< _Key, _Compare, _Alloc > &__x, const set<
        _Key, _Compare, _Alloc > &__y)
    template<typename _Tp, typename _Seq> bool operator<= (const queue<
        _Tp, _Seq > &__x, const queue< _Tp, _Seq > &__y)
    template<class _T1, class _T2> bool operator<= (const pair< _T1, _T2 >
        &__x, const pair< _T1, _T2 > &__y)
    template<typename _Key, typename _Compare, typename _Alloc> bool
        operator<= (const multiset< _Key, _Compare, _Alloc > &__x, const
        multiset< _Key, _Compare, _Alloc > &__y)
    template<typename _Key, typename _Tp, typename _Compare, typename
        _Alloc> bool operator<= (const multimap< _Key, _Tp, _Compare,
        _Alloc > &__x, const multimap< _Key, _Tp, _Compare, _Alloc > &__y)
    template<typename _Key, typename _Tp, typename _Compare, typename
        _Alloc> bool operator<= (const map< _Key, _Tp, _Compare, _Alloc >
        &__x, const map< _Key, _Tp, _Compare, _Alloc > &__y)
    template<typename _Tp, typename _Alloc> bool operator<= (const list<
        _Tp, _Alloc > &__x, const list< _Tp, _Alloc > &__y)
    template<typename _Tp, typename _Alloc> bool operator<= (const deque<
        _Tp, _Alloc > &__x, const deque< _Tp, _Alloc > &__y)
    template<typename _Tp, typename _RefL, typename _PtrL, typename _RefR,
        typename _PtrR> bool operator<= (const _Deque_iterator< _Tp, _RefL,
        _PtrL > &__x, const _Deque_iterator< _Tp, _RefR, _PtrR > &__y)
    template<typename _Tp, typename _Ref, typename _Ptr> bool operator<=
        (const _Deque_iterator< _Tp, _Ref, _Ptr > &__x, const
        _Deque_iterator< _Tp, _Ref, _Ptr > &__y)
    template<typename _CharT, typename _Traits, typename _Alloc> bool
        operator<= (const _CharT *__lhs, const basic_string< _CharT,
        _Traits, _Alloc > &__rhs)
    template<typename _CharT, typename _Traits, typename _Alloc> bool
        operator<= (const basic_string< _CharT, _Traits, _Alloc > &__lhs,
        const _CharT *__rhs)
    template<typename _CharT, typename _Traits, typename _Alloc> bool
        operator<= (const basic_string< _CharT, _Traits, _Alloc > &__lhs,
        const basic_string< _CharT, _Traits, _Alloc > &__rhs)
    template<typename _Bi_iter> bool operator<= (const sub_match< _Bi_iter
        > &__lhs, typename iterator_traits< _Bi_iter >::value_type const
        &__rhs)
    template<typename _Bi_iter> bool operator<= (typename iterator_traits<
        _Bi_iter >::value_type const &__lhs, const sub_match< _Bi_iter >
        &__rhs)
    template<typename _Bi_iter> bool operator<= (const sub_match< _Bi_iter
        > &__lhs, typename iterator_traits< _Bi_iter >::value_type const
        *__rhs)
    template<typename _Bi_iter> bool operator<= (typename iterator_traits<
        _Bi_iter >::value_type const *__lhs, const sub_match< _Bi_iter >
        &__rhs)
    template<typename _Bi_iter, class _Ch_traits, class _Ch_alloc> bool
        operator<= (const sub_match< _Bi_iter > &__lhs, const basic_string<
        typename iterator_traits< _Bi_iter >::value_type, _Ch_traits,
        _Ch_alloc > &__rhs)
    template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
        bool operator<= (const basic_string< typename iterator_traits<
        _Bi_iter >::value_type, _Ch_traits, _Ch_alloc > &__lhs, const
        sub_match< _Bi_iter > &__rhs)
    template<typename _BiIter> bool operator<= (const sub_match< _BiIter >
        &__lhs, const sub_match< _BiIter > &__rhs)
    template<typename _Tp, std::size_t _Nm> bool operator<= (const array<
        _Tp, _Nm > &__one, const array< _Tp, _Nm > &__two)
    template<typename _Tp> _Expr< _BinClos< __less_equal, _Constant,
        _ValArray, _Tp, _Tp >, typename __fun< __less_equal, _Tp
        >::result_type > operator<= (const _Tp &__t, const valarray< _Tp >
        &__v)
    template<typename _Tp> _Expr< _BinClos< __less_equal, _ValArray,
        _Constant, _Tp, _Tp >, typename __fun< __less_equal, _Tp
        >::result_type > operator<= (const valarray< _Tp > &__v, const _Tp
        &__t)
    template<typename _Tp> _Expr< _BinClos< __less_equal, _ValArray,
        _ValArray, _Tp, _Tp >, typename __fun< __less_equal, _Tp
        >::result_type > operator<= (const valarray< _Tp > &__v, const
        valarray< _Tp > &__w)
    template<typename... _TElements, typename... _UElements> bool
        operator<= (const tuple< _TElements...> &__t, const tuple<
        _UElements...> &__u)
    template<class _Dom> _Expr< _BinClos< __equal_to, _ValArray, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __equal_to,
        typename _Dom::value_type >::result_type > operator== (const
        valarray< typename _Dom::value_type > &__v, const _Expr< _Dom,
        typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __equal_to, _Expr, _ValArray,
        _Dom, typename _Dom::value_type >, typename __fun< __equal_to,
        typename _Dom::value_type >::result_type > operator== (const _Expr<
        _Dom, typename _Dom::value_type > &__e, const valarray< typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __equal_to, _Constant, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __equal_to,
        typename _Dom::value_type >::result_type > operator== (const
        typename _Dom::value_type &__t, const _Expr< _Dom, typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __equal_to, _Expr, _Constant,
        _Dom, typename _Dom::value_type >, typename __fun< __equal_to,
        typename _Dom::value_type >::result_type > operator== (const _Expr<
        _Dom, typename _Dom::value_type > &__v, const typename
        _Dom::value_type &__t)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __equal_to, _Expr,
        _Expr, _Dom1, _Dom2 >, typename __fun< __equal_to, typename
        _Dom1::value_type >::result_type > operator== (const _Expr< _Dom1,
        typename _Dom1::value_type > &__v, const _Expr< _Dom2, typename
        _Dom2::value_type > &__w)
    template<typename _CharT, typename _Traits> bool operator== (const
        istreambuf_iterator< _CharT, _Traits > &__a, const
        istreambuf_iterator< _CharT, _Traits > &__b)
    template<typename _Tp, typename _CharT, typename _Traits, typename
        _Dist> bool operator== (const istream_iterator< _Tp, _CharT,
        _Traits, _Dist > &__x, const istream_iterator< _Tp, _CharT,
        _Traits, _Dist > &__y)
    template<typename _Tp, typename _Alloc> bool operator== (const vector<
        _Tp, _Alloc > &__x, const vector< _Tp, _Alloc > &__y)
    template<typename _Key, typename _Val, typename _KeyOfValue, typename
        _Compare, typename _Alloc> bool operator== (const _Rb_tree< _Key,
        _Val, _KeyOfValue, _Compare, _Alloc > &__x, const _Rb_tree< _Key,
        _Val, _KeyOfValue, _Compare, _Alloc > &__y)
    template<typename _Val> bool operator== (const _Rb_tree_iterator< _Val
        > &__x, const _Rb_tree_const_iterator< _Val > &__y)
    template<typename _Tp, typename _Seq> bool operator== (const stack<
        _Tp, _Seq > &__x, const stack< _Tp, _Seq > &__y)
    template<typename _Key, typename _Compare, typename _Alloc> bool
        operator== (const set< _Key, _Compare, _Alloc > &__x, const set<
        _Key, _Compare, _Alloc > &__y)
    template<typename _Tp, typename _Seq> bool operator== (const queue<
        _Tp, _Seq > &__x, const queue< _Tp, _Seq > &__y)
    template<class _T1, class _T2> bool operator== (const pair< _T1, _T2 >
        &__x, const pair< _T1, _T2 > &__y)
    template<typename _Key, typename _Compare, typename _Alloc> bool
        operator== (const multiset< _Key, _Compare, _Alloc > &__x, const
        multiset< _Key, _Compare, _Alloc > &__y)
    template<typename _Key, typename _Tp, typename _Compare, typename
        _Alloc> bool operator== (const multimap< _Key, _Tp, _Compare,
        _Alloc > &__x, const multimap< _Key, _Tp, _Compare, _Alloc > &__y)
    template<typename _Key, typename _Tp, typename _Compare, typename
        _Alloc> bool operator== (const map< _Key, _Tp, _Compare, _Alloc >
        &__x, const map< _Key, _Tp, _Compare, _Alloc > &__y)
    template<typename _Tp, typename _Alloc> bool operator== (const list<
        _Tp, _Alloc > &__x, const list< _Tp, _Alloc > &__y)
    template<typename _Val> bool operator== (const _List_iterator< _Val >
        &__x, const _List_const_iterator< _Val > &__y)
    template<typename _Tp, typename _Alloc> bool operator== (const deque<
        _Tp, _Alloc > &__x, const deque< _Tp, _Alloc > &__y)
    template<typename _Tp, typename _RefL, typename _PtrL, typename _RefR,
        typename _PtrR> bool operator== (const _Deque_iterator< _Tp, _RefL,
        _PtrL > &__x, const _Deque_iterator< _Tp, _RefR, _PtrR > &__y)
    template<typename _Tp, typename _Ref, typename _Ptr> bool operator==
        (const _Deque_iterator< _Tp, _Ref, _Ptr > &__x, const
        _Deque_iterator< _Tp, _Ref, _Ptr > &__y)
    template<typename _StateT> bool operator== (const fpos< _StateT >
        &__lhs, const fpos< _StateT > &__rhs)
    template<typename _CharT, typename _Traits, typename _Alloc> bool
        operator== (const basic_string< _CharT, _Traits, _Alloc > &__lhs,
        const _CharT *__rhs)
    template<typename _CharT, typename _Traits, typename _Alloc> bool
        operator== (const _CharT *__lhs, const basic_string< _CharT,
        _Traits, _Alloc > &__rhs)
    template<typename _CharT> __gnu_cxx::__enable_if< __is_char< _CharT
        >::__value, bool >::__type operator== (const basic_string< _CharT >
        &__lhs, const basic_string< _CharT > &__rhs)
    template<typename _CharT, typename _Traits, typename _Alloc> bool
        operator== (const basic_string< _CharT, _Traits, _Alloc > &__lhs,
        const basic_string< _CharT, _Traits, _Alloc > &__rhs)
    template<typename _Tp> bool operator== (const allocator< _Tp > &, const
        allocator< _Tp > &)
    template<typename _T1, typename _T2> bool operator== (const allocator<
        _T1 > &, const allocator< _T2 > &)
    template<typename _Bi_iter, typename _Allocator> bool operator== (const
        match_results< _Bi_iter, _Allocator > &__m1, const match_results<
        _Bi_iter, _Allocator > &__m2)
    template<typename _Bi_iter> bool operator== (const sub_match< _Bi_iter
        > &__lhs, typename iterator_traits< _Bi_iter >::value_type const
        &__rhs)
    template<typename _Bi_iter> bool operator== (typename iterator_traits<
        _Bi_iter >::value_type const &__lhs, const sub_match< _Bi_iter >
        &__rhs)
    template<typename _Bi_iter> bool operator== (const sub_match< _Bi_iter
        > &__lhs, typename iterator_traits< _Bi_iter >::value_type const
        *__rhs)
    template<typename _Bi_iter> bool operator== (typename iterator_traits<
        _Bi_iter >::value_type const *__lhs, const sub_match< _Bi_iter >
        &__rhs)
    template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
        bool operator== (const sub_match< _Bi_iter > &__lhs, const
        basic_string< typename iterator_traits< _Bi_iter >::value_type,
        _Ch_traits, _Ch_alloc > &__rhs)
    template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
        bool operator== (const basic_string< typename iterator_traits<
        _Bi_iter >::value_type, _Ch_traits, _Ch_alloc > &__lhs, const
        sub_match< _Bi_iter > &__rhs)
    template<typename _BiIter> bool operator== (const sub_match< _BiIter >
        &__lhs, const sub_match< _BiIter > &__rhs)
    template<typename _Signature> bool operator== (_M_clear_type *, const
        function< _Signature > &__f)
    template<typename _Signature> bool operator== (const function<
        _Signature > &__f, _M_clear_type *)
    template<typename _Tp, std::size_t _Nm> bool operator== (const array<
        _Tp, _Nm > &__one, const array< _Tp, _Nm > &__two)
    template<typename _Tp> _Expr< _BinClos< __equal_to, _Constant,
        _ValArray, _Tp, _Tp >, typename __fun< __equal_to, _Tp
        >::result_type > operator== (const _Tp &__t, const valarray< _Tp >
        &__v)
    template<typename _Tp> _Expr< _BinClos< __equal_to, _ValArray,
        _Constant, _Tp, _Tp >, typename __fun< __equal_to, _Tp
        >::result_type > operator== (const valarray< _Tp > &__v, const _Tp
        &__t)
    template<typename _Tp> _Expr< _BinClos< __equal_to, _ValArray,
        _ValArray, _Tp, _Tp >, typename __fun< __equal_to, _Tp
        >::result_type > operator== (const valarray< _Tp > &__v, const
        valarray< _Tp > &__w)
    template<typename... _TElements, typename... _UElements> bool
        operator== (const tuple< _TElements...> &__t, const tuple<
        _UElements...> &__u)
    template<class _Dom> _Expr< _BinClos< __greater, _ValArray, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __greater,
        typename _Dom::value_type >::result_type > operator> (const
        valarray< typename _Dom::value_type > &__v, const _Expr< _Dom,
        typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __greater, _Expr, _ValArray,
        _Dom, typename _Dom::value_type >, typename __fun< __greater,
        typename _Dom::value_type >::result_type > operator> (const _Expr<
        _Dom, typename _Dom::value_type > &__e, const valarray< typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __greater, _Constant, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __greater,
        typename _Dom::value_type >::result_type > operator> (const
        typename _Dom::value_type &__t, const _Expr< _Dom, typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __greater, _Expr, _Constant,
        _Dom, typename _Dom::value_type >, typename __fun< __greater,
        typename _Dom::value_type >::result_type > operator> (const _Expr<
        _Dom, typename _Dom::value_type > &__v, const typename
        _Dom::value_type &__t)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __greater, _Expr,
        _Expr, _Dom1, _Dom2 >, typename __fun< __greater, typename
        _Dom1::value_type >::result_type > operator> (const _Expr< _Dom1,
        typename _Dom1::value_type > &__v, const _Expr< _Dom2, typename
        _Dom2::value_type > &__w)
    template<typename _Tp, typename _Alloc> bool operator> (const vector<
        _Tp, _Alloc > &__x, const vector< _Tp, _Alloc > &__y)
    template<typename _Key, typename _Val, typename _KeyOfValue, typename
        _Compare, typename _Alloc> bool operator> (const _Rb_tree< _Key,
        _Val, _KeyOfValue, _Compare, _Alloc > &__x, const _Rb_tree< _Key,
        _Val, _KeyOfValue, _Compare, _Alloc > &__y)
    template<typename _Tp, typename _Seq> bool operator> (const stack< _Tp,
        _Seq > &__x, const stack< _Tp, _Seq > &__y)
    template<typename _Key, typename _Compare, typename _Alloc> bool
        operator> (const set< _Key, _Compare, _Alloc > &__x, const set<
        _Key, _Compare, _Alloc > &__y)
    template<typename _Tp, typename _Seq> bool operator> (const queue< _Tp,
        _Seq > &__x, const queue< _Tp, _Seq > &__y)
    template<class _T1, class _T2> bool operator> (const pair< _T1, _T2 >
        &__x, const pair< _T1, _T2 > &__y)
    template<typename _Key, typename _Compare, typename _Alloc> bool
        operator> (const multiset< _Key, _Compare, _Alloc > &__x, const
        multiset< _Key, _Compare, _Alloc > &__y)
    template<typename _Key, typename _Tp, typename _Compare, typename
        _Alloc> bool operator> (const multimap< _Key, _Tp, _Compare, _Alloc
        > &__x, const multimap< _Key, _Tp, _Compare, _Alloc > &__y)
    template<typename _Key, typename _Tp, typename _Compare, typename
        _Alloc> bool operator> (const map< _Key, _Tp, _Compare, _Alloc >
        &__x, const map< _Key, _Tp, _Compare, _Alloc > &__y)
    template<typename _Tp, typename _Alloc> bool operator> (const list<
        _Tp, _Alloc > &__x, const list< _Tp, _Alloc > &__y)
    template<typename _Tp, typename _Alloc> bool operator> (const deque<
        _Tp, _Alloc > &__x, const deque< _Tp, _Alloc > &__y)
    template<typename _Tp, typename _RefL, typename _PtrL, typename _RefR,
        typename _PtrR> bool operator> (const _Deque_iterator< _Tp, _RefL,
        _PtrL > &__x, const _Deque_iterator< _Tp, _RefR, _PtrR > &__y)
    template<typename _Tp, typename _Ref, typename _Ptr> bool operator>
        (const _Deque_iterator< _Tp, _Ref, _Ptr > &__x, const
        _Deque_iterator< _Tp, _Ref, _Ptr > &__y)
    template<typename _CharT, typename _Traits, typename _Alloc> bool
        operator> (const _CharT *__lhs, const basic_string< _CharT,
        _Traits, _Alloc > &__rhs)
    template<typename _CharT, typename _Traits, typename _Alloc> bool
        operator> (const basic_string< _CharT, _Traits, _Alloc > &__lhs,
        const _CharT *__rhs)
    template<typename _CharT, typename _Traits, typename _Alloc> bool
        operator> (const basic_string< _CharT, _Traits, _Alloc > &__lhs,
        const basic_string< _CharT, _Traits, _Alloc > &__rhs)
    template<typename _Bi_iter> bool operator> (const sub_match< _Bi_iter >
        &__lhs, typename iterator_traits< _Bi_iter >::value_type const
        &__rhs)
    template<typename _Bi_iter> bool operator> (typename iterator_traits<
        _Bi_iter >::value_type const &__lhs, const sub_match< _Bi_iter >
        &__rhs)
    template<typename _Bi_iter> bool operator> (const sub_match< _Bi_iter >
        &__lhs, typename iterator_traits< _Bi_iter >::value_type const
        *__rhs)
    template<typename _Bi_iter> bool operator> (typename iterator_traits<
        _Bi_iter >::value_type const *__lhs, const sub_match< _Bi_iter >
        &__rhs)
    template<typename _Bi_iter, class _Ch_traits, class _Ch_alloc> bool
        operator> (const sub_match< _Bi_iter > &__lhs, const basic_string<
        typename iterator_traits< _Bi_iter >::value_type, _Ch_traits,
        _Ch_alloc > &__rhs)
    template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
        bool operator> (const basic_string< typename iterator_traits<
        _Bi_iter >::value_type, _Ch_traits, _Ch_alloc > &__lhs, const
        sub_match< _Bi_iter > &__rhs)
    template<typename _BiIter> bool operator> (const sub_match< _BiIter >
        &__lhs, const sub_match< _BiIter > &__rhs)
    template<typename _Tp, std::size_t _Nm> bool operator> (const array<
        _Tp, _Nm > &__one, const array< _Tp, _Nm > &__two)
    template<typename _Tp> _Expr< _BinClos< __greater, _Constant,
        _ValArray, _Tp, _Tp >, typename __fun< __greater, _Tp
        >::result_type > operator> (const _Tp &__t, const valarray< _Tp >
        &__v)
    template<typename _Tp> _Expr< _BinClos< __greater, _ValArray,
        _Constant, _Tp, _Tp >, typename __fun< __greater, _Tp
        >::result_type > operator> (const valarray< _Tp > &__v, const _Tp
        &__t)
    template<typename _Tp> _Expr< _BinClos< __greater, _ValArray,
        _ValArray, _Tp, _Tp >, typename __fun< __greater, _Tp
        >::result_type > operator> (const valarray< _Tp > &__v, const
        valarray< _Tp > &__w)
    template<typename... _TElements, typename... _UElements> bool operator>
        (const tuple< _TElements...> &__t, const tuple< _UElements...>
        &__u)
    template<class _Dom> _Expr< _BinClos< __greater_equal, _ValArray,
        _Expr, typename _Dom::value_type, _Dom >, typename __fun<
        __greater_equal, typename _Dom::value_type >::result_type >
        operator>= (const valarray< typename _Dom::value_type > &__v, const
        _Expr< _Dom, typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __greater_equal, _Expr,
        _ValArray, _Dom, typename _Dom::value_type >, typename __fun<
        __greater_equal, typename _Dom::value_type >::result_type >
        operator>= (const _Expr< _Dom, typename _Dom::value_type > &__e,
        const valarray< typename _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __greater_equal, _Constant,
        _Expr, typename _Dom::value_type, _Dom >, typename __fun<
        __greater_equal, typename _Dom::value_type >::result_type >
        operator>= (const typename _Dom::value_type &__t, const _Expr<
        _Dom, typename _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __greater_equal, _Expr,
        _Constant, _Dom, typename _Dom::value_type >, typename __fun<
        __greater_equal, typename _Dom::value_type >::result_type >
        operator>= (const _Expr< _Dom, typename _Dom::value_type > &__v,
        const typename _Dom::value_type &__t)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __greater_equal,
        _Expr, _Expr, _Dom1, _Dom2 >, typename __fun< __greater_equal,
        typename _Dom1::value_type >::result_type > operator>= (const
        _Expr< _Dom1, typename _Dom1::value_type > &__v, const _Expr<
        _Dom2, typename _Dom2::value_type > &__w)
    template<typename _Tp, typename _Alloc> bool operator>= (const vector<
        _Tp, _Alloc > &__x, const vector< _Tp, _Alloc > &__y)
    template<typename _Key, typename _Val, typename _KeyOfValue, typename
        _Compare, typename _Alloc> bool operator>= (const _Rb_tree< _Key,
        _Val, _KeyOfValue, _Compare, _Alloc > &__x, const _Rb_tree< _Key,
        _Val, _KeyOfValue, _Compare, _Alloc > &__y)
    template<typename _Tp, typename _Seq> bool operator>= (const stack<
        _Tp, _Seq > &__x, const stack< _Tp, _Seq > &__y)
    template<typename _Key, typename _Compare, typename _Alloc> bool
        operator>= (const set< _Key, _Compare, _Alloc > &__x, const set<
        _Key, _Compare, _Alloc > &__y)
    template<typename _Tp, typename _Seq> bool operator>= (const queue<
        _Tp, _Seq > &__x, const queue< _Tp, _Seq > &__y)
    template<class _T1, class _T2> bool operator>= (const pair< _T1, _T2 >
        &__x, const pair< _T1, _T2 > &__y)
    template<typename _Key, typename _Compare, typename _Alloc> bool
        operator>= (const multiset< _Key, _Compare, _Alloc > &__x, const
        multiset< _Key, _Compare, _Alloc > &__y)
    template<typename _Key, typename _Tp, typename _Compare, typename
        _Alloc> bool operator>= (const multimap< _Key, _Tp, _Compare,
        _Alloc > &__x, const multimap< _Key, _Tp, _Compare, _Alloc > &__y)
    template<typename _Key, typename _Tp, typename _Compare, typename
        _Alloc> bool operator>= (const map< _Key, _Tp, _Compare, _Alloc >
        &__x, const map< _Key, _Tp, _Compare, _Alloc > &__y)
    template<typename _Tp, typename _Alloc> bool operator>= (const list<
        _Tp, _Alloc > &__x, const list< _Tp, _Alloc > &__y)
    template<typename _Tp, typename _Alloc> bool operator>= (const deque<
        _Tp, _Alloc > &__x, const deque< _Tp, _Alloc > &__y)
    template<typename _Tp, typename _RefL, typename _PtrL, typename _RefR,
        typename _PtrR> bool operator>= (const _Deque_iterator< _Tp, _RefL,
        _PtrL > &__x, const _Deque_iterator< _Tp, _RefR, _PtrR > &__y)
    template<typename _Tp, typename _Ref, typename _Ptr> bool operator>=
        (const _Deque_iterator< _Tp, _Ref, _Ptr > &__x, const
        _Deque_iterator< _Tp, _Ref, _Ptr > &__y)
    template<typename _CharT, typename _Traits, typename _Alloc> bool
        operator>= (const _CharT *__lhs, const basic_string< _CharT,
        _Traits, _Alloc > &__rhs)
    template<typename _CharT, typename _Traits, typename _Alloc> bool
        operator>= (const basic_string< _CharT, _Traits, _Alloc > &__lhs,
        const _CharT *__rhs)
    template<typename _CharT, typename _Traits, typename _Alloc> bool
        operator>= (const basic_string< _CharT, _Traits, _Alloc > &__lhs,
        const basic_string< _CharT, _Traits, _Alloc > &__rhs)
    template<typename _Bi_iter> bool operator>= (const sub_match< _Bi_iter
        > &__lhs, typename iterator_traits< _Bi_iter >::value_type const
        &__rhs)
    template<typename _Bi_iter> bool operator>= (typename iterator_traits<
        _Bi_iter >::value_type const &__lhs, const sub_match< _Bi_iter >
        &__rhs)
    template<typename _Bi_iter> bool operator>= (const sub_match< _Bi_iter
        > &__lhs, typename iterator_traits< _Bi_iter >::value_type const
        *__rhs)
    template<typename _Bi_iter> bool operator>= (typename iterator_traits<
        _Bi_iter >::value_type const *__lhs, const sub_match< _Bi_iter >
        &__rhs)
    template<typename _Bi_iter, class _Ch_traits, class _Ch_alloc> bool
        operator>= (const sub_match< _Bi_iter > &__lhs, const basic_string<
        typename iterator_traits< _Bi_iter >::value_type, _Ch_traits,
        _Ch_alloc > &__rhs)
    template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
        bool operator>= (const basic_string< typename iterator_traits<
        _Bi_iter >::value_type, _Ch_traits, _Ch_alloc > &__lhs, const
        sub_match< _Bi_iter > &__rhs)
    template<typename _BiIter> bool operator>= (const sub_match< _BiIter >
        &__lhs, const sub_match< _BiIter > &__rhs)
    template<typename _Tp, std::size_t _Nm> bool operator>= (const array<
        _Tp, _Nm > &__one, const array< _Tp, _Nm > &__two)
    template<typename _Tp> _Expr< _BinClos< __greater_equal, _Constant,
        _ValArray, _Tp, _Tp >, typename __fun< __greater_equal, _Tp
        >::result_type > operator>= (const _Tp &__t, const valarray< _Tp >
        &__v)
    template<typename _Tp> _Expr< _BinClos< __greater_equal, _ValArray,
        _Constant, _Tp, _Tp >, typename __fun< __greater_equal, _Tp
        >::result_type > operator>= (const valarray< _Tp > &__v, const _Tp
        &__t)
    template<typename _Tp> _Expr< _BinClos< __greater_equal, _ValArray,
        _ValArray, _Tp, _Tp >, typename __fun< __greater_equal, _Tp
        >::result_type > operator>= (const valarray< _Tp > &__v, const
        valarray< _Tp > &__w)
    template<typename... _TElements, typename... _UElements> bool
        operator>= (const tuple< _TElements...> &__t, const tuple<
        _UElements...> &__u)
    template<typename _CharT, typename _Traits, typename _Alloc, template<
        typename, typename, typename > class _Base> basic_istream< _CharT,
        _Traits > & operator>> (basic_istream< _CharT, _Traits > &__is,
        __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base > &__str)
    template<typename _RealType, typename _CharT, typename _Traits>
        std::basic_istream< _CharT, _Traits > & operator>>
        (std::basic_istream< _CharT, _Traits > &__is, normal_distribution<
        _RealType > &__x)
    template<typename _RealType, typename _CharT, typename _Traits>
        std::basic_istream< _CharT, _Traits > & operator>>
        (std::basic_istream< _CharT, _Traits > &__is, uniform_real<
        _RealType > &__x)
    template<typename _IntType, typename _RealType, typename _CharT,
        typename _Traits> std::basic_istream< _CharT, _Traits > &
        operator>> (std::basic_istream< _CharT, _Traits > &__is,
        binomial_distribution< _IntType, _RealType > &__x)
    template<typename _IntType, typename _RealType, typename _CharT,
        typename _Traits> std::basic_istream< _CharT, _Traits > &
        operator>> (std::basic_istream< _CharT, _Traits > &__is,
        poisson_distribution< _IntType, _RealType > &__x)
    template<typename _IntType, typename _CharT, typename _Traits>
        std::basic_istream< _CharT, _Traits > & operator>>
        (std::basic_istream< _CharT, _Traits > &__is, uniform_int< _IntType
        > &__x)
    template<class _UniformRandomNumberGenerator1, int __s1, class
        _UniformRandomNumberGenerator2, int __s2, typename _CharT, typename
        _Traits> std::basic_istream< _CharT, _Traits > & operator>>
        (std::basic_istream< _CharT, _Traits > &__is, xor_combine<
        _UniformRandomNumberGenerator1, __s1,
        _UniformRandomNumberGenerator2, __s2 > &__x)
    template<class _UniformRandomNumberGenerator, int __p, int __r,
        typename _CharT, typename _Traits> std::basic_istream< _CharT,
        _Traits > & operator>> (std::basic_istream< _CharT, _Traits >
        &__is, discard_block< _UniformRandomNumberGenerator, __p, __r >
        &__x)
    template<typename _RealType, int __w, int __s, int __r, typename
        _CharT, typename _Traits> std::basic_istream< _CharT, _Traits > &
        operator>> (std::basic_istream< _CharT, _Traits > &__is,
        subtract_with_carry_01< _RealType, __w, __s, __r > &__x)
    template<typename _IntType, _IntType __m, int __s, int __r, typename
        _CharT, typename _Traits> std::basic_istream< _CharT, _Traits > &
        operator>> (std::basic_istream< _CharT, _Traits > &__is,
        subtract_with_carry< _IntType, __m, __s, __r > &__x)
    template<class _UIntType, int __w, int __n, int __m, int __r, _UIntType
        __a, int __u, int __s, _UIntType __b, int __t, _UIntType __c, int
        __l, typename _CharT, typename _Traits> std::basic_istream< _CharT,
        _Traits > & operator>> (std::basic_istream< _CharT, _Traits >
        &__is, mersenne_twister< _UIntType, __w, __n, __m, __r, __a, __u,
        __s, __b, __t, __c, __l > &__x)
    template<class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m,
        typename _CharT, typename _Traits> std::basic_istream< _CharT,
        _Traits > & operator>> (std::basic_istream< _CharT, _Traits >
        &__is, linear_congruential< _UIntType, __a, __c, __m > &__lcr)
    template<class _Dom> _Expr< _BinClos< __shift_right, _ValArray, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __shift_right,
        typename _Dom::value_type >::result_type > operator>> (const
        valarray< typename _Dom::value_type > &__v, const _Expr< _Dom,
        typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __shift_right, _Expr, _ValArray,
        _Dom, typename _Dom::value_type >, typename __fun< __shift_right,
        typename _Dom::value_type >::result_type > operator>> (const _Expr<
        _Dom, typename _Dom::value_type > &__e, const valarray< typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __shift_right, _Constant, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __shift_right,
        typename _Dom::value_type >::result_type > operator>> (const
        typename _Dom::value_type &__t, const _Expr< _Dom, typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __shift_right, _Expr, _Constant,
        _Dom, typename _Dom::value_type >, typename __fun< __shift_right,
        typename _Dom::value_type >::result_type > operator>> (const _Expr<
        _Dom, typename _Dom::value_type > &__v, const typename
        _Dom::value_type &__t)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __shift_right,
        _Expr, _Expr, _Dom1, _Dom2 >, typename __fun< __shift_right,
        typename _Dom1::value_type >::result_type > operator>> (const
        _Expr< _Dom1, typename _Dom1::value_type > &__v, const _Expr<
        _Dom2, typename _Dom2::value_type > &__w)
    template<> basic_istream< char > & operator>> (basic_istream< char >
        &__is, basic_string< char > &__str)
    template<typename _CharT, typename _Traits, typename _Alloc>
        basic_istream< _CharT, _Traits > & operator>> (basic_istream<
        _CharT, _Traits > &__is, basic_string< _CharT, _Traits, _Alloc >
        &__str)
    template<typename _Tp> _Expr< _BinClos< __shift_right, _Constant,
        _ValArray, _Tp, _Tp >, typename __fun< __shift_right, _Tp
        >::result_type > operator>> (const _Tp &__t, const valarray< _Tp >
        &__v)
    template<typename _Tp> _Expr< _BinClos< __shift_right, _ValArray,
        _Constant, _Tp, _Tp >, typename __fun< __shift_right, _Tp
        >::result_type > operator>> (const valarray< _Tp > &__v, const _Tp
        &__t)
    template<typename _Tp> _Expr< _BinClos< __shift_right, _ValArray,
        _ValArray, _Tp, _Tp >, typename __fun< __shift_right, _Tp
        >::result_type > operator>> (const valarray< _Tp > &__v, const
        valarray< _Tp > &__w)
    template<typename _CharT, typename _Traits> basic_istream< _CharT,
        _Traits > & operator>> (basic_istream< _CharT, _Traits > &__is,
        _Setw __f)
    template<typename _CharT, typename _Traits> basic_istream< _CharT,
        _Traits > & operator>> (basic_istream< _CharT, _Traits > &__is,
        _Setprecision __f)
    template<typename _CharT, typename _Traits> basic_istream< _CharT,
        _Traits > & operator>> (basic_istream< _CharT, _Traits > &__is,
        _Setfill< _CharT > __f)
    template<typename _CharT, typename _Traits> basic_istream< _CharT,
        _Traits > & operator>> (basic_istream< _CharT, _Traits > &__is,
        _Setbase __f)
    template<typename _CharT, typename _Traits> basic_istream< _CharT,
        _Traits > & operator>> (basic_istream< _CharT, _Traits > &__is,
        _Setiosflags __f)
    template<typename _CharT, typename _Traits> basic_istream< _CharT,
        _Traits > & operator>> (basic_istream< _CharT, _Traits > &__is,
        _Resetiosflags __f)
    template<class _Dom> _Expr< _BinClos< __bitwise_xor, _ValArray, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __bitwise_xor,
        typename _Dom::value_type >::result_type > operator^ (const
        valarray< typename _Dom::value_type > &__v, const _Expr< _Dom,
        typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __bitwise_xor, _Expr, _ValArray,
        _Dom, typename _Dom::value_type >, typename __fun< __bitwise_xor,
        typename _Dom::value_type >::result_type > operator^ (const _Expr<
        _Dom, typename _Dom::value_type > &__e, const valarray< typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __bitwise_xor, _Constant, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __bitwise_xor,
        typename _Dom::value_type >::result_type > operator^ (const
        typename _Dom::value_type &__t, const _Expr< _Dom, typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __bitwise_xor, _Expr, _Constant,
        _Dom, typename _Dom::value_type >, typename __fun< __bitwise_xor,
        typename _Dom::value_type >::result_type > operator^ (const _Expr<
        _Dom, typename _Dom::value_type > &__v, const typename
        _Dom::value_type &__t)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __bitwise_xor,
        _Expr, _Expr, _Dom1, _Dom2 >, typename __fun< __bitwise_xor,
        typename _Dom1::value_type >::result_type > operator^ (const _Expr<
        _Dom1, typename _Dom1::value_type > &__v, const _Expr< _Dom2,
        typename _Dom2::value_type > &__w)
    _Ios_Iostate operator^ (_Ios_Iostate __a, _Ios_Iostate __b)
    _Ios_Openmode operator^ (_Ios_Openmode __a, _Ios_Openmode __b)
    _Ios_Fmtflags operator^ (_Ios_Fmtflags __a, _Ios_Fmtflags __b)
    template<typename _Tp> _Expr< _BinClos< __bitwise_xor, _Constant,
        _ValArray, _Tp, _Tp >, typename __fun< __bitwise_xor, _Tp
        >::result_type > operator^ (const _Tp &__t, const valarray< _Tp >
        &__v)
    template<typename _Tp> _Expr< _BinClos< __bitwise_xor, _ValArray,
        _Constant, _Tp, _Tp >, typename __fun< __bitwise_xor, _Tp
        >::result_type > operator^ (const valarray< _Tp > &__v, const _Tp
        &__t)
    template<typename _Tp> _Expr< _BinClos< __bitwise_xor, _ValArray,
        _ValArray, _Tp, _Tp >, typename __fun< __bitwise_xor, _Tp
        >::result_type > operator^ (const valarray< _Tp > &__v, const
        valarray< _Tp > &__w)
    _Ios_Iostate & operator^= (_Ios_Iostate &__a, _Ios_Iostate __b)
    _Ios_Openmode & operator^= (_Ios_Openmode &__a, _Ios_Openmode __b)
    _Ios_Fmtflags & operator^= (_Ios_Fmtflags &__a, _Ios_Fmtflags __b)
    template<class _Dom> _Expr< _BinClos< __bitwise_or, _ValArray, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __bitwise_or,
        typename _Dom::value_type >::result_type > operator| (const
        valarray< typename _Dom::value_type > &__v, const _Expr< _Dom,
        typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __bitwise_or, _Expr, _ValArray,
        _Dom, typename _Dom::value_type >, typename __fun< __bitwise_or,
        typename _Dom::value_type >::result_type > operator| (const _Expr<
        _Dom, typename _Dom::value_type > &__e, const valarray< typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __bitwise_or, _Constant, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __bitwise_or,
        typename _Dom::value_type >::result_type > operator| (const
        typename _Dom::value_type &__t, const _Expr< _Dom, typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __bitwise_or, _Expr, _Constant,
        _Dom, typename _Dom::value_type >, typename __fun< __bitwise_or,
        typename _Dom::value_type >::result_type > operator| (const _Expr<
        _Dom, typename _Dom::value_type > &__v, const typename
        _Dom::value_type &__t)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __bitwise_or,
        _Expr, _Expr, _Dom1, _Dom2 >, typename __fun< __bitwise_or,
        typename _Dom1::value_type >::result_type > operator| (const _Expr<
        _Dom1, typename _Dom1::value_type > &__v, const _Expr< _Dom2,
        typename _Dom2::value_type > &__w)
    _Ios_Iostate operator| (_Ios_Iostate __a, _Ios_Iostate __b)
    _Ios_Openmode operator| (_Ios_Openmode __a, _Ios_Openmode __b)
    _Ios_Fmtflags operator| (_Ios_Fmtflags __a, _Ios_Fmtflags __b)
    template<typename _Tp> _Expr< _BinClos< __bitwise_or, _Constant,
        _ValArray, _Tp, _Tp >, typename __fun< __bitwise_or, _Tp
        >::result_type > operator| (const _Tp &__t, const valarray< _Tp >
        &__v)
    template<typename _Tp> _Expr< _BinClos< __bitwise_or, _ValArray,
        _Constant, _Tp, _Tp >, typename __fun< __bitwise_or, _Tp
        >::result_type > operator| (const valarray< _Tp > &__v, const _Tp
        &__t)
    template<typename _Tp> _Expr< _BinClos< __bitwise_or, _ValArray,
        _ValArray, _Tp, _Tp >, typename __fun< __bitwise_or, _Tp
        >::result_type > operator| (const valarray< _Tp > &__v, const
        valarray< _Tp > &__w)
    _Ios_Iostate & operator|= (_Ios_Iostate &__a, _Ios_Iostate __b)
    _Ios_Openmode & operator|= (_Ios_Openmode &__a, _Ios_Openmode __b)
    _Ios_Fmtflags & operator|= (_Ios_Fmtflags &__a, _Ios_Fmtflags __b)
    template<class _Dom> _Expr< _BinClos< __logical_or, _ValArray, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __logical_or,
        typename _Dom::value_type >::result_type > operator|| (const
        valarray< typename _Dom::value_type > &__v, const _Expr< _Dom,
        typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __logical_or, _Expr, _ValArray,
        _Dom, typename _Dom::value_type >, typename __fun< __logical_or,
        typename _Dom::value_type >::result_type > operator|| (const _Expr<
        _Dom, typename _Dom::value_type > &__e, const valarray< typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __logical_or, _Constant, _Expr,
        typename _Dom::value_type, _Dom >, typename __fun< __logical_or,
        typename _Dom::value_type >::result_type > operator|| (const
        typename _Dom::value_type &__t, const _Expr< _Dom, typename
        _Dom::value_type > &__v)
    template<class _Dom> _Expr< _BinClos< __logical_or, _Expr, _Constant,
        _Dom, typename _Dom::value_type >, typename __fun< __logical_or,
        typename _Dom::value_type >::result_type > operator|| (const _Expr<
        _Dom, typename _Dom::value_type > &__v, const typename
        _Dom::value_type &__t)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __logical_or,
        _Expr, _Expr, _Dom1, _Dom2 >, typename __fun< __logical_or,
        typename _Dom1::value_type >::result_type > operator|| (const
        _Expr< _Dom1, typename _Dom1::value_type > &__v, const _Expr<
        _Dom2, typename _Dom2::value_type > &__w)
    template<typename _Tp> _Expr< _BinClos< __logical_or, _Constant,
        _ValArray, _Tp, _Tp >, typename __fun< __logical_or, _Tp
        >::result_type > operator|| (const _Tp &__t, const valarray< _Tp >
        &__v)
    template<typename _Tp> _Expr< _BinClos< __logical_or, _ValArray,
        _Constant, _Tp, _Tp >, typename __fun< __logical_or, _Tp
        >::result_type > operator|| (const valarray< _Tp > &__v, const _Tp
        &__t)
    template<typename _Tp> _Expr< _BinClos< __logical_or, _ValArray,
        _ValArray, _Tp, _Tp >, typename __fun< __logical_or, _Tp
        >::result_type > operator|| (const valarray< _Tp > &__v, const
        valarray< _Tp > &__w)
    _Ios_Iostate operator~ (_Ios_Iostate __a)
    _Ios_Openmode operator~ (_Ios_Openmode __a)
    _Ios_Fmtflags operator~ (_Ios_Fmtflags __a)
    template<typename _RandomAccessIterator, typename _Compare> void
        partial_sort (_RandomAccessIterator __first, _RandomAccessIterator
        __middle, _RandomAccessIterator __last, _Compare __comp)
    template<typename _RandomAccessIterator> void partial_sort
        (_RandomAccessIterator __first, _RandomAccessIterator __middle,
        _RandomAccessIterator __last)
    template<typename _RAIter, typename _Compare> void partial_sort
        (_RAIter, _RAIter, _RAIter, _Compare)
    template<typename _RAIter> void partial_sort (_RAIter, _RAIter,
        _RAIter)
    template<typename _InputIterator, typename _RandomAccessIterator,
        typename _Compare> _RandomAccessIterator partial_sort_copy
        (_InputIterator __first, _InputIterator __last,
        _RandomAccessIterator __result_first, _RandomAccessIterator
        __result_last, _Compare __comp)
    template<typename _InputIterator, typename _RandomAccessIterator>
        _RandomAccessIterator partial_sort_copy (_InputIterator __first,
        _InputIterator __last, _RandomAccessIterator __result_first,
        _RandomAccessIterator __result_last)
    template<typename _IIter, typename _RAIter, typename _Compare> _RAIter
        partial_sort_copy (_IIter, _IIter, _RAIter, _RAIter, _Compare)
    template<typename _IIter, typename _RAIter> _RAIter partial_sort_copy
        (_IIter, _IIter, _RAIter, _RAIter)
    template<typename _InputIterator, typename _OutputIterator, typename
        _BinaryOperation> _OutputIterator partial_sum (_InputIterator
        __first, _InputIterator __last, _OutputIterator __result,
        _BinaryOperation __binary_op)
    template<typename _InputIterator, typename _OutputIterator>
        _OutputIterator partial_sum (_InputIterator __first, _InputIterator
        __last, _OutputIterator __result)
    template<typename _ForwardIterator, typename _Predicate>
        _ForwardIterator partition (_ForwardIterator __first,
        _ForwardIterator __last, _Predicate __pred)
    template<typename _BIter, typename _Predicate> _BIter partition
        (_BIter, _BIter, _Predicate)
    template<typename _Tp, typename _Up> std::complex< typename
        __gnu_cxx::__promote_2< _Tp, _Up >::__type > polar (const _Tp
        &__rho, const _Up &__theta)
    template<typename _RandomAccessIterator, typename _Compare> void
        pop_heap (_RandomAccessIterator __first, _RandomAccessIterator
        __last, _Compare __comp)
    template<typename _RandomAccessIterator> void pop_heap
        (_RandomAccessIterator __first, _RandomAccessIterator __last)
    template<typename _RAIter, typename _Compare> void pop_heap (_RAIter,
        _RAIter, _Compare)
    template<typename _RAIter> void pop_heap (_RAIter, _RAIter)
    template<typename _Tp> _Expr< _BinClos< __pow, _Constant, _ValArray,
        _Tp, _Tp >, _Tp > pow (const _Tp &__t, const valarray< _Tp > &__v)
    template<typename _Tp> _Expr< _BinClos< __pow, _ValArray, _Constant,
        _Tp, _Tp >, _Tp > pow (const valarray< _Tp > &__v, const _Tp &__t)
    template<typename _Tp> _Expr< _BinClos< __pow, _ValArray, _ValArray,
        _Tp, _Tp >, _Tp > pow (const valarray< _Tp > &__v, const valarray<
        _Tp > &__w)
    template<class _Dom> _Expr< _BinClos< __pow, _Constant, _Expr, typename
        _Dom::value_type, _Dom >, typename _Dom::value_type > pow (const
        typename _Dom::value_type &__t, const _Expr< _Dom, typename
        _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __pow, _Expr, _Constant, _Dom,
        typename _Dom::value_type >, typename _Dom::value_type > pow (const
        _Expr< _Dom, typename _Dom::value_type > &__e, const typename
        _Dom::value_type &__t)
    template<class _Dom> _Expr< _BinClos< __pow, _ValArray, _Expr, typename
        _Dom::value_type, _Dom >, typename _Dom::value_type > pow (const
        valarray< typename _Dom::valarray > &__v, const _Expr< _Dom,
        typename _Dom::value_type > &__e)
    template<class _Dom> _Expr< _BinClos< __pow, _Expr, _ValArray, _Dom,
        typename _Dom::value_type >, typename _Dom::value_type > pow (const
        _Expr< _Dom, typename _Dom::value_type > &__e, const valarray<
        typename _Dom::value_type > &__v)
    template<class _Dom1, class _Dom2> _Expr< _BinClos< __pow, _Expr,
        _Expr, _Dom1, _Dom2 >, typename _Dom1::value_type > pow (const
        _Expr< _Dom1, typename _Dom1::value_type > &__e1, const _Expr<
        _Dom2, typename _Dom2::value_type > &__e2)
    template<typename _Tp, typename _Up> std::complex< typename
        __gnu_cxx::__promote_2< _Tp, _Up >::__type > pow (const
        std::complex< _Tp > &__x, const std::complex< _Up > &__y)
    template<typename _Tp, typename _Up> std::complex< typename
        __gnu_cxx::__promote_2< _Tp, _Up >::__type > pow (const _Tp &__x,
        const std::complex< _Up > &__y)
    template<typename _Tp, typename _Up> std::complex< typename
        __gnu_cxx::__promote_2< _Tp, _Up >::__type > pow (const
        std::complex< _Tp > &__x, const _Up &__y)
    template<typename _Tp, typename _Up> __gnu_cxx::__promote_2< typename
        __gnu_cxx::__enable_if< __is_arithmetic< _Tp >::__value
        &&__is_arithmetic< _Up >::__value, _Tp >::__type, _Up >::__type pow
        (_Tp __x, _Up __y)
    long double pow (long double __x, int __n)
    float pow (float __x, int __n)
    double pow (double __x, int __i)
    long double pow (long double __x, long double __y)
    float pow (float __x, float __y)
    template<typename _BidirectionalIterator, typename _Compare> bool
        prev_permutation (_BidirectionalIterator __first,
        _BidirectionalIterator __last, _Compare __comp)
    template<typename _BidirectionalIterator> bool prev_permutation
        (_BidirectionalIterator __first, _BidirectionalIterator __last)
    template<typename _BIter, typename _Compare> bool prev_permutation
        (_BIter, _BIter, _Compare)
    template<typename _BIter> bool prev_permutation (_BIter, _BIter)
    template<typename _Arg1, typename _Arg2, typename _Result>
        pointer_to_binary_function< _Arg1, _Arg2, _Result > ptr_fun
        (_Result(*__x)(_Arg1, _Arg2))
    template<typename _Arg, typename _Result> pointer_to_unary_function<
        _Arg, _Result > ptr_fun (_Result(*__x)(_Arg))
    template<typename _RandomAccessIterator, typename _Compare> void
        push_heap (_RandomAccessIterator __first, _RandomAccessIterator
        __last, _Compare __comp)
    template<typename _RandomAccessIterator> void push_heap
        (_RandomAccessIterator __first, _RandomAccessIterator __last)
    template<typename _RAIter, typename _Compare> void push_heap (_RAIter,
        _RAIter, _Compare)
    template<typename _RAIter> void push_heap (_RAIter, _RAIter)
    template<typename _RandomAccessIterator, typename
        _RandomNumberGenerator> void random_shuffle (_RandomAccessIterator
        __first, _RandomAccessIterator __last, _RandomNumberGenerator
        &__rand)
    template<typename _RandomAccessIterator> void random_shuffle
        (_RandomAccessIterator __first, _RandomAccessIterator __last)
    template<typename _RAIter, typename _Generator> void random_shuffle
        (_RAIter, _RAIter, _Generator &)
    template<typename _RAIter> void random_shuffle (_RAIter, _RAIter)
    template<typename _Tp> __gnu_cxx::__promote< _Tp >::__type real (_Tp
        __x)
    template<typename _Tp> reference_wrapper< _Tp > ref (reference_wrapper<
        _Tp > __t)
    template<typename _Tp> reference_wrapper< _Tp > ref (_Tp &__t)
    template<typename _Ch_traits, typename _Str_allocator, typename
        _Ch_type, typename _Rx_traits> bool regex_match (const
        basic_string< _Ch_type, _Ch_traits, _Str_allocator > &__s, const
        basic_regex< _Ch_type, _Rx_traits > &__re,
        regex_constants::match_flag_type
        __flags=regex_constants::match_default)
    template<typename _Ch_type, class _Rx_traits> bool regex_match (const
        _Ch_type *__s, const basic_regex< _Ch_type, _Rx_traits > &__re,
        regex_constants::match_flag_type
        __f=regex_constants::match_default)
    template<typename _Ch_traits, typename _Ch_alloc, typename _Allocator,
        typename _Ch_type, typename _Rx_traits> bool regex_match (const
        basic_string< _Ch_type, _Ch_traits, _Ch_alloc > &__s,
        match_results< typename basic_string< _Ch_type, _Ch_traits,
        _Ch_alloc >::const_iterator, _Allocator > &__m, const basic_regex<
        _Ch_type, _Rx_traits > &__re, regex_constants::match_flag_type
        __flags=regex_constants::match_default)
    template<typename _Ch_type, typename _Allocator, typename _Rx_traits>
        bool regex_match (const _Ch_type *__s, match_results< const
        _Ch_type *, _Allocator > &__m, const basic_regex< _Ch_type,
        _Rx_traits > &__re, regex_constants::match_flag_type
        __f=regex_constants::match_default)
    template<typename _Bi_iter, typename _Ch_type, typename _Rx_traits>
        bool regex_match (_Bi_iter __first, _Bi_iter __last, const
        basic_regex< _Ch_type, _Rx_traits > &__re,
        regex_constants::match_flag_type
        __flags=regex_constants::match_default)
    template<typename _Bi_iter, typename _Allocator, typename _Ch_type,
        typename _Rx_traits> bool regex_match (_Bi_iter __first, _Bi_iter
        __last, match_results< _Bi_iter, _Allocator > &__m, const
        basic_regex< _Ch_type, _Rx_traits > &__re,
        regex_constants::match_flag_type
        __flags=regex_constants::match_default)
    template<typename _Rx_traits, typename _Ch_type> basic_string< _Ch_type
        > regex_replace (const basic_string< _Ch_type > &__s, const
        basic_regex< _Ch_type, _Rx_traits > &__e, const basic_string<
        _Ch_type > &__fmt, regex_constants::match_flag_type
        __flags=regex_constants::match_default)
    template<typename _Out_iter, typename _Bi_iter, typename _Rx_traits,
        typename _Ch_type> _Out_iter regex_replace (_Out_iter __out,
        _Bi_iter __first, _Bi_iter __last, const basic_regex< _Ch_type,
        _Rx_traits > &__e, const basic_string< _Ch_type > &__fmt,
        regex_constants::match_flag_type
        __flags=regex_constants::match_default)
    template<typename _Ch_traits, typename _Ch_alloc, typename _Allocator,
        typename _Ch_type, typename _Rx_traits> bool regex_search (const
        basic_string< _Ch_type, _Ch_traits, _Ch_alloc > &__s,
        match_results< typename basic_string< _Ch_type, _Ch_traits,
        _Ch_alloc >::const_iterator, _Allocator > &__m, const basic_regex<
        _Ch_type, _Rx_traits > &__e, regex_constants::match_flag_type
        __f=regex_constants::match_default)
    template<typename _Ch_traits, typename _String_allocator, typename
        _Ch_type, typename _Rx_traits> bool regex_search (const
        basic_string< _Ch_type, _Ch_traits, _String_allocator > &__s, const
        basic_regex< _Ch_type, _Rx_traits > &__e,
        regex_constants::match_flag_type
        __flags=regex_constants::match_default)
    template<typename _Ch_type, typename _Rx_traits> bool regex_search
        (const _Ch_type *__s, const basic_regex< _Ch_type, _Rx_traits >
        &__e, regex_constants::match_flag_type
        __f=regex_constants::match_default)
    template<typename _Ch_type, class _Allocator, class _Rx_traits> bool
        regex_search (const _Ch_type *__s, match_results< const _Ch_type *,
        _Allocator > &__m, const basic_regex< _Ch_type, _Rx_traits > &__e,
        regex_constants::match_flag_type
        __f=regex_constants::match_default)
    template<typename _Bi_iter, typename _Ch_type, typename _Rx_traits>
        bool regex_search (_Bi_iter __first, _Bi_iter __last, const
        basic_regex< _Ch_type, _Rx_traits > &__re,
        regex_constants::match_flag_type
        __flags=regex_constants::match_default)
    template<typename _Bi_iter, typename _Allocator, typename _Ch_type,
        typename _Rx_traits> bool regex_search (_Bi_iter __first, _Bi_iter
        __last, match_results< _Bi_iter, _Allocator > &__m, const
        basic_regex< _Ch_type, _Rx_traits > &__re,
        regex_constants::match_flag_type
        __flags=regex_constants::match_default)
    template<typename _ForwardIterator, typename _Tp> _ForwardIterator
        remove (_ForwardIterator __first, _ForwardIterator __last, const
        _Tp &__value)
    template<typename _FIter, typename _Tp> _FIter remove (_FIter, _FIter,
        const _Tp &)
    template<typename _InputIterator, typename _OutputIterator, typename
        _Tp> _OutputIterator remove_copy (_InputIterator __first,
        _InputIterator __last, _OutputIterator __result, const _Tp
        &__value)
    template<typename _IIter, typename _OIter, typename _Tp> _OIter
        remove_copy (_IIter, _IIter, _OIter, const _Tp &)
    template<typename _InputIterator, typename _OutputIterator, typename
        _Predicate> _OutputIterator remove_copy_if (_InputIterator __first,
        _InputIterator __last, _OutputIterator __result, _Predicate __pred)
    template<typename _IIter, typename _OIter, typename _Predicate> _OIter
        remove_copy_if (_IIter, _IIter, _OIter, _Predicate)
    template<typename _ForwardIterator, typename _Predicate>
        _ForwardIterator remove_if (_ForwardIterator __first,
        _ForwardIterator __last, _Predicate __pred)
    template<typename _FIter, typename _Predicate> _FIter remove_if
        (_FIter, _FIter, _Predicate)
    template<typename _ForwardIterator, typename _Tp> void replace
        (_ForwardIterator __first, _ForwardIterator __last, const _Tp
        &__old_value, const _Tp &__new_value)
    template<typename _FIter, typename _Tp> void replace (_FIter, _FIter,
        const _Tp &, const _Tp &)
    template<typename _InputIterator, typename _OutputIterator, typename
        _Tp> _OutputIterator replace_copy (_InputIterator __first,
        _InputIterator __last, _OutputIterator __result, const _Tp
        &__old_value, const _Tp &__new_value)
    template<typename _IIter, typename _OIter, typename _Tp> _OIter
        replace_copy (_IIter, _IIter, _OIter, const _Tp &, const _Tp &)
    template<typename _InputIterator, typename _OutputIterator, typename
        _Predicate, typename _Tp> _OutputIterator replace_copy_if
        (_InputIterator __first, _InputIterator __last, _OutputIterator
        __result, _Predicate __pred, const _Tp &__new_value)
    template<typename _Iter, typename _OIter, typename _Predicate, typename
        _Tp> _OIter replace_copy_if (_Iter, _Iter, _OIter, _Predicate,
        const _Tp &)
    template<typename _ForwardIterator, typename _Predicate, typename _Tp>
        void replace_if (_ForwardIterator __first, _ForwardIterator __last,
        _Predicate __pred, const _Tp &__new_value)
    template<typename _FIter, typename _Predicate, typename _Tp> void
        replace_if (_FIter, _FIter, _Predicate, const _Tp &)
    _Resetiosflags resetiosflags (ios_base::fmtflags __mask)
    template<typename _Tp> void return_temporary_buffer (_Tp *__p)
    template<typename _BidirectionalIterator> void reverse
        (_BidirectionalIterator __first, _BidirectionalIterator __last)
    template<typename _BIter> void reverse (_BIter, _BIter)
    template<typename _BidirectionalIterator, typename _OutputIterator>
        _OutputIterator reverse_copy (_BidirectionalIterator __first,
        _BidirectionalIterator __last, _OutputIterator __result)
    template<typename _BIter, typename _OIter> _OIter reverse_copy (_BIter,
        _BIter, _OIter)
    ios_base & right (ios_base &__base)
    template<typename _ForwardIterator> void rotate (_ForwardIterator
        __first, _ForwardIterator __middle, _ForwardIterator __last)
    template<typename _FIter> void rotate (_FIter, _FIter, _FIter)
    template<typename _ForwardIterator, typename _OutputIterator>
        _OutputIterator rotate_copy (_ForwardIterator __first,
        _ForwardIterator __middle, _ForwardIterator __last, _OutputIterator
        __result)
    template<typename _FIter, typename _OIter> _OIter rotate_copy (_FIter,
        _FIter, _FIter, _OIter)
    ios_base & scientific (ios_base &__base)
    template<typename _ForwardIterator1, typename _ForwardIterator2,
        typename _BinaryPredicate> _ForwardIterator1 search
        (_ForwardIterator1 __first1, _ForwardIterator1 __last1,
        _ForwardIterator2 __first2, _ForwardIterator2 __last2,
        _BinaryPredicate __predicate)
    template<typename _ForwardIterator1, typename _ForwardIterator2>
        _ForwardIterator1 search (_ForwardIterator1 __first1,
        _ForwardIterator1 __last1, _ForwardIterator2 __first2,
        _ForwardIterator2 __last2)
    template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
        _FIter1 search (_FIter1, _FIter1, _FIter2, _FIter2,
        _BinaryPredicate)
    template<typename _FIter1, typename _FIter2> _FIter1 search (_FIter1,
        _FIter1, _FIter2, _FIter2)
    template<typename _ForwardIterator, typename _Integer, typename _Tp,
        typename _BinaryPredicate> _ForwardIterator search_n
        (_ForwardIterator __first, _ForwardIterator __last, _Integer
        __count, const _Tp &__val, _BinaryPredicate __binary_pred)
    template<typename _ForwardIterator, typename _Integer, typename _Tp>
        _ForwardIterator search_n (_ForwardIterator __first,
        _ForwardIterator __last, _Integer __count, const _Tp &__val)
    template<typename _FIter, typename _Size, typename _Tp, typename
        _BinaryPredicate> _FIter search_n (_FIter, _FIter, _Size, const _Tp
        &, _BinaryPredicate)
    template<typename _FIter, typename _Size, typename _Tp> _FIter search_n
        (_FIter, _FIter, _Size, const _Tp &)
    template<typename _InputIterator1, typename _InputIterator2, typename
        _OutputIterator, typename _Compare> _OutputIterator set_difference
        (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2
        __first2, _InputIterator2 __last2, _OutputIterator __result,
        _Compare __comp)
    template<typename _InputIterator1, typename _InputIterator2, typename
        _OutputIterator> _OutputIterator set_difference (_InputIterator1
        __first1, _InputIterator1 __last1, _InputIterator2 __first2,
        _InputIterator2 __last2, _OutputIterator __result)
    template<typename _IIter1, typename _IIter2, typename _OIter, typename
        _Compare> _OIter set_difference (_IIter1, _IIter1, _IIter2,
        _IIter2, _OIter, _Compare)
    template<typename _IIter1, typename _IIter2, typename _OIter> _OIter
        set_difference (_IIter1, _IIter1, _IIter2, _IIter2, _OIter)
    template<typename _InputIterator1, typename _InputIterator2, typename
        _OutputIterator, typename _Compare> _OutputIterator
        set_intersection (_InputIterator1 __first1, _InputIterator1
        __last1, _InputIterator2 __first2, _InputIterator2 __last2,
        _OutputIterator __result, _Compare __comp)
    template<typename _InputIterator1, typename _InputIterator2, typename
        _OutputIterator> _OutputIterator set_intersection (_InputIterator1
        __first1, _InputIterator1 __last1, _InputIterator2 __first2,
        _InputIterator2 __last2, _OutputIterator __result)
    template<typename _IIter1, typename _IIter2, typename _OIter, typename
        _Compare> _OIter set_intersection (_IIter1, _IIter1, _IIter2,
        _IIter2, _OIter, _Compare)
    template<typename _IIter1, typename _IIter2, typename _OIter> _OIter
        set_intersection (_IIter1, _IIter1, _IIter2, _IIter2, _OIter)
    new_handler set_new_handler (new_handler)  throw ()
    template<typename _InputIterator1, typename _InputIterator2, typename
        _OutputIterator, typename _Compare> _OutputIterator
        set_symmetric_difference (_InputIterator1 __first1, _InputIterator1
        __last1, _InputIterator2 __first2, _InputIterator2 __last2,
        _OutputIterator __result, _Compare __comp)
    template<typename _InputIterator1, typename _InputIterator2, typename
        _OutputIterator> _OutputIterator set_symmetric_difference
        (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2
        __first2, _InputIterator2 __last2, _OutputIterator __result)
    template<typename _IIter1, typename _IIter2, typename _OIter, typename
        _Compare> _OIter set_symmetric_difference (_IIter1, _IIter1,
        _IIter2, _IIter2, _OIter, _Compare)
    template<typename _IIter1, typename _IIter2, typename _OIter> _OIter
        set_symmetric_difference (_IIter1, _IIter1, _IIter2, _IIter2,
        _OIter)
    terminate_handler set_terminate (terminate_handler)  throw ()
    unexpected_handler set_unexpected (unexpected_handler)  throw ()
    template<typename _InputIterator1, typename _InputIterator2, typename
        _OutputIterator, typename _Compare> _OutputIterator set_union
        (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2
        __first2, _InputIterator2 __last2, _OutputIterator __result,
        _Compare __comp)
    template<typename _InputIterator1, typename _InputIterator2, typename
        _OutputIterator> _OutputIterator set_union (_InputIterator1
        __first1, _InputIterator1 __last1, _InputIterator2 __first2,
        _InputIterator2 __last2, _OutputIterator __result)
    template<typename _IIter1, typename _IIter2, typename _OIter, typename
        _Compare> _OIter set_union (_IIter1, _IIter1, _IIter2, _IIter2,
        _OIter, _Compare)
    template<typename _IIter1, typename _IIter2, typename _OIter> _OIter
        set_union (_IIter1, _IIter1, _IIter2, _IIter2, _OIter)
    _Setbase setbase (int __base)
    template<typename _CharT> _Setfill< _CharT > setfill (_CharT __c)
    _Setiosflags setiosflags (ios_base::fmtflags __mask)
    _Setprecision setprecision (int __n)
    _Setw setw (int __n)
    ios_base & showbase (ios_base &__base)
    ios_base & showpoint (ios_base &__base)
    ios_base & showpos (ios_base &__base)
    template<typename _Tp> _Expr< _UnClos< __sin, _ValArray, _Tp >, _Tp >
        sin (const valarray< _Tp > &__v)
    template<class _Dom> _Expr< _UnClos< __sin, _Expr, _Dom >, typename
        _Dom::value_type > sin (const _Expr< _Dom, typename
        _Dom::value_type > &__e)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_integer< _Tp
        >::__value, double >::__type sin (_Tp __x)
    long double sin (long double __x)
    float sin (float __x)
    template<typename _Tp> _Expr< _UnClos< __sinh, _ValArray, _Tp >, _Tp >
        sinh (const valarray< _Tp > &__v)
    template<class _Dom> _Expr< _UnClos< __sinh, _Expr, _Dom >, typename
        _Dom::value_type > sinh (const _Expr< _Dom, typename
        _Dom::value_type > &__e)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_integer< _Tp
        >::__value, double >::__type sinh (_Tp __x)
    long double sinh (long double __x)
    float sinh (float __x)
    ios_base & skipws (ios_base &__base)
    template<typename _RandomAccessIterator, typename _Compare> void sort
        (_RandomAccessIterator __first, _RandomAccessIterator __last,
        _Compare __comp)
    template<typename _RandomAccessIterator> void sort
        (_RandomAccessIterator __first, _RandomAccessIterator __last)
    template<typename _RAIter, typename _Compare> void sort (_RAIter,
        _RAIter, _Compare)
    template<typename _RAIter> void sort (_RAIter, _RAIter)
    template<typename _RandomAccessIterator, typename _Compare> void
        sort_heap (_RandomAccessIterator __first, _RandomAccessIterator
        __last, _Compare __comp)
    template<typename _RandomAccessIterator> void sort_heap
        (_RandomAccessIterator __first, _RandomAccessIterator __last)
    template<typename _RAIter, typename _Compare> void sort_heap (_RAIter,
        _RAIter, _Compare)
    template<typename _RAIter> void sort_heap (_RAIter, _RAIter)
    template<typename _Tp> _Expr< _UnClos< __sqrt, _ValArray, _Tp >, _Tp >
        sqrt (const valarray< _Tp > &__v)
    template<class _Dom> _Expr< _UnClos< __sqrt, _Expr, _Dom >, typename
        _Dom::value_type > sqrt (const _Expr< _Dom, typename
        _Dom::value_type > &__e)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_integer< _Tp
        >::__value, double >::__type sqrt (_Tp __x)
    long double sqrt (long double __x)
    float sqrt (float __x)
    template<typename _ForwardIterator, typename _Predicate>
        _ForwardIterator stable_partition (_ForwardIterator __first,
        _ForwardIterator __last, _Predicate __pred)
    template<typename _BIter, typename _Predicate> _BIter stable_partition
        (_BIter, _BIter, _Predicate)
    template<typename _RandomAccessIterator, typename _Compare> void
        stable_sort (_RandomAccessIterator __first, _RandomAccessIterator
        __last, _Compare __comp)
    template<typename _RandomAccessIterator> void stable_sort
        (_RandomAccessIterator __first, _RandomAccessIterator __last)
    template<typename _RAIter, typename _Compare> void stable_sort
        (_RAIter, _RAIter, _Compare)
    template<typename _RAIter> void stable_sort (_RAIter, _RAIter)
    char * strchr (char *__s1, int __n)
    char * strpbrk (char *__s1, const char *__s2)
    char * strrchr (char *__s1, int __n)
    char * strstr (char *__s1, const char *__s2)
    template<typename _Tp, typename _Alloc> void swap (vector< _Tp, _Alloc
        > &__x, vector< _Tp, _Alloc > &__y)
    template<typename _Key, typename _Val, typename _KeyOfValue, typename
        _Compare, typename _Alloc> void swap (_Rb_tree< _Key, _Val,
        _KeyOfValue, _Compare, _Alloc > &__x, _Rb_tree< _Key, _Val,
        _KeyOfValue, _Compare, _Alloc > &__y)
    template<typename _Key, typename _Compare, typename _Alloc> void swap
        (set< _Key, _Compare, _Alloc > &__x, set< _Key, _Compare, _Alloc >
        &__y)
    template<typename _Key, typename _Compare, typename _Alloc> void swap
        (multiset< _Key, _Compare, _Alloc > &__x, multiset< _Key, _Compare,
        _Alloc > &__y)
    template<typename _Key, typename _Tp, typename _Compare, typename
        _Alloc> void swap (multimap< _Key, _Tp, _Compare, _Alloc > &__x,
        multimap< _Key, _Tp, _Compare, _Alloc > &__y)
    template<typename _Key, typename _Tp, typename _Compare, typename
        _Alloc> void swap (map< _Key, _Tp, _Compare, _Alloc > &__x, map<
        _Key, _Tp, _Compare, _Alloc > &__y)
    template<typename _Tp, typename _Alloc> void swap (list< _Tp, _Alloc >
        &__x, list< _Tp, _Alloc > &__y)
    template<typename _Tp, typename _Alloc> void swap (deque< _Tp, _Alloc >
        &__x, deque< _Tp, _Alloc > &__y)
    template<typename _CharT, typename _Traits, typename _Alloc> void swap
        (basic_string< _CharT, _Traits, _Alloc > &__lhs, basic_string<
        _CharT, _Traits, _Alloc > &__rhs)
    template<typename _Tp> void swap (_Tp &__a, _Tp &__b)
    template<class _Value, class _Hash, class _Pred, class _Alloc> void
        swap (unordered_multiset< _Value, _Hash, _Pred, _Alloc > &__x,
        unordered_multiset< _Value, _Hash, _Pred, _Alloc > &&__y)
    template<class _Value, class _Hash, class _Pred, class _Alloc> void
        swap (unordered_multiset< _Value, _Hash, _Pred, _Alloc > &&__x,
        unordered_multiset< _Value, _Hash, _Pred, _Alloc > &__y)
    template<class _Value, class _Hash, class _Pred, class _Alloc> void
        swap (unordered_set< _Value, _Hash, _Pred, _Alloc > &__x,
        unordered_set< _Value, _Hash, _Pred, _Alloc > &&__y)
    template<class _Value, class _Hash, class _Pred, class _Alloc> void
        swap (unordered_set< _Value, _Hash, _Pred, _Alloc > &&__x,
        unordered_set< _Value, _Hash, _Pred, _Alloc > &__y)
    template<class _Value, class _Hash, class _Pred, class _Alloc> void
        swap (unordered_multiset< _Value, _Hash, _Pred, _Alloc > &__x,
        unordered_multiset< _Value, _Hash, _Pred, _Alloc > &__y)
    template<class _Value, class _Hash, class _Pred, class _Alloc> void
        swap (unordered_set< _Value, _Hash, _Pred, _Alloc > &__x,
        unordered_set< _Value, _Hash, _Pred, _Alloc > &__y)
    template<class _Value, class _Hash, class _Pred, class _Alloc, bool
        __cache_hash_code> void swap (__unordered_multiset< _Value, _Hash,
        _Pred, _Alloc, __cache_hash_code > &__x, __unordered_multiset<
        _Value, _Hash, _Pred, _Alloc, __cache_hash_code > &__y)
    template<class _Value, class _Hash, class _Pred, class _Alloc, bool
        __cache_hash_code> void swap (__unordered_set< _Value, _Hash,
        _Pred, _Alloc, __cache_hash_code > &__x, __unordered_set< _Value,
        _Hash, _Pred, _Alloc, __cache_hash_code > &__y)
    template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
        void swap (unordered_multimap< _Key, _Tp, _Hash, _Pred, _Alloc >
        &__x, unordered_multimap< _Key, _Tp, _Hash, _Pred, _Alloc > &&__y)
    template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
        void swap (unordered_multimap< _Key, _Tp, _Hash, _Pred, _Alloc >
        &&__x, unordered_multimap< _Key, _Tp, _Hash, _Pred, _Alloc > &__y)
    template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
        void swap (unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc > &__x,
        unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc > &&__y)
    template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
        void swap (unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc > &&__x,
        unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc > &__y)
    template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
        void swap (unordered_multimap< _Key, _Tp, _Hash, _Pred, _Alloc >
        &__x, unordered_multimap< _Key, _Tp, _Hash, _Pred, _Alloc > &__y)
    template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
        void swap (unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc > &__x,
        unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc > &__y)
    template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc,
        bool __cache_hash_code> void swap (__unordered_multimap< _Key, _Tp,
        _Hash, _Pred, _Alloc, __cache_hash_code > &__x,
        __unordered_multimap< _Key, _Tp, _Hash, _Pred, _Alloc,
        __cache_hash_code > &__y)
    template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc,
        bool __cache_hash_code> void swap (__unordered_map< _Key, _Tp,
        _Hash, _Pred, _Alloc, __cache_hash_code > &__x, __unordered_map<
        _Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code > &__y)
    template<typename _Bi_iter, typename _Allocator> void swap
        (match_results< _Bi_iter, _Allocator > &__lhs, match_results<
        _Bi_iter, _Allocator > &__rhs)
    template<typename _Ch_type, typename _Rx_traits> void swap
        (basic_regex< _Ch_type, _Rx_traits > &__lhs, basic_regex< _Ch_type,
        _Rx_traits > &__rhs)
    template<typename _Signature> void swap (function< _Signature > &__x,
        function< _Signature > &__y)
    template<typename _Tp, std::size_t _Nm> void swap (array< _Tp, _Nm >
        &__one, array< _Tp, _Nm > &__two)
    template<typename _ForwardIterator1, typename _ForwardIterator2>
        _ForwardIterator2 swap_ranges (_ForwardIterator1 __first1,
        _ForwardIterator1 __last1, _ForwardIterator2 __first2)
    template<typename _FIter1, typename _FIter2> _FIter2 swap_ranges
        (_FIter1, _FIter1, _FIter2)
    template<typename _Tp> _Expr< _UnClos< __tan, _ValArray, _Tp >, _Tp >
        tan (const valarray< _Tp > &__v)
    template<class _Dom> _Expr< _UnClos< __tan, _Expr, _Dom >, typename
        _Dom::value_type > tan (const _Expr< _Dom, typename
        _Dom::value_type > &__e)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_integer< _Tp
        >::__value, double >::__type tan (_Tp __x)
    long double tan (long double __x)
    float tan (float __x)
    template<typename _Tp> _Expr< _UnClos< __tanh, _ValArray, _Tp >, _Tp >
        tanh (const valarray< _Tp > &__v)
    template<class _Dom> _Expr< _UnClos< __tanh, _Expr, _Dom >, typename
        _Dom::value_type > tanh (const _Expr< _Dom, typename
        _Dom::value_type > &__e)
    template<typename _Tp> __gnu_cxx::__enable_if< __is_integer< _Tp
        >::__value, double >::__type tanh (_Tp __x)
    long double tanh (long double __x)
    float tanh (float __x)
    void terminate () __attribute__((__noreturn__))
    template<typename... _Elements> tuple< _Elements &...> tie (_Elements
        &...__args)
    template<typename _CharT> _CharT tolower (_CharT __c, const locale
        &__loc)
    template<typename _CharT> _CharT toupper (_CharT __c, const locale
        &__loc)
    template<typename _InputIterator1, typename _InputIterator2, typename
        _OutputIterator, typename _BinaryOperation> _OutputIterator
        transform (_InputIterator1 __first1, _InputIterator1 __last1,
        _InputIterator2 __first2, _OutputIterator __result,
        _BinaryOperation __binary_op)
    template<typename _InputIterator, typename _OutputIterator, typename
        _UnaryOperation> _OutputIterator transform (_InputIterator __first,
        _InputIterator __last, _OutputIterator __result, _UnaryOperation
        __unary_op)
    template<typename _IIter1, typename _IIter2, typename _OIter, typename
        _BinaryOperation> _OIter transform (_IIter1, _IIter1, _IIter2,
        _OIter, _BinaryOperation)
    template<typename _IIter, typename _OIter, typename _UnaryOperation>
        _OIter transform (_IIter, _IIter, _OIter, _UnaryOperation)
    template<typename... _TElements, typename... _UElements> tuple<
        _TElements..., _UElements...> tuple_cat (tuple< _TElements...>
        &&__t, tuple< _UElements...> &&__u)
    template<typename... _TElements, typename... _UElements> tuple<
        _TElements..., _UElements...> tuple_cat (const tuple<
        _TElements...> &__t, tuple< _UElements...> &&__u)
    template<typename... _TElements, typename... _UElements> tuple<
        _TElements..., _UElements...> tuple_cat (tuple< _TElements...>
        &&__t, const tuple< _UElements...> &__u)
    template<typename... _TElements, typename... _UElements> tuple<
        _TElements..., _UElements...> tuple_cat (const tuple<
        _TElements...> &__t, const tuple< _UElements...> &__u)
    bool uncaught_exception ()  throw ()
    void unexpected () __attribute__((__noreturn__))
    template<typename _InputIterator, typename _ForwardIterator>
        _ForwardIterator uninitialized_copy (_InputIterator __first,
        _InputIterator __last, _ForwardIterator __result)
    template<typename _ForwardIterator, typename _Tp> void
        uninitialized_fill (_ForwardIterator __first, _ForwardIterator
        __last, const _Tp &__x)
    template<typename _ForwardIterator, typename _Size, typename _Tp> void
        uninitialized_fill_n (_ForwardIterator __first, _Size __n, const
        _Tp &__x)
    template<typename _ForwardIterator, typename _BinaryPredicate>
        _ForwardIterator unique (_ForwardIterator __first, _ForwardIterator
        __last, _BinaryPredicate __binary_pred)
    template<typename _ForwardIterator> _ForwardIterator unique
        (_ForwardIterator __first, _ForwardIterator __last)
    template<typename _FIter, typename _BinaryPredicate> _FIter unique
        (_FIter, _FIter, _BinaryPredicate)
    template<typename _FIter> _FIter unique (_FIter, _FIter)
    template<typename _InputIterator, typename _OutputIterator, typename
        _BinaryPredicate> _OutputIterator unique_copy (_InputIterator
        __first, _InputIterator __last, _OutputIterator __result,
        _BinaryPredicate __binary_pred)
    template<typename _InputIterator, typename _OutputIterator>
        _OutputIterator unique_copy (_InputIterator __first, _InputIterator
        __last, _OutputIterator __result)
    template<typename _IIter, typename _OIter, typename _BinaryPredicate>
        _OIter unique_copy (_IIter, _IIter, _OIter, _BinaryPredicate)
    template<typename _IIter, typename _OIter> _OIter unique_copy (_IIter,
        _IIter, _OIter)
    ios_base & unitbuf (ios_base &__base)
    template<typename _ForwardIterator, typename _Tp, typename _Compare>
        _ForwardIterator upper_bound (_ForwardIterator __first,
        _ForwardIterator __last, const _Tp &__val, _Compare __comp)
    template<typename _ForwardIterator, typename _Tp> _ForwardIterator
        upper_bound (_ForwardIterator __first, _ForwardIterator __last,
        const _Tp &__val)
    template<typename _FIter, typename _Tp, typename _Compare> _FIter
        upper_bound (_FIter, _FIter, const _Tp &, _Compare)
    template<typename _FIter, typename _Tp> _FIter upper_bound (_FIter,
        _FIter, const _Tp &)
    ios_base & uppercase (ios_base &__base)
    template<typename _Facet> const _Facet & use_facet (const locale
        &__loc)
    template<> const ctype< char > & use_facet< ctype< char > > (const
        locale &__loc)
    template<> const ctype< wchar_t > & use_facet< ctype< wchar_t > >
        (const locale &__loc)
    wchar_t * wcschr (wchar_t *__p, wchar_t __c)
    wchar_t * wcspbrk (wchar_t *__s1, const wchar_t *__s2)
    wchar_t * wcsrchr (wchar_t *__p, wchar_t __c)
    wchar_t * wcsstr (wchar_t *__s1, const wchar_t *__s2)
    wchar_t * wmemchr (wchar_t *__p, wchar_t __c, size_t __n)
    template<typename _CharT, typename _Traits> basic_istream< _CharT,
        _Traits > & ws (basic_istream< _CharT, _Traits > &__is)
        template<size_t _Nb> bitset< _Nb > operator & (const bitset< _Nb >
            &__x, const bitset< _Nb > &__y)
        template<size_t _Nb> bitset< _Nb > operator^ (const bitset< _Nb >
            &__x, const bitset< _Nb > &__y)
        template<size_t _Nb> bitset< _Nb > operator| (const bitset< _Nb >
            &__x, const bitset< _Nb > &__y)
        template<typename _IteratorL, typename _IteratorR> bool operator!=
            (const reverse_iterator< _IteratorL > &__x, const
            reverse_iterator< _IteratorR > &__y)
        template<typename _Iterator> bool operator!= (const
            reverse_iterator< _Iterator > &__x, const reverse_iterator<
            _Iterator > &__y)
        template<typename _Iterator> reverse_iterator< _Iterator >
            operator+ (typename reverse_iterator< _Iterator
            >::difference_type __n, const reverse_iterator< _Iterator >
            &__x)
        template<typename _IteratorL, typename _IteratorR>
            reverse_iterator< _IteratorL >::difference_type operator            (const reverse_iterator< _IteratorL > &__x, const
            reverse_iterator< _IteratorR > &__y)
        template<typename _Iterator> reverse_iterator< _Iterator
            >::difference_type operator- (const reverse_iterator< _Iterator
            > &__x, const reverse_iterator< _Iterator > &__y)
        template<typename _IteratorL, typename _IteratorR> bool operator<
            (const reverse_iterator< _IteratorL > &__x, const
            reverse_iterator< _IteratorR > &__y)
        template<typename _Iterator> bool operator< (const
            reverse_iterator< _Iterator > &__x, const reverse_iterator<
            _Iterator > &__y)
        template<typename _IteratorL, typename _IteratorR> bool operator<=
            (const reverse_iterator< _IteratorL > &__x, const
            reverse_iterator< _IteratorR > &__y)
        template<typename _Iterator> bool operator<= (const
            reverse_iterator< _Iterator > &__x, const reverse_iterator<
            _Iterator > &__y)
        template<typename _IteratorL, typename _IteratorR> bool operator==
            (const reverse_iterator< _IteratorL > &__x, const
            reverse_iterator< _IteratorR > &__y)
        template<typename _Iterator> bool operator== (const
            reverse_iterator< _Iterator > &__x, const reverse_iterator<
            _Iterator > &__y)
        template<typename _IteratorL, typename _IteratorR> bool operator>
            (const reverse_iterator< _IteratorL > &__x, const
            reverse_iterator< _IteratorR > &__y)
        template<typename _Iterator> bool operator> (const
            reverse_iterator< _Iterator > &__x, const reverse_iterator<
            _Iterator > &__y)
        template<typename _IteratorL, typename _IteratorR> bool operator>=
            (const reverse_iterator< _IteratorL > &__x, const
            reverse_iterator< _IteratorR > &__y)
        template<typename _Iterator> bool operator>= (const
            reverse_iterator< _Iterator > &__x, const reverse_iterator<
            _Iterator > &__y)
        template<class _Traits> basic_ostream< char, _Traits > & operator<<
            (basic_ostream< char, _Traits > &__out, const unsigned char
            *__s)
        template<class _Traits> basic_ostream< char, _Traits > & operator<<
            (basic_ostream< char, _Traits > &__out, const signed char *__s)
        template<class _Traits> basic_ostream< char, _Traits > & operator<<
            (basic_ostream< char, _Traits > &__out, const char *__s)
        template<typename _CharT, typename _Traits> basic_ostream< _CharT,
            _Traits > & operator<< (basic_ostream< _CharT, _Traits >
            &__out, const char *__s)
        template<typename _CharT, typename _Traits> basic_ostream< _CharT,
            _Traits > & operator<< (basic_ostream< _CharT, _Traits >
            &__out, const _CharT *__s)
        template<class _Traits> basic_ostream< char, _Traits > & operator<<
            (basic_ostream< char, _Traits > &__out, unsigned char __c)
        template<class _Traits> basic_ostream< char, _Traits > & operator<<
            (basic_ostream< char, _Traits > &__out, signed char __c)
        template<class _Traits> basic_ostream< char, _Traits > & operator<<
            (basic_ostream< char, _Traits > &__out, char __c)
        template<typename _CharT, typename _Traits> basic_ostream< _CharT,
            _Traits > & operator<< (basic_ostream< _CharT, _Traits >
            &__out, char __c)
        template<typename _CharT, typename _Traits> basic_ostream< _CharT,
            _Traits > & operator<< (basic_ostream< _CharT, _Traits >
            &__out, _CharT __c)
        template<class _CharT, class _Traits, size_t _Nb>
            std::basic_ostream< _CharT, _Traits > & operator<<
            (std::basic_ostream< _CharT, _Traits > &__os, const bitset< _Nb
            > &__x)
        template<class _CharT, class _Traits, size_t _Nb>
            std::basic_istream< _CharT, _Traits > & operator>>
            (std::basic_istream< _CharT, _Traits > &__is, bitset< _Nb >
            &__x)
        template<class _Traits> basic_istream< char, _Traits > & operator>>
            (basic_istream< char, _Traits > &__in, signed char *__s)
        template<class _Traits> basic_istream< char, _Traits > & operator>>
            (basic_istream< char, _Traits > &__in, unsigned char *__s)
        template<> basic_istream< char > & operator>> (basic_istream< char
            > &__in, char *__s)
        template<typename _CharT, typename _Traits> basic_istream< _CharT,
            _Traits > & operator>> (basic_istream< _CharT, _Traits > &__in,
            _CharT *__s)
        template<class _Traits> basic_istream< char, _Traits > & operator>>
            (basic_istream< char, _Traits > &__in, signed char &__c)
        template<class _Traits> basic_istream< char, _Traits > & operator>>
            (basic_istream< char, _Traits > &__in, unsigned char &__c)
        template<typename _CharT, typename _Traits> basic_istream< _CharT,
            _Traits > & operator>> (basic_istream< _CharT, _Traits > &__in,
            _CharT &__c)
Variables
    static ios_base::Init __ioinit
    struct std::auto_ptr_ref _GLIBCXX_DEPRECATED_ATTR
    _Swallow_assign ignore
    const nothrow_t nothrow
    Standard Stream Objects
    The <iostream> header declares the eight standard stream objects. For
    other declarations, see
    http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#10 and the I/O
    forward declarations
    They are required by default to cooperate with the global C library's
    FILE streams, and to be available during program startup and
    termination. For more information, see the HOWTO linked to above.
        ostream cerr
        istream cin
        ostream clog
        ostream cout
        wostream wcerr
        wistream wcin
        wostream wclog
        wostream wcout

Typedef Documentation

typedef integral_constant<bool, false> std::false_type
typedef for true_type
Definition at line 83 of file tr1_impl/type_traits.
typedef void(* std::new_handler)()
If you write your own error handler to be called by new, it must be of this type.
Definition at line 77 of file new.
typedef long long std::streamoff
Type used by fpos, char_traits<char>, and char_traits<wchar_t>.
In clauses 21.1.3.1 and 27.4.1 streamoff is described as an
implementation defined type. Note: In versions of GCC up to and
including GCC 3.3, streamoff was typedef long.
Definition at line 73 of file postypes.h.
typedef fpos<mbstate_t> std::streampos
File position for char streams.
Definition at line 207 of file postypes.h.
typedef ptrdiff_t std::streamsize
Integral type for I/O operation counts and buffer sizes.
Definition at line 77 of file postypes.h.
typedef void(* std::terminate_handler)()
If you write a replacement terminate handler, it must be of this type.
Definition at line 83 of file exception.
typedef integral_constant<bool, true> std::true_type
typedef for true_type
Definition at line 80 of file tr1_impl/type_traits.
typedef void(* std::unexpected_handler)()
If you write a replacement unexpected handler, it must be of this type.
Definition at line 86 of file exception.
typedef fpos<mbstate_t> std::wstreampos
File position for wchar_t streams.
Definition at line 209 of file postypes.h.

Enumeration Type Documentation

anonymous enum
Todo
Doc me! See doc/doxygen/TODO and
http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more.
This controls some aspect of the sort routines.
Definition at line 1819 of file stl_algo.h.
enum std::float_denorm_style
Describes the denormalization for floating-point types.
These values represent the presence or absence of a variable number of exponent bits. This type is used in the std::numeric_limits class.
Enumerator:
denorm_indeterminate
Indeterminate at compile time whether denormalized values are
allowed.
denorm_absent
The type does not allow denormalized values.
denorm_present
The type allows denormalized values.
Definition at line 173 of file limits.
enum std::float_round_style
Describes the rounding style for floating-point types.
This is used in the std::numeric_limits class.
Enumerator:
round_indeterminate
Self-explanatory.
round_toward_zero
Self-explanatory.
round_to_nearest
To the nearest representable value.
round_toward_infinity
Self-explanatory.
round_toward_neg_infinity
Self-explanatory.
Definition at line 158 of file limits.

Function Documentation

template<typename _Tp> std::complex<_Tp> std::__complex_acos (const
std::complex< _Tp > & __z) [inline] acos(__z) [8.1.2].
Definition at line 59 of file impl/complex.
template<typename _Tp> std::complex<_Tp> std::__complex_acosh (const
std::complex< _Tp > & __z) [inline] acosh(__z) [8.1.5].
Definition at line 175 of file impl/complex.
template<typename _Tp> std::complex<_Tp> std::__complex_asin (const
std::complex< _Tp > & __z) [inline] asin(__z) [8.1.3].
Definition at line 95 of file impl/complex.
template<typename _Tp> std::complex<_Tp> std::__complex_asinh (const
std::complex< _Tp > & __z) [inline] asinh(__z) [8.1.6].
Definition at line 214 of file impl/complex.
template<typename _Tp> std::complex<_Tp> std::__complex_atan (const
std::complex< _Tp > & __z) [inline] atan(__z) [8.1.4].
Definition at line 131 of file impl/complex.
template<typename _Tp> std::complex<_Tp> std::__complex_atanh (const
std::complex< _Tp > & __z) [inline] atanh(__z) [8.1.7].
Definition at line 253 of file impl/complex.
size_t std::__deque_buf_size (size_t __size) [inline]
This function controls the size of memory nodes.
Parameters:
size The size of an element.
Returns:
The number (not byte size) of elements per node.
This function started off as a compiler kludge from SGI, but seems to
be a useful wrapper around a repeated constant expression. The '512' is tunable (and no other code needs to change), but no investigation has
been done since inheriting the SGI code.
Definition at line 82 of file stl_deque.h.
Referenced by std::_Deque_base< _Tp, _Alloc >::_M_initialize_map().
template<typename _RandomAccessIterator, typename _Compare> void
std::__final_insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) [inline] This is a helper function for the sort routine.
Definition at line 1839 of file stl_algo.h.
References __insertion_sort(), and __unguarded_insertion_sort().
template<typename _RandomAccessIterator> void std::__final_insertion_sort
(_RandomAccessIterator __first, _RandomAccessIterator __last) [inline] This is a helper function for the sort routine.
Definition at line 1824 of file stl_algo.h.
References __insertion_sort(), and __unguarded_insertion_sort().
Referenced by sort().
template<typename _RandomAccessIterator, typename _Tp>
_RandomAccessIterator std::__find (_RandomAccessIterator __first, _RandomAccessIterator __last, const _Tp & __val, random_access_iterator_tag) [inline] This is an overload used by find() for the RAI case.
Definition at line 170 of file stl_algo.h.
template<typename _InputIterator, typename _Tp> _InputIterator std::__find
(_InputIterator __first, _InputIterator __last, const _Tp & __val, input_iterator_tag) [inline] This is an overload used by find() for the Input Iterator case.
Definition at line 148 of file stl_algo.h.
Referenced by find().
template<typename _RandomAccessIterator, typename _Predicate>
_RandomAccessIterator std::__find_if (_RandomAccessIterator __first, _RandomAccessIterator __last, _Predicate __pred, random_access_iterator_tag) [inline] This is an overload used by find_if() for the RAI case.
Definition at line 218 of file stl_algo.h.
References __find_if().
template<typename _InputIterator, typename _Predicate> _InputIterator
std::__find_if (_InputIterator __first, _InputIterator __last, _Predicate __pred, input_iterator_tag) [inline] This is an overload used by find_if() for the Input Iterator case.
Definition at line 159 of file stl_algo.h.
References __find_if().
Referenced by __find_if(), and find_if().
template<typename _EuclideanRingElement> _EuclideanRingElement std::__gcd
(_EuclideanRingElement __m, _EuclideanRingElement __n) [inline] This is a helper function for the rotate algorithm specialized on RAIs. It returns the greatest common divisor of two integer values.
Definition at line 1159 of file stl_algo.h.
Referenced by __rotate().
template<typename _RandomAccessIterator, typename _Compare> void
std::__heap_select (_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, _Compare __comp) [inline]
This is a helper function for the sort routines.
Definition at line 1566 of file stl_algo.h.
template<typename _RandomAccessIterator> void std::__heap_select
(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last) [inline] This is a helper function for the sort routines.
Definition at line 1553 of file stl_algo.h.
Referenced by partial_sort().
template<typename _ForwardIterator, typename _Predicate, typename
_Distance> _ForwardIterator std::__inplace_stable_partition (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, _Distance __len) [inline] This is a helper function...
Definition at line 1431 of file stl_algo.h.
References advance(), and distance().
Referenced by stable_partition().
template<typename _RandomAccessIterator, typename _Compare> void
std::__inplace_stable_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) [inline] This is a helper function for the stable sorting routines.
Definition at line 3073 of file stl_algo.h.
References __inplace_stable_sort(), __insertion_sort(), and
__merge_without_buffer().
template<typename _RandomAccessIterator> void std::__inplace_stable_sort
(_RandomAccessIterator __first, _RandomAccessIterator __last) [inline] This is a helper function for the stable sorting routines.
Definition at line 3054 of file stl_algo.h.
References __insertion_sort(), and __merge_without_buffer().
Referenced by __inplace_stable_sort(), and stable_sort().
template<typename _RandomAccessIterator, typename _Compare> void
std::__insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) [inline] This is a helper function for the sort routine.
Definition at line 1770 of file stl_algo.h.
References __unguarded_linear_insert().
template<typename _RandomAccessIterator> void std::__insertion_sort
(_RandomAccessIterator __first, _RandomAccessIterator __last) [inline] This is a helper function for the sort routine.
Definition at line 1747 of file stl_algo.h.
References __unguarded_linear_insert().
Referenced by __final_insertion_sort(), and __inplace_stable_sort().
template<typename _RandomAccessIterator, typename _Size, typename _Compare>
void std::__introsort_loop (_RandomAccessIterator __first, _RandomAccessIterator __last, _Size __depth_limit, _Compare __comp) [inline]
This is a helper function for the sort routine.
Definition at line 1928 of file stl_algo.h.
References __introsort_loop(), __median(), and __unguarded_partition().
template<typename _RandomAccessIterator, typename _Size> void
std::__introsort_loop (_RandomAccessIterator __first, _RandomAccessIterator __last, _Size __depth_limit) [inline] This is a helper function for the sort routine.
Definition at line 1896 of file stl_algo.h.
References __median(), and __unguarded_partition().
Referenced by __introsort_loop(), and sort().
template<typename _Functor, typename... _Args> __gnu_cxx::__enable_if<
(is_member_pointer< _Functor >::value &&!is_function< _Functor >::value &&!is_function< typename remove_pointer< _Functor >::type >::value), typename result_of< _Functor(_Args...)>::type >::__type std::__invoke (_Functor & __f, _Args &... __args) [inline] Invoke a function object, which may be either a member pointer or a
function object. The first parameter will tell which.
Definition at line 270 of file tr1_impl/functional.
template<typename _Iter> iterator_traits<_Iter>::iterator_category
std::__iterator_category (const _Iter &) [inline] This function is not a part of the C++ standard but is syntactic sugar for internal library use only.
Definition at line 166 of file stl_iterator_base_types.h.
Referenced by advance(), __gnu_cxx::copy_n(), distance(),
__gnu_cxx::distance(), find(), find_end(), find_if(), partition(),
reverse(), search_n(), __gnu_cxx::uninitialized_copy_n(), and
unique_copy().
template<typename _Size> _Size std::__lg (_Size __n) [inline]
This is a helper function for the sort routines. Precondition: __n > 0.
Definition at line 1961 of file stl_algo.h.
References __lg().
Referenced by __lg(), std::tr1::__detail::__log_gamma_bernoulli(),
nth_element(), and sort().
template<typename _BidirectionalIterator, typename _Distance, typename
_Pointer, typename _Compare> void std::__merge_adaptive (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Pointer __buffer, _Distance __buffer_size, _Compare __comp) [inline] This is a helper function for the merge routines.
Definition at line 2613 of file stl_algo.h.
References __merge_adaptive(), __merge_backward(), __rotate_adaptive(), advance(), and distance().
template<typename _BidirectionalIterator, typename _Distance, typename
_Pointer> void std::__merge_adaptive (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Pointer __buffer, _Distance __buffer_size) [inline]
This is a helper function for the merge routines.
Definition at line 2557 of file stl_algo.h.
References __merge_backward(), __rotate_adaptive(), advance(), and
distance().
Referenced by __merge_adaptive(), and inplace_merge().
template<typename _BidirectionalIterator1, typename
_BidirectionalIterator2, typename _BidirectionalIterator3, typename _Compare> _BidirectionalIterator3 std::__merge_backward (_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, _BidirectionalIterator3 __result, _Compare __comp) [inline] This is a helper function for the merge routines.
Definition at line 2489 of file stl_algo.h.
template<typename _BidirectionalIterator1, typename
_BidirectionalIterator2, typename _BidirectionalIterator3> _BidirectionalIterator3 std::__merge_backward (_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, _BidirectionalIterator3 __result) [inline]
This is a helper function for the merge routines.
Definition at line 2454 of file stl_algo.h.
Referenced by __merge_adaptive().
template<typename _BidirectionalIterator, typename _Distance, typename
_Compare> void std::__merge_without_buffer (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Compare __comp) [inline] This is a helper function for the merge routines.
Definition at line 2714 of file stl_algo.h.
References __merge_without_buffer(), advance(), and distance().
template<typename _BidirectionalIterator, typename _Distance> void
std::__merge_without_buffer (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2) [inline] This is a helper function for the merge routines.
Definition at line 2670 of file stl_algo.h.
References advance(), and distance().
Referenced by __inplace_stable_sort(), __merge_without_buffer(), and
inplace_merge().
template<typename _BidirectionalIterator, typename _Predicate>
_BidirectionalIterator std::__partition (_BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred, bidirectional_iterator_tag) [inline] This is a helper function...
Definition at line 1401 of file stl_algo.h.
template<typename _ForwardIterator, typename _Predicate> _ForwardIterator
std::__partition (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, forward_iterator_tag) [inline] This is a helper function...
Definition at line 1376 of file stl_algo.h.
Referenced by partition().
template<typename _RandomAccessIterator> void std::__reverse
(_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag) [inline] This is an uglified reverse(_BidirectionalIterator,
_BidirectionalIterator) overloaded for random access iterators.
Definition at line 1081 of file stl_algo.h.
template<typename _BidirectionalIterator> void std::__reverse
(_BidirectionalIterator __first, _BidirectionalIterator __last, bidirectional_iterator_tag) [inline] This is an uglified reverse(_BidirectionalIterator,
_BidirectionalIterator) overloaded for bidirectional iterators.
Definition at line 1061 of file stl_algo.h.
Referenced by __rotate(), and reverse().
template<typename _RandomAccessIterator> void std::__rotate
(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, random_access_iterator_tag) [inline] This is a helper function for the rotate algorithm.
Definition at line 1239 of file stl_algo.h.
References __gcd().
Referenced by __gnu_cxx::bitmap_allocator< _Tp
>::_M_deallocate_single_object().
template<typename _BidirectionalIterator> void std::__rotate
(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, bidirectional_iterator_tag) [inline] This is a helper function for the rotate algorithm.
Definition at line 1209 of file stl_algo.h.
References __reverse().
template<typename _ForwardIterator> void std::__rotate (_ForwardIterator
__first, _ForwardIterator __middle, _ForwardIterator __last, forward_iterator_tag) [inline] This is a helper function for the rotate algorithm.
Definition at line 1173 of file stl_algo.h.
Referenced by rotate().
template<typename _BidirectionalIterator1, typename
_BidirectionalIterator2, typename _Distance> _BidirectionalIterator1 std::__rotate_adaptive (_BidirectionalIterator1 __first, _BidirectionalIterator1 __middle, _BidirectionalIterator1 __last, _Distance __len1, _Distance __len2, _BidirectionalIterator2 __buffer, _Distance __buffer_size) [inline] This is a helper function for the merge routines.
Definition at line 2525 of file stl_algo.h.
References advance(), and distance().
Referenced by __merge_adaptive().
template<typename _RandomAccessIter, typename _Integer, typename _Tp,
typename _BinaryPredicate> _RandomAccessIter std::__search_n (_RandomAccessIter __first, _RandomAccessIter __last, _Integer __count, const _Tp & __val, _BinaryPredicate __binary_pred, std::random_access_iterator_tag) [inline] This is an uglified search_n(_ForwardIterator, _ForwardIterator,
_Integer, const _Tp&, _BinaryPredicate) overloaded for random access
iterators.
Definition at line 408 of file stl_algo.h.
template<typename _ForwardIterator, typename _Integer, typename _Tp,
typename _BinaryPredicate> _ForwardIterator std::__search_n (_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp & __val, _BinaryPredicate __binary_pred, std::forward_iterator_tag) [inline] This is an uglified search_n(_ForwardIterator, _ForwardIterator,
_Integer, const _Tp&, _BinaryPredicate) overloaded for forward
iterators.
Definition at line 369 of file stl_algo.h.
template<typename _RandomAccessIter, typename _Integer, typename _Tp>
_RandomAccessIter std::__search_n (_RandomAccessIter __first, _RandomAccessIter __last, _Integer __count, const _Tp & __val, std::random_access_iterator_tag) [inline] This is an uglified search_n(_ForwardIterator, _ForwardIterator, _Integer, const _Tp&) overloaded for random access iterators.
Definition at line 315 of file stl_algo.h.
template<typename _ForwardIterator, typename _Integer, typename _Tp>
_ForwardIterator std::__search_n (_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp & __val, std::forward_iterator_tag) [inline] This is an uglified search_n(_ForwardIterator, _ForwardIterator, _Integer, const _Tp&) overloaded for forward iterators.
Definition at line 283 of file stl_algo.h.
Referenced by search_n().
template<typename _ForwardIterator, typename _Pointer, typename _Predicate,
typename _Distance> _ForwardIterator std::__stable_partition_adaptive (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, _Distance __len, _Pointer __buffer, _Distance __buffer_size) [inline] This is a helper function...
Definition at line 1456 of file stl_algo.h.
References advance(), and distance().
Referenced by stable_partition().
template<typename _RandomAccessIterator, typename _Compare> void
std::__unguarded_insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) [inline] This is a helper function for the sort routine.
Definition at line 1805 of file stl_algo.h.
References __unguarded_linear_insert().
template<typename _RandomAccessIterator> void
std::__unguarded_insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last) [inline] This is a helper function for the sort routine.
Definition at line 1792 of file stl_algo.h.
References __unguarded_linear_insert().
Referenced by __final_insertion_sort().
template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
void std::__unguarded_linear_insert (_RandomAccessIterator __last, _Tp __val, _Compare __comp) [inline] This is a helper function for the sort routine.
Definition at line 1730 of file stl_algo.h.
template<typename _RandomAccessIterator, typename _Tp> void
std::__unguarded_linear_insert (_RandomAccessIterator __last, _Tp __val) [inline]
This is a helper function for the sort routine.
Definition at line 1714 of file stl_algo.h.
Referenced by __insertion_sort(), and __unguarded_insertion_sort().
template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
_RandomAccessIterator std::__unguarded_partition (_RandomAccessIterator __first, _RandomAccessIterator __last, _Tp __pivot, _Compare __comp) [inline]
This is a helper function...
Definition at line 1875 of file stl_algo.h.
template<typename _RandomAccessIterator, typename _Tp>
_RandomAccessIterator std::__unguarded_partition (_RandomAccessIterator __first, _RandomAccessIterator __last, _Tp __pivot) [inline] This is a helper function...
Definition at line 1855 of file stl_algo.h.
Referenced by __introsort_loop().
template<typename _InputIterator, typename _ForwardIterator, typename
_BinaryPredicate> _ForwardIterator std::__unique_copy (_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _BinaryPredicate __binary_pred, input_iterator_tag, forward_iterator_tag) [inline] This is an uglified unique_copy(_InputIterator, _InputIterator,
_OutputIterator, _BinaryPredicate) overloaded for input iterators and
forward iterator as result.
Definition at line 1038 of file stl_algo.h.
template<typename _InputIterator, typename _OutputIterator, typename
_BinaryPredicate> _OutputIterator std::__unique_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred, input_iterator_tag, output_iterator_tag) [inline] This is an uglified unique_copy(_InputIterator, _InputIterator,
_OutputIterator, _BinaryPredicate) overloaded for input iterators and
output iterator as result.
Definition at line 1009 of file stl_algo.h.
template<typename _ForwardIterator, typename _OutputIterator, typename
_BinaryPredicate> _OutputIterator std::__unique_copy (_ForwardIterator __first, _ForwardIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred, forward_iterator_tag, output_iterator_tag) [inline] This is an uglified unique_copy(_InputIterator, _InputIterator,
_OutputIterator, _BinaryPredicate) overloaded for forward iterators and output iterator as result.
Definition at line 980 of file stl_algo.h.
template<typename _InputIterator, typename _ForwardIterator>
_ForwardIterator std::__unique_copy (_InputIterator __first, _InputIterator __last, _ForwardIterator __result, input_iterator_tag, forward_iterator_tag) [inline] This is an uglified unique_copy(_InputIterator, _InputIterator,
_OutputIterator) overloaded for input iterators and forward iterator as result.
Definition at line 959 of file stl_algo.h.
template<typename _InputIterator, typename _OutputIterator> _OutputIterator
std::__unique_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result, input_iterator_tag, output_iterator_tag) [inline]
This is an uglified unique_copy(_InputIterator, _InputIterator,
_OutputIterator) overloaded for input iterators and output iterator as result.
Definition at line 936 of file stl_algo.h.
template<typename _ForwardIterator, typename _OutputIterator>
_OutputIterator std::__unique_copy (_ForwardIterator __first, _ForwardIterator __last, _OutputIterator __result, forward_iterator_tag, output_iterator_tag) [inline] This is an uglified unique_copy(_InputIterator, _InputIterator,
_OutputIterator) overloaded for forward iterators and output iterator as result.
Definition at line 913 of file stl_algo.h.
Referenced by unique_copy().
template<typename _T1, typename _T2> void std::_Construct (_T1 * __p, const
_T2 & __value) [inline]
Constructs an object in existing memory by invoking an allocated
object's constructor with an initializer.
Definition at line 75 of file stl_construct.h.
template<typename _ForwardIterator> void std::_Destroy (_ForwardIterator
__first, _ForwardIterator __last) [inline] Destroy a range of objects. If the value_type of the object has a
trivial destructor, the compiler should optimize all of this away,
otherwise the objects' destructors must be invoked.
Definition at line 97 of file stl_construct.h.
References _Destroy().
template<typename _Tp> void std::_Destroy (_Tp * __pointer) [inline]
Destroy the object pointed to by a pointer type.
Definition at line 87 of file stl_construct.h.
References _Destroy().
Referenced by _Destroy(), std::deque< _Tp, _Alloc
>::_M_fill_initialize(), std::deque< _Tp, _Alloc
>::_M_range_initialize(), std::vector< _Tp, _Alloc >::operator=(),
std::vector< _Tp, _Alloc >::reserve(), and std::vector< std::sub_match< _Bi_iter >, _Allocator >::~vector().
template<typename _InputIterator, typename _Tp, typename _BinaryOperation>
_Tp std::accumulate (_InputIterator __first, _InputIterator __last, _Tp __init, _BinaryOperation __binary_op) [inline] Accumulate values in a range with operation.
Accumulates the values in the range [first,last) using the function
object binary_op. The initial value is init. The values are processed in order.
Parameters:
first Start of range.
last End of range.
init Starting value to add other values to.
binary_op Function object to accumulate with.
Returns:
The final sum.
Definition at line 109 of file stl_numeric.h.
template<typename _InputIterator, typename _Tp> _Tp std::accumulate
(_InputIterator __first, _InputIterator __last, _Tp __init) [inline] Accumulate values in a range.
Accumulates the values in the range [first,last) using operator+(). The initial value is init. The values are processed in order.
Parameters:
first Start of range.
last End of range.
init Starting value to add other values to.
Returns:
The final sum.
Definition at line 83 of file stl_numeric.h.
Referenced by __gnu_parallel::parallel_partial_sum_linear().
template<typename _InputIterator, typename _OutputIterator, typename
_BinaryOperation> _OutputIterator std::adjacent_difference (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryOperation __binary_op) [inline] Return differences between adjacent values.
Computes the difference between adjacent values in the range
[first,last) using the function object binary_op and writes the result to result.
Parameters:
first Start of input range.
last End of input range.
result Output to write sums to.
Returns:
Iterator pointing just beyond the values written to result.
Definition at line 315 of file stl_numeric.h.
template<typename _InputIterator, typename _OutputIterator> _OutputIterator
std::adjacent_difference (_InputIterator __first, _InputIterator __last, _OutputIterator __result) [inline] Return differences between adjacent values.
Computes the difference between adjacent values in the range
[first,last) using operator-() and writes the result to result.
Parameters:
first Start of input range.
last End of input range.
result Output to write sums to.
Returns:
Iterator pointing just beyond the values written to result.
Definition at line 276 of file stl_numeric.h.
template<typename _ForwardIterator, typename _BinaryPredicate>
_ForwardIterator std::adjacent_find (_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred) [inline] Find two adjacent values in a sequence using a predicate.
Parameters:
first A forward iterator.
last A forward iterator.
binary_pred A binary predicate.
Returns:
The first iterator i such that i and i+1 are both valid iterators in [first,last) and such that binary_pred(*i,*(i+1)) is true, or
last if no such iterator exists.
Definition at line 3956 of file stl_algo.h.
template<typename _ForwardIterator> _ForwardIterator std::adjacent_find
(_ForwardIterator __first, _ForwardIterator __last) [inline] Find two adjacent values in a sequence that are equal.
Parameters:
first A forward iterator.
last A forward iterator.
Returns:
The first iterator i such that i and i+1 are both valid iterators in [first,last) and such that *i == *(i+1), or last if no such
iterator exists.
Definition at line 3925 of file stl_algo.h.
template<typename _InputIterator, typename _Distance> void std::advance
(_InputIterator & __i, _Distance __n) [inline] A generalization of pointer arithmetic.
Parameters:
i An input iterator.
n The 'delta' by which to change i.
Returns:
Nothing.
This increments i by n. For bidirectional and random access iterators, n may be negative, in which case i is decremented.
For random access iterators, this uses their + and - operations and are constant time. For other iterator classes they are linear time.
Definition at line 173 of file stl_iterator_base_funcs.h.
References __iterator_category().
Referenced by __inplace_stable_partition(), __merge_adaptive(),
__merge_without_buffer(), __rotate_adaptive(),
__stable_partition_adaptive(), std::deque< _Tp, _Alloc
>::_M_range_initialize(), equal_range(), lower_bound(), and
upper_bound().
template<typename _Tp> __gnu_cxx::__promote<_Tp>::__type std::arg (_Tp __x)
[inline]
Additional overloads [8.1.9].
Definition at line 312 of file impl/complex.
template<typename _Container> back_insert_iterator<_Container>
std::back_inserter (_Container & __x) [inline] Parameters:
x A container of arbitrary type.
Returns:
An instance of back_insert_iterator working on x.
This wrapper function helps in creating back_insert_iterator instances. Typing the name of the iterator requires knowing the precise full type of the container, which can be tedious and impedes generic programming. Using this function lets you take advantage of automatic template
parameter deduction, making the compiler match the correct types for
you.
Definition at line 456 of file stl_iterator.h.
Referenced by regex_replace().
template<typename _Functor, typename... _ArgTypes> _Bind_result< _Result,
typename _Maybe_wrap_member_pointer< _Functor >::type(_ArgTypes...)> std::bind (_Functor __f, _ArgTypes... __args) [inline] bind
Definition at line 1344 of file tr1_impl/functional.
ios_base& std::boolalpha (ios_base & __base) [inline]
Calls base.setf(ios_base::boolalpha).
Definition at line 792 of file ios_base.h.
References std::ios_base::setf().
Referenced by noboolalpha().
template<typename _II, typename _OI> _OI std::copy (_II __first, _II
__last, _OI __result) [inline] Copies the range [first,last) into result.
Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
Returns:
result + (first - last)
This inline function will boil down to a call to memmove whenever
possible. Failing that, if random access iterators are passed, then the loop count will be known (and therefore a candidate for compiler
optimizations such as unrolling). Result may not be contained within
[first,last); the copy_backward function should be used instead.
Note that the end of the output range is permitted to be contained
within [first,last).
Definition at line 456 of file stl_algobase.h.
template<typename _BI1, typename _BI2> _BI2 std::copy_backward (_BI1
__first, _BI1 __last, _BI2 __result) [inline] Copies the range [first,last) into result.
Parameters:
first A bidirectional iterator.
last A bidirectional iterator.
result A bidirectional iterator.
Returns:
result - (first - last)
The function has the same effect as copy, but starts at the end of the range and works its way to the start, returning the start of the
result. This inline function will boil down to a call to memmove
whenever possible. Failing that, if random access iterators are passed, then the loop count will be known (and therefore a candidate for
compiler optimizations such as unrolling).
Result may not be in the range [first,last). Use copy instead. Note
that the start of the output range may overlap [first,last).
Definition at line 624 of file stl_algobase.h.
template<typename _InputIterator, typename _Tp>
iterator_traits<_InputIterator>::difference_type std::count (_InputIterator __first, _InputIterator __last, const _Tp & __value) [inline]
Count the number of copies of a value in a sequence.
Parameters:
first An input iterator.
last An input iterator.
value The value to be counted.
Returns:
The number of iterators i in the range [first,last) for which *i == value
Definition at line 3987 of file stl_algo.h.
template<typename _InputIterator, typename _Predicate>
iterator_traits<_InputIterator>::difference_type std::count_if (_InputIterator __first, _InputIterator __last, _Predicate __pred) [inline]
Count the elements of a sequence for which a predicate is true.
Parameters:
first An input iterator.
last An input iterator.
pred A predicate.
Returns:
The number of iterators i in the range [first,last) for which
pred(*i) is true.
Definition at line 4011 of file stl_algo.h.
ios_base& std::dec (ios_base & __base) [inline]
Calls base.setf(ios_base::dec, ios_base::basefield).
Definition at line 930 of file ios_base.h.
References std::ios_base::setf().
template<typename _InputIterator>
iterator_traits<_InputIterator>::difference_type std::distance (_InputIterator __first, _InputIterator __last) [inline] A generalization of pointer arithmetic.
Parameters:
first An input iterator.
last An input iterator.
Returns:
The distance between them.
Returns n such that first + n == last. This requires that last must be reachable from first. Note that n may be negative.
For random access iterators, this uses their + and - operations and are constant time. For other iterator classes they are linear time.
Definition at line 115 of file stl_iterator_base_funcs.h.
References __iterator_category().
Referenced by __inplace_stable_partition(), __merge_adaptive(),
__merge_without_buffer(), __rotate_adaptive(),
__stable_partition_adaptive(), std::deque< _Tp, _Alloc
>::_M_range_initialize(), equal_range(), inplace_merge(),
std::sub_match< _Bi_iter >::length(), lower_bound(),
__gnu_parallel::multiseq_partition(),
__gnu_parallel::multiseq_selection(), std::match_results< _Bi_iter
>::position(), __gnu_cxx::random_sample_n(), std::list< _Tp, _Alloc
>::size(), and upper_bound().
template<typename _CharT, typename _Traits> basic_ostream<_CharT, _Traits>&
std::endl (basic_ostream< _CharT, _Traits > & __os) [inline] Write a newline and flush the stream.
This manipulator is often mistakenly used when a simple newline is
desired, leading to poor buffering performance. See
http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#2 for more on this subject.
Definition at line 545 of file ostream.
References flush(), std::basic_ostream< _CharT, _Traits >::put(), and
std::basic_ios< _CharT, _Traits >::widen().
template<typename _CharT, typename _Traits> basic_ostream<_CharT, _Traits>&
std::ends (basic_ostream< _CharT, _Traits > & __os) [inline] Write a null character into the output sequence.
Definition at line 556 of file ostream.
References std::basic_ostream< _CharT, _Traits >::put().
template<typename _II1, typename _II2> bool std::equal (_II1 __first1, _II1
__last1, _II2 __first2) [inline] Tests a range for element-wise equality.
Parameters:
first1 An input iterator.
last1 An input iterator.
first2 An input iterator.
Returns:
A boolean true or false.
This compares the elements of two ranges using == and returns true or
false depending on whether all of the corresponding elements of the
ranges are equal.
Definition at line 944 of file stl_algobase.h.
template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
bool std::equal (_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _BinaryPredicate __binary_pred) [inline] Tests a range for element-wise equality.
Parameters:
first1 An input iterator.
last1 An input iterator.
first2 An input iterator.
binary_pred A binary predicate functor.
Returns:
A boolean true or false.
This compares the elements of two ranges using the binary_pred
parameter, and returns true or false depending on whether all of the
corresponding elements of the ranges are equal.
Definition at line 975 of file stl_algobase.h.
template<typename _Tp> _Tp std::fabs (const std::complex< _Tp > & __z)
[inline]
fabs(__z) [8.1.8].
Definition at line 301 of file impl/complex.
template<typename _ForwardIterator, typename _Tp> void std::fill
(_ForwardIterator __first, _ForwardIterator __last, const _Tp & __value) [inline]
Fills the range [first,last) with copies of value.
Parameters:
first A forward iterator.
last A forward iterator.
value A reference-to-const of arbitrary type.
Returns:
Nothing.
This function fills a range with copies of the same value. For char
types filling contiguous areas of memory, this becomes an inline call
to memset or wmemset.
Definition at line 724 of file stl_algobase.h.
template<typename _OI, typename _Size, typename _Tp> _OI std::fill_n (_OI
__first, _Size __n, const _Tp & __value) [inline] Fills the range [first,first+n) with copies of value.
Parameters:
first An output iterator.
n The count of copies to perform.
value A reference-to-const of arbitrary type.
Returns:
The iterator at first+n.
This function fills a range with copies of the same value. For char
types filling contiguous areas of memory, this becomes an inline call
to memset or @ wmemset.
Definition at line 778 of file stl_algobase.h.
template<typename _InputIterator, typename _Tp> _InputIterator std::find
(_InputIterator __first, _InputIterator __last, const _Tp & __val) [inline]
Find the first occurrence of a value in a sequence.
Parameters:
first An input iterator.
last An input iterator.
val The value to find.
Returns:
The first iterator i in the range [first,last) such that *i == val, or last if no such iterator exists.
Definition at line 3805 of file stl_algo.h.
References __find(), and __iterator_category().
template<typename _ForwardIterator1, typename _ForwardIterator2, typename
_BinaryPredicate> _ForwardIterator1 std::find_end (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __comp) [inline] Find last matching subsequence in a sequence using a predicate.
Parameters:
first1 Start of range to search.
last1 End of range to search.
first2 Start of sequence to match.
last2 End of sequence to match.
comp The predicate to use.
Returns:
The last iterator i in the range [first1,last1-(last2-first2)) such that predicate(*(i+N), (first2+N)) is true for each N in the range [0,last2-first2), or last1 if no such iterator exists.
Searches the range [first1,last1) for a sub-sequence that compares
equal value-by-value with the sequence given by [first2,last2) using
comp as a predicate and returns an iterator to the first element of the sub-sequence, or last1 if the sub-sequence is not found. The subsequence will be the last such subsequence contained in [first,last1).
Because the sub-sequence must lie completely within the range
[first1,last1) it must start at a position less than
last1-(last2-first2) where last2-first2 is the length of the subsequence. This means that the returned iterator i will be in the range [first1,last1-(last2-first2))
Definition at line 651 of file stl_algo.h.
References __iterator_category().
template<typename _ForwardIterator1, typename _ForwardIterator2>
_ForwardIterator1 std::find_end (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) [inline] Find last matching subsequence in a sequence.
Parameters:
first1 Start of range to search.
last1 End of range to search.
first2 Start of sequence to match.
last2 End of sequence to match.
Returns:
The last iterator i in the range [first1,last1-(last2-first2)) such that *(i+N) == *(first2+N) for each N in the range
[0,last2-first2), or last1 if no such iterator exists.
Searches the range [first1,last1) for a sub-sequence that compares
equal value-by-value with the sequence given by [first2,last2) and
returns an iterator to the first element of the sub-sequence, or last1 if the sub-sequence is not found. The sub-sequence will be the last
such subsequence contained in [first,last1).
Because the sub-sequence must lie completely within the range
[first1,last1) it must start at a position less than
last1-(last2-first2) where last2-first2 is the length of the subsequence. This means that the returned iterator i will be in the range [first1,last1-(last2-first2))
Definition at line 605 of file stl_algo.h.
References __iterator_category().
template<typename _InputIterator, typename _ForwardIterator, typename
_BinaryPredicate> _InputIterator std::find_first_of (_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2, _BinaryPredicate __comp) [inline] Find element from a set in a sequence using a predicate.
Parameters:
first1 Start of range to search.
last1 End of range to search.
first2 Start of match candidates.
last2 End of match candidates.
comp Predicate to use.
Returns:
The first iterator i in the range [first1,last1) such that comp(*i, *(i2)) is true and i2 is an iterator in [first2,last2), or last1 if no such iterator exists.
Searches the range [first1,last1) for an element that is equal to some element in the range [first2,last2). If found, returns an iterator in the range [first1,last1), otherwise returns last1.
Definition at line 3895 of file stl_algo.h.
template<typename _InputIterator, typename _ForwardIterator> _InputIterator
std::find_first_of (_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2) [inline] Find element from a set in a sequence.
Parameters:
first1 Start of range to search.
last1 End of range to search.
first2 Start of match candidates.
last2 End of match candidates.
Returns:
The first iterator i in the range [first1,last1) such that *i == *(i2) such that i2 is an iterator in [first2,last2), or last1 if no such iterator exists.
Searches the range [first1,last1) for an element that is equal to some element in the range [first2,last2). If found, returns an iterator in the range [first1,last1), otherwise returns last1.
Definition at line 3856 of file stl_algo.h.
template<typename _InputIterator, typename _Predicate> _InputIterator
std::find_if (_InputIterator __first, _InputIterator __last, _Predicate __pred) [inline]
Find the first element in a sequence for which a predicate is true.
Parameters:
first An input iterator.
last An input iterator.
pred A predicate.
Returns:
The first iterator i in the range [first,last) such that pred(*i) is true, or last if no such iterator exists.
Definition at line 3828 of file stl_algo.h.
References __find_if(), and __iterator_category().
ios_base& std::fixed (ios_base & __base) [inline]
Calls base.setf(ios_base::fixed, ios_base::floatfield).
Definition at line 955 of file ios_base.h.
References std::ios_base::setf().
template<typename _CharT, typename _Traits> basic_ostream<_CharT, _Traits>&
std::flush (basic_ostream< _CharT, _Traits > & __os) [inline] Flushes the output stream.
This manipulator simply calls the stream's flush() member function.
Definition at line 566 of file ostream.
References std::basic_ostream< _CharT, _Traits >::flush().
Referenced by endl().
template<typename _InputIterator, typename _Function> _Function
std::for_each (_InputIterator __first, _InputIterator __last, _Function __f) [inline]
Apply a function to every element of a sequence.
Parameters:
first An input iterator.
last An input iterator.
f A unary function object.
Returns:
f.
Applies the function object f to each element in the range
[first,last). f must not modify the order of the sequence. If f has a
return value it is ignored.
Definition at line 3785 of file stl_algo.h.
template<typename _Container> front_insert_iterator<_Container>
std::front_inserter (_Container & __x) [inline] Parameters:
x A container of arbitrary type.
Returns:
An instance of front_insert_iterator working on x.
This wrapper function helps in creating front_insert_iterator instances. Typing the name of the iterator requires knowing the precise full type of the container, which can be tedious and impedes generic
programming. Using this function lets you take advantage of automatic
template parameter deduction, making the compiler match the correct
types for you.
Definition at line 539 of file stl_iterator.h.
template<typename _ForwardIterator, typename _Generator> void std::generate
(_ForwardIterator __first, _ForwardIterator __last, _Generator __gen) [inline]
Assign the result of a function object to each value in a sequence.
Parameters:
first A forward iterator.
last A forward iterator.
gen A function object taking no arguments and returning
std::iterator_traits<_ForwardIterator>::value_type
Returns:
generate() returns no value.
Performs the assignment *i = gen() for each i in the range
[first,last).
Definition at line 4398 of file stl_algo.h.
template<typename _OutputIterator, typename _Size, typename _Generator>
_OutputIterator std::generate_n (_OutputIterator __first, _Size __n, _Generator __gen) [inline] Assign the result of a function object to each value in a sequence.
Parameters:
first A forward iterator.
n The length of the sequence.
gen A function object taking no arguments and returning
std::iterator_traits<_ForwardIterator>::value_type
Returns:
The end of the sequence, first+n
Performs the assignment *i = gen() for each i in the range
[first,first+n).
Definition at line 4425 of file stl_algo.h.
template<typename _Tp> pair<_Tp*, ptrdiff_t> std::get_temporary_buffer
(ptrdiff_t __len) [inline] Allocates a temporary buffer.
Parameters:
len The number of objects of type Tp.
Returns:
See full description.
Reinventing the wheel, but this time with prettier spokes!
This function tries to obtain storage for len adjacent Tp objects. The objects themselves are not constructed, of course. A pair<> is returned containing 'the buffer s address and capacity (in the units of
sizeof(Tp)), or a pair of 0 values if no storage can be obtained.' Note that the capacity obtained may be less than that requested if the memory is unavailable; you should compare len with the .second return
value.
Provides the nothrow exception guarantee.
Definition at line 90 of file stl_tempbuf.h.
Referenced by std::_Temporary_buffer< _ForwardIterator, _Tp
>::_Temporary_buffer().
template<typename _CharT, typename _Traits, typename _Alloc, template<
typename, typename, typename > class _Base> basic_istream<_CharT, _Traits>& std::getline (basic_istream< _CharT, _Traits > & __is, __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base > & __str) [inline]
Read a line from stream into a string.
Parameters:
is Input stream.
str Buffer to store into.
Returns:
Reference to the input stream.
Stores characters from is into str until '
Definition at line 2318 of file vstring.h.
References std::basic_ios< _CharT, _Traits >::widen().
Referenced by std::basic_istream< char >::getline(), and getline().
template<typename _CharT, typename _Traits, typename _Alloc, template<
typename, typename, typename > class _Base> basic_istream< _CharT, _Traits > & std::getline (basic_istream< _CharT, _Traits > & __is, __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base > & __str, _CharT __delim) [inline]
Read a line from stream into a string.
Parameters:
is Input stream.
str Buffer to store into.
delim Character marking end of line.
Returns:
Reference to the input stream.
Stores characters from is into str until delim is found, the end of the stream is encountered, or str.max_size() is reached. If is.width() is
non-zero, that is the limit on the number of characters stored into
str. Any previous contents of str are erased. If delim was encountered, it is extracted but not stored into str.
Definition at line 627 of file vstring.tcc.
References std::basic_ios< _CharT, _Traits >::_M_setstate(),
__gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::append(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::erase(),
__gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base
>::max_size(), std::basic_ios< _CharT, _Traits >::rdbuf(), and
std::basic_ios< _CharT, _Traits >::setstate().
template<typename _CharT, typename _Traits, typename _Alloc>
basic_istream<_CharT, _Traits>& std::getline (basic_istream< _CharT, _Traits > & __is, basic_string< _CharT, _Traits, _Alloc > & __str) [inline]
Read a line from stream into a string.
Parameters:
is Input stream.
str Buffer to store into.
Returns:
Reference to the input stream.
Stores characters from is into str until '
Definition at line 2460 of file basic_string.h.
References getline(), and std::basic_ios< _CharT, _Traits >::widen().
template<typename _CharT, typename _Traits, typename _Alloc> basic_istream<
_CharT, _Traits > & std::getline (basic_istream< _CharT, _Traits > & __is, basic_string< _CharT, _Traits, _Alloc > & __str, _CharT __delim) [inline]
Read a line from stream into a string.
Parameters:
is Input stream.
str Buffer to store into.
delim Character marking end of line.
Returns:
Reference to the input stream.
Stores characters from is into str until delim is found, the end of the stream is encountered, or str.max_size() is reached. If is.width() is
non-zero, that is the limit on the number of characters stored into
str. Any previous contents of str are erased. If delim was encountered, it is extracted but not stored into str.
Definition at line 1043 of file basic_string.tcc.
References std::basic_ios< _CharT, _Traits >::_M_setstate(),
std::basic_string< _CharT, _Traits, _Alloc >::erase(),
std::basic_string< _CharT, _Traits, _Alloc >::max_size(),
std::basic_ios< _CharT, _Traits >::rdbuf(), and std::basic_ios< _CharT, _Traits >::setstate().
template<typename _Facet> bool std::has_facet (const locale & __loc) throw
() [inline]
Test for the presence of a facet.
has_facet tests the locale argument for the presence of the facet type provided as the template parameter. Facets derived from the facet
parameter will also return true.
Parameters:
Facet The facet type to test the presence of.
locale The locale to test.
Returns:
true if locale contains a facet of type Facet, else false.
Definition at line 96 of file locale_classes.tcc.
ios_base& std::hex (ios_base & __base) [inline]
Calls base.setf(ios_base::hex, ios_base::basefield).
Definition at line 938 of file ios_base.h.
References std::ios_base::setf().
template<typename _InputIterator1, typename _InputIterator2, typename _Tp,
typename _BinaryOperation1, typename _BinaryOperation2> _Tp std::inner_product (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _Tp __init, _BinaryOperation1 __binary_op1, _BinaryOperation2 __binary_op2) [inline] Compute inner product of two ranges.
Starting with an initial value of init, applies binary_op2 to successive elements from the two ranges and accumulates each result
into the accumulated value using binary_op1. The values in the ranges are processed in order.
Parameters:
first1 Start of range 1.
last1 End of range 1.
first2 Start of range 2.
init Starting value to add other values to.
binary_op1 Function object to accumulate with. binary_op2 Function object to apply to pairs of input values.
Returns:
The final inner product.
Definition at line 169 of file stl_numeric.h.
template<typename _InputIterator1, typename _InputIterator2, typename _Tp>
_Tp std::inner_product (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _Tp __init) [inline] Compute inner product of two ranges.
Starting with an initial value of init, multiplies successive elements from the two ranges and adds each product into the accumulated value
using operator+(). The values in the ranges are processed in order.
Parameters:
first1 Start of range 1.
last1 End of range 1.
first2 Start of range 2.
init Starting value to add other values to.
Returns:
The final inner product.
Definition at line 137 of file stl_numeric.h.
template<typename _BidirectionalIterator, typename _Compare> void
std::inplace_merge (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Compare __comp) [inline] Merges two sorted ranges in place.
Parameters:
first An iterator.
middle Another iterator.
last Another iterator.
comp A functor to use for comparisons.
Returns:
Nothing.
Merges two sorted and consecutive ranges, [first,middle) and
[middle,last), and puts the result in [first,last). The output will be sorted. The sort is stable, that is, for equivalent elements in the two ranges, elements from the first range will always come before elements from the second.
If enough additional memory is available, this takes (last-first)-1
comparisons. Otherwise an NlogN algorithm is used, where N is
distance(first,last).
The comparison function should have the same effects on ordering as the function used for the initial sort.
Definition at line 2830 of file stl_algo.h.
References __merge_adaptive(), __merge_without_buffer(),
std::_Temporary_buffer< _ForwardIterator, _Tp >::begin(), distance(),
and std::_Temporary_buffer< _ForwardIterator, _Tp >::size().
template<typename _BidirectionalIterator> void std::inplace_merge
(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last) [inline] Merges two sorted ranges in place.
Parameters:
first An iterator.
middle Another iterator.
last Another iterator.
Returns:
Nothing.
Merges two sorted and consecutive ranges, [first,middle) and
[middle,last), and puts the result in [first,last). The output will be sorted. The sort is stable, that is, for equivalent elements in the two ranges, elements from the first range will always come before elements from the second.
If enough additional memory is available, this takes (last-first)-1
comparisons. Otherwise an NlogN algorithm is used, where N is
distance(first,last).
Definition at line 2776 of file stl_algo.h.
References __merge_adaptive(), __merge_without_buffer(),
std::_Temporary_buffer< _ForwardIterator, _Tp >::begin(), distance(),
and std::_Temporary_buffer< _ForwardIterator, _Tp >::size().
template<typename _Container, typename _Iterator>
insert_iterator<_Container> std::inserter (_Container & __x, _Iterator __i) [inline]
Parameters:
x A container of arbitrary type.
Returns:
An instance of insert_iterator working on x.
This wrapper function helps in creating insert_iterator instances. Typing the name of the iterator requires knowing the precise full type of the container, which can be tedious and impedes generic programming. Using this function lets you take advantage of automatic template
parameter deduction, making the compiler match the correct types for
you.
Definition at line 645 of file stl_iterator.h.
ios_base& std::internal (ios_base & __base) [inline]
Calls base.setf(ios_base::internal, ios_base::adjustfield).
Definition at line 905 of file ios_base.h.
References std::ios_base::setf().
template<typename _CharT> bool std::isalnum (_CharT __c, const locale &
__loc) [inline]
Convenience interface to ctype.is(ctype_base::alnum, __c).
Definition at line 2611 of file locale_facets.h.
References std::__ctype_abstract_base< _CharT >::is().
template<typename _CharT> bool std::isalpha (_CharT __c, const locale &
__loc) [inline]
Convenience interface to ctype.is(ctype_base::alpha, __c).
Definition at line 2587 of file locale_facets.h.
References std::__ctype_abstract_base< _CharT >::is().
template<typename _CharT> bool std::iscntrl (_CharT __c, const locale &
__loc) [inline]
Convenience interface to ctype.is(ctype_base::cntrl, __c).
Definition at line 2569 of file locale_facets.h.
References std::__ctype_abstract_base< _CharT >::is().
template<typename _CharT> bool std::isdigit (_CharT __c, const locale &
__loc) [inline]
Convenience interface to ctype.is(ctype_base::digit, __c).
Definition at line 2593 of file locale_facets.h.
References std::__ctype_abstract_base< _CharT >::is().
template<typename _CharT> bool std::isgraph (_CharT __c, const locale &
__loc) [inline]
Convenience interface to ctype.is(ctype_base::graph, __c).
Definition at line 2617 of file locale_facets.h.
References std::__ctype_abstract_base< _CharT >::is().
template<typename _CharT> bool std::islower (_CharT __c, const locale &
__loc) [inline]
Convenience interface to ctype.is(ctype_base::lower, __c).
Definition at line 2581 of file locale_facets.h.
References std::__ctype_abstract_base< _CharT >::is().
template<typename _CharT> bool std::isprint (_CharT __c, const locale &
__loc) [inline]
Convenience interface to ctype.is(ctype_base::print, __c).
Definition at line 2563 of file locale_facets.h.
References std::__ctype_abstract_base< _CharT >::is().
template<typename _CharT> bool std::ispunct (_CharT __c, const locale &
__loc) [inline]
Convenience interface to ctype.is(ctype_base::punct, __c).
Definition at line 2599 of file locale_facets.h.
References std::__ctype_abstract_base< _CharT >::is().
template<typename _CharT> bool std::isspace (_CharT __c, const locale &
__loc) [inline]
Convenience interface to ctype.is(ctype_base::space, __c).
Definition at line 2557 of file locale_facets.h.
References std::__ctype_abstract_base< _CharT >::is().
template<typename _CharT> bool std::isupper (_CharT __c, const locale &
__loc) [inline]
Convenience interface to ctype.is(ctype_base::upper, __c).
Definition at line 2575 of file locale_facets.h.
References std::__ctype_abstract_base< _CharT >::is().
template<typename _CharT> bool std::isxdigit (_CharT __c, const locale &
__loc) [inline]
Convenience interface to ctype.is(ctype_base::xdigit, __c).
Definition at line 2605 of file locale_facets.h.
References std::__ctype_abstract_base< _CharT >::is().
template<typename _ForwardIterator1, typename _ForwardIterator2> void
std::iter_swap (_ForwardIterator1 __a, _ForwardIterator2 __b) [inline] Swaps the contents of two iterators.
Parameters:
a An iterator.
b Another iterator.
Returns:
Nothing.
This function swaps the values pointed to by two iterators, not the
iterators themselves.
Definition at line 121 of file stl_algobase.h.
ios_base& std::left (ios_base & __base) [inline]
Calls base.setf(ios_base::left, ios_base::adjustfield).
Definition at line 913 of file ios_base.h.
References std::ios_base::setf().
Referenced by __gnu_parallel::LoserTree< false, T, Comparator
>::init_winner(), operator<<(), and
__gnu_parallel::parallel_partition().
template<typename _II1, typename _II2, typename _Compare> bool
std::lexicographical_compare (_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, _Compare __comp) [inline] Performs 'dictionary' comparison on ranges.
Parameters:
first1 An input iterator.
last1 An input iterator.
first2 An input iterator.
last2 An input iterator.
comp A comparison functor.
Returns:
A boolean true or false.
The same as the four-parameter lexicographical_compare, but uses the
comp parameter instead of <.
Definition at line 1039 of file stl_algobase.h.
template<typename _II1, typename _II2> bool std::lexicographical_compare
(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) [inline] Performs 'dictionary' comparison on ranges.
Parameters:
first1 An input iterator.
last1 An input iterator.
first2 An input iterator.
last2 An input iterator.
Returns:
A boolean true or false.
Definition at line 1005 of file stl_algobase.h.
template<typename _RandomAccessIterator, typename _Compare> void
std::make_heap (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) [inline] Construct a heap over a range using comparison functor.
Parameters:
first Start of heap.
last End of heap.
comp Comparison functor to use.
This operation makes the elements in [first,last) into a heap.
Comparisons are made using comp.
Definition at line 411 of file stl_heap.h.
template<typename _RandomAccessIterator> void std::make_heap
(_RandomAccessIterator __first, _RandomAccessIterator __last) [inline] Construct a heap over a range.
Parameters:
first Start of heap.
last End of heap.
This operation makes the elements in [first,last) into a heap.
Definition at line 371 of file stl_heap.h.
template<class _T1, class _T2> pair<_T1, _T2> std::make_pair (_T1 __x, _T2
__y) [inline]
A convenience wrapper for creating a pair from two objects.
Parameters:
x The first object.
y The second object.
Returns:
A newly-constructed pair<> object of the appropriate type.
The standard requires that the objects be passed by reference-to-const, but LWG issue #181 says they should be passed by const value. We follow the LWG by default.
Definition at line 218 of file stl_pair.h.
Referenced by __gnu_parallel::find_template(),
__gnu_parallel::multiseq_partition(),
__gnu_parallel::multiseq_selection(),
__gnu_parallel::parallel_merge_advance(),
__gnu_parallel::parallel_multiway_merge(),
__gnu_parallel::parallel_sort_mwms_pu(),
__gnu_parallel::parallel_sort_qsb(),
__gnu_parallel::qsb_local_sort_with_helping(),
__gnu_parallel::find_first_of_selector< ForwardIterator
>::sequential_algorithm(),
__gnu_parallel::adjacent_find_selector::sequential_algorithm(), and
__gnu_parallel::find_if_selector::sequential_algorithm().
template<typename _Tp, typename _Compare> const _Tp & std::max (const _Tp &
__a, const _Tp & __b, _Compare __comp) [inline] This does what you think it does.
Parameters:
a A thing of arbitrary type.
b Another thing of arbitrary type.
comp A comparison functor.
Returns:
The greater of the parameters.
This will work on temporary expressions, since they are only evaluated once, unlike a preprocessor macro.
Definition at line 252 of file stl_algobase.h.
template<typename _Tp> const _Tp & std::max (const _Tp & __a, const _Tp &
__b) [inline]
This does what you think it does.
Parameters:
a A thing of arbitrary type.
b Another thing of arbitrary type.
Returns:
The greater of the parameters.
This is the simple classic generic implementation. It will work on
temporary expressions, since they are only evaluated once, unlike a
preprocessor macro.
Definition at line 210 of file stl_algobase.h.
Referenced by std::tr1::__detail::__bessel_jn(),
std::tr1::__detail::__ellint_rd(), std::tr1::__detail::__ellint_rf(),
std::tr1::__detail::__ellint_rj(), std::_Deque_base< _Tp, _Alloc
>::_M_initialize_map(), std::deque< _Tp, _Alloc >::_M_reallocate_map(), __gnu_parallel::multiseq_partition(),
__gnu_parallel::multiseq_selection(), and std::basic_stringbuf< _CharT, _Traits, _Alloc >::overflow().
template<typename _ForwardIterator, typename _Compare> _ForwardIterator
std::max_element (_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) [inline] Return the maximum element in a range using comparison functor.
Parameters:
first Start of range.
last End of range.
comp Comparison functor.
Returns:
Iterator referencing the first instance of the largest value
according to comp.
Definition at line 5616 of file stl_algo.h.
template<typename _ForwardIterator> _ForwardIterator std::max_element
(_ForwardIterator __first, _ForwardIterator __last) [inline] Return the maximum element in a range.
Parameters:
first Start of range.
last End of range.
Returns:
Iterator referencing the first instance of the largest value.
Definition at line 5589 of file stl_algo.h.
template<typename _Tp, typename _Class> _Mem_fn<_Tp _Class::*> std::mem_fn
(_Tp _Class::* __pm) [inline] Returns a function object that forwards to the member pointer pm.
Definition at line 799 of file tr1_impl/functional.
template<typename _InputIterator1, typename _InputIterator2, typename
_OutputIterator, typename _Compare> _OutputIterator std::merge (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) [inline]
Merges two sorted ranges.
Parameters:
first1 An iterator.
first2 Another iterator.
last1 Another iterator.
last2 Another iterator.
result An iterator pointing to the end of the merged range. comp A functor to use for comparisons.
Returns:
An iterator pointing to the first element 'not less than' val.
Merges the ranges [first1,last1) and [first2,last2) into the sorted
range [result, result + (last1-first1) + (last2-first2)). Both input
ranges must be sorted, and the output range must not overlap with
either of the input ranges. The sort is stable, that is, for equivalent elements in the two ranges, elements from the first range will always
come before elements from the second.
The comparison function should have the same effects on ordering as the function used for the initial sort.
Definition at line 4908 of file stl_algo.h.
template<typename _InputIterator1, typename _InputIterator2, typename
_OutputIterator> _OutputIterator std::merge (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) [inline] Merges two sorted ranges.
Parameters:
first1 An iterator.
first2 Another iterator.
last1 Another iterator.
last2 Another iterator.
result An iterator pointing to the end of the merged range.
Returns:
An iterator pointing to the first element 'not less than' val.
Merges the ranges [first1,last1) and [first2,last2) into the sorted
range [result, result + (last1-first1) + (last2-first2)). Both input
ranges must be sorted, and the output range must not overlap with
either of the input ranges. The sort is stable, that is, for equivalent elements in the two ranges, elements from the first range will always
come before elements from the second.
Definition at line 4846 of file stl_algo.h.
template<typename _Tp, typename _Compare> const _Tp & std::min (const _Tp &
__a, const _Tp & __b, _Compare __comp) [inline] This does what you think it does.
Parameters:
a A thing of arbitrary type.
b Another thing of arbitrary type.
comp A comparison functor.
Returns:
The lesser of the parameters.
This will work on temporary expressions, since they are only evaluated once, unlike a preprocessor macro.
Definition at line 232 of file stl_algobase.h.
template<typename _Tp> const _Tp & std::min (const _Tp & __a, const _Tp &
__b) [inline]
This does what you think it does.
Parameters:
a A thing of arbitrary type.
b Another thing of arbitrary type.
Returns:
The lesser of the parameters.
This is the simple classic generic implementation. It will work on
temporary expressions, since they are only evaluated once, unlike a
preprocessor macro.
Definition at line 188 of file stl_algobase.h.
Referenced by __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare(), std::basic_string< _CharT, _Traits, _Alloc >::compare(), std::basic_string< char >::compare(),
__gnu_parallel::multiseq_partition(),
__gnu_parallel::multiseq_selection(), std::basic_stringbuf< _CharT,
_Traits, _Alloc >::overflow(),
__gnu_parallel::parallel_random_shuffle_drs(),
__gnu_parallel::parallel_sort_qs_divide(), std::basic_istream< _CharT, _Traits >::readsome(), __gnu_cxx::__versa_string< _CharT, _Traits,
_Alloc, _Base >::rfind(), std::basic_string< _CharT, _Traits, _Alloc
>::rfind(), __gnu_parallel::search_template(),
__gnu_parallel::sequential_random_shuffle(), std::basic_filebuf<
_CharT, _Traits >::underflow(), std::basic_streambuf< _CharT, _Traits
>::xsgetn(), std::basic_streambuf< _CharT, _Traits >::xsputn(), and
std::basic_filebuf< _CharT, _Traits >::xsputn().
template<typename _ForwardIterator, typename _Compare> _ForwardIterator
std::min_element (_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) [inline] Return the minimum element in a range using comparison functor.
Parameters:
first Start of range.
last End of range.
comp Comparison functor.
Returns:
Iterator referencing the first instance of the smallest value
according to comp.
Definition at line 5562 of file stl_algo.h.
template<typename _ForwardIterator> _ForwardIterator std::min_element
(_ForwardIterator __first, _ForwardIterator __last) [inline] Return the minimum element in a range.
Parameters:
first Start of range.
last End of range.
Returns:
Iterator referencing the first instance of the smallest value.
Definition at line 5535 of file stl_algo.h.
template<typename _InputIterator1, typename _InputIterator2, typename
_BinaryPredicate> pair<_InputIterator1, _InputIterator2> std::mismatch (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate __binary_pred) [inline] Finds the places in ranges which don't match.
Parameters:
first1 An input iterator.
last1 An input iterator.
first2 An input iterator.
binary_pred A binary predicate functor.
Returns:
A pair of iterators pointing to the first mismatch.
This compares the elements of two ranges using the binary_pred
parameter, and returns a pair of iterators. The first iterator points into the first range, the second iterator points into the second range, and the elements pointed to by the iterators are not equal.
Definition at line 1115 of file stl_algobase.h.
template<typename _InputIterator1, typename _InputIterator2>
pair<_InputIterator1, _InputIterator2> std::mismatch (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2) [inline] Finds the places in ranges which don't match.
Parameters:
first1 An input iterator.
last1 An input iterator.
first2 An input iterator.
Returns:
A pair of iterators pointing to the first mismatch.
This compares the elements of two ranges using == and returns a pair of iterators. The first iterator points into the first range, the second iterator points into the second range, and the elements pointed to by the iterators are not equal.
Definition at line 1078 of file stl_algobase.h.
template<typename _BidirectionalIterator, typename _Compare> bool
std::next_permutation (_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) [inline] Permute range into the next 'dictionary' ordering using comparison
functor.
Parameters:
first Start of range.
last End of range.
comp A comparison functor.
Returns:
False if wrapped to first permutation, true otherwise.
Treats all permutations of the range [first,last) as a set of
'dictionary' sorted sequences ordered by comp. Permutes the current sequence into the next one of this set. Returns true if there are more sequences to generate. If the sequence is the largest of the set, the smallest is generated and false returned.
Definition at line 3273 of file stl_algo.h.
template<typename _BidirectionalIterator> bool std::next_permutation
(_BidirectionalIterator __first, _BidirectionalIterator __last) [inline]
Permute range into the next 'dictionary' ordering.
Parameters:
first Start of range.
last End of range.
Returns:
False if wrapped to first permutation, true otherwise.
Treats all permutations of the range as a set of 'dictionary' sorted sequences. Permutes the current sequence into the next one of this set. Returns true if there are more sequences to generate. If the sequence
is the largest of the set, the smallest is generated and false
returned.
Definition at line 3217 of file stl_algo.h.
ios_base& std::noboolalpha (ios_base & __base) [inline]
Calls base.unsetf(ios_base::boolalpha).
Definition at line 800 of file ios_base.h.
References boolalpha(), and std::ios_base::unsetf().
ios_base& std::noshowbase (ios_base & __base) [inline]
Calls base.unsetf(ios_base::showbase).
Definition at line 816 of file ios_base.h.
References showbase(), and std::ios_base::unsetf().
ios_base& std::noshowpoint (ios_base & __base) [inline]
Calls base.unsetf(ios_base::showpoint).
Definition at line 832 of file ios_base.h.
References showpoint(), and std::ios_base::unsetf().
ios_base& std::noshowpos (ios_base & __base) [inline]
Calls base.unsetf(ios_base::showpos).
Definition at line 848 of file ios_base.h.
References showpos(), and std::ios_base::unsetf().
ios_base& std::noskipws (ios_base & __base) [inline]
Calls base.unsetf(ios_base::skipws).
Definition at line 864 of file ios_base.h.
References skipws(), and std::ios_base::unsetf().
ios_base& std::nounitbuf (ios_base & __base) [inline]
Calls base.unsetf(ios_base::unitbuf).
Definition at line 896 of file ios_base.h.
References unitbuf(), and std::ios_base::unsetf().
ios_base& std::nouppercase (ios_base & __base) [inline]
Calls base.unsetf(ios_base::uppercase).
Definition at line 880 of file ios_base.h.
References std::ios_base::unsetf(), and uppercase().
template<typename _RandomAccessIterator, typename _Compare> void
std::nth_element (_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Compare __comp) [inline] Sort a sequence just enough to find a particular position using a
predicate for comparison.
Parameters:
first An iterator.
nth Another iterator.
last Another iterator.
comp A comparison functor.
Returns:
Nothing.
Rearranges the elements in the range [first,last) so that *nth is the
same element that would have been in that position had the whole
sequence been sorted. The elements either side of *nth are not
completely sorted, but for any iterator in the range [first,nth) and any iterator in the range [nth,last) it holds that comp(*j,*i) is false.
Definition at line 4733 of file stl_algo.h.
References __lg().
template<typename _RandomAccessIterator> void std::nth_element
(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last) [inline] Sort a sequence just enough to find a particular position.
Parameters:
first An iterator.
nth Another iterator.
last Another iterator.
Returns:
Nothing.
Rearranges the elements in the range [first,last) so that *nth is the
same element that would have been in that position had the whole
sequence been sorted. whole sequence been sorted. The elements either
side of *nth are not completely sorted, but for any iterator in the range [first,nth) and any iterator in the range [nth,last) it holds that *j<*i is false.
Definition at line 4695 of file stl_algo.h.
References __lg().
ios_base& std::oct (ios_base & __base) [inline]
Calls base.setf(ios_base::oct, ios_base::basefield).
Definition at line 946 of file ios_base.h.
References std::ios_base::setf().
template<size_t _Nb> bitset<_Nb> std::operator & (const bitset< _Nb > &
__x, const bitset< _Nb > & __y) [inline] Global bitwise operations on bitsets.
Parameters:
x A bitset.
y A bitset of the same size as x.
Returns:
A new bitset.
These should be self-explanatory.
Definition at line 1205 of file bitset.
template<class _Tp, class _CharT, class _Traits, class _Dist> bool
std::operator!= (const istream_iterator< _Tp, _CharT, _Traits, _Dist > & __x, const istream_iterator< _Tp, _CharT, _Traits, _Dist > & __y) [inline]
Return false if x and y are both end or not end, or x and y are the
same.
Definition at line 135 of file stream_iterator.h.
References std::istream_iterator< _Tp, _CharT, _Traits, _Dist
>::_M_equal().
template<typename _Tp, typename _Alloc> bool std::operator!= (const vector<
_Tp, _Alloc > & __x, const vector< _Tp, _Alloc > & __y) [inline] Based on operator==.
Definition at line 1133 of file stl_vector.h.
template<typename _Tp, typename _Seq> bool std::operator!= (const stack<
_Tp, _Seq > & __x, const stack< _Tp, _Seq > & __y) [inline] Based on operator==.
Definition at line 262 of file stl_stack.h.
template<typename _Key, typename _Compare, typename _Alloc> bool
std::operator!= (const set< _Key, _Compare, _Alloc > & __x, const set< _Key, _Compare, _Alloc > & __y) [inline] Returns !(x == y).
Definition at line 619 of file stl_set.h.
template<typename _Tp, typename _Seq> bool std::operator!= (const queue<
_Tp, _Seq > & __x, const queue< _Tp, _Seq > & __y) [inline] Based on operator==.
Definition at line 297 of file stl_queue.h.
template<class _T1, class _T2> bool std::operator!= (const pair< _T1, _T2 >
& __x, const pair< _T1, _T2 > & __y) [inline] Uses operator== to find the result.
Definition at line 164 of file stl_pair.h.
template<typename _Key, typename _Compare, typename _Alloc> bool
std::operator!= (const multiset< _Key, _Compare, _Alloc > & __x, const multiset< _Key, _Compare, _Alloc > & __y) [inline] Returns !(x == y).
Definition at line 606 of file stl_multiset.h.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool std::operator!= (const multimap< _Key, _Tp, _Compare, _Alloc > & __x, const multimap< _Key, _Tp, _Compare, _Alloc > & __y) [inline] Based on operator==.
Definition at line 708 of file stl_multimap.h.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool std::operator!= (const map< _Key, _Tp, _Compare, _Alloc > & __x, const map< _Key, _Tp, _Compare, _Alloc > & __y) [inline] Based on operator==.
Definition at line 779 of file stl_map.h.
template<typename _Tp, typename _Alloc> bool std::operator!= (const list<
_Tp, _Alloc > & __x, const list< _Tp, _Alloc > & __y) [inline] Based on operator==.
Definition at line 1422 of file stl_list.h.
template<typename _IteratorL, typename _IteratorR> bool std::operator!=
(const reverse_iterator< _IteratorL > & __x, const reverse_iterator< _IteratorR > & __y) [inline] Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base()
iterators. Others are implemented in terms of one another.
Definition at line 345 of file stl_iterator.h.
template<typename _Iterator> bool std::operator!= (const reverse_iterator<
_Iterator > & __x, const reverse_iterator< _Iterator > & __y) [inline] Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base()
iterators. Others are implemented in terms of one another.
Definition at line 295 of file stl_iterator.h.
template<typename _Tp, typename _Alloc> bool std::operator!= (const deque<
_Tp, _Alloc > & __x, const deque< _Tp, _Alloc > & __y) [inline] Based on operator==.
Definition at line 1725 of file stl_deque.h.
template<typename _CharT, typename _Traits, typename _Alloc> bool
std::operator!= (const basic_string< _CharT, _Traits, _Alloc > & __lhs, const _CharT * __rhs) [inline] Test difference of string and C string.
Parameters:
lhs String.
rhs C string.
Returns:
True if lhs.compare(rhs) != 0. False otherwise.
Definition at line 2224 of file basic_string.h.
template<typename _CharT, typename _Traits, typename _Alloc> bool
std::operator!= (const _CharT * __lhs, const basic_string< _CharT, _Traits, _Alloc > & __rhs) [inline] Test difference of C string and string.
Parameters:
lhs C string.
rhs String.
Returns:
True if rhs.compare(lhs) != 0. False otherwise.
Definition at line 2212 of file basic_string.h.
template<typename _CharT, typename _Traits, typename _Alloc> bool
std::operator!= (const basic_string< _CharT, _Traits, _Alloc > & __lhs, const basic_string< _CharT, _Traits, _Alloc > & __rhs) [inline] Test difference of two strings.
Parameters:
lhs First string.
rhs Second string.
Returns:
True if lhs.compare(rhs) != 0. False otherwise.
Definition at line 2200 of file basic_string.h.
template<typename _Signature> bool std::operator!= (const function<
_Signature > & __f, _M_clear_type *) [inline] Compares a polymorphic function object wrapper against 0 (the NULL
pointer).
Returns:
false if the wrapper has no target, true otherwise
This function will not throw an exception.
Definition at line 2102 of file tr1_impl/functional.
template<typename _Iterator> reverse_iterator<_Iterator> std::operator+
(typename reverse_iterator< _Iterator >::difference_type __n, const reverse_iterator< _Iterator > & __x) [inline] Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base()
iterators. Others are implemented in terms of one another.
Definition at line 325 of file stl_iterator.h.
References std::reverse_iterator< _Iterator >::base().
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc> std::operator+ (const basic_string< _CharT, _Traits, _Alloc > & __lhs, _CharT __rhs) [inline] Concatenate string and character.
Parameters:
lhs First string.
rhs Last string.
Returns:
New string with lhs followed by rhs.
Definition at line 2136 of file basic_string.h.
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc> std::operator+ (const basic_string< _CharT, _Traits, _Alloc > & __lhs, const _CharT * __rhs) [inline]
Concatenate string and C string.
Parameters:
lhs First string.
rhs Last string.
Returns:
New string with lhs followed by rhs.
Definition at line 2120 of file basic_string.h.
References std::basic_string< _CharT, _Traits, _Alloc >::append().
template<typename _CharT, typename _Traits, typename _Alloc> basic_string<
_CharT, _Traits, _Alloc > std::operator+ (_CharT __lhs, const basic_string< _CharT, _Traits, _Alloc > & __rhs) [inline] Concatenate character and string.
Parameters:
lhs First string.
rhs Last string.
Returns:
New string with lhs followed by rhs.
Definition at line 683 of file basic_string.tcc.
References std::basic_string< _CharT, _Traits, _Alloc >::size().
template<typename _CharT, typename _Traits, typename _Alloc> basic_string<
_CharT, _Traits, _Alloc > std::operator+ (const _CharT * __lhs, const basic_string< _CharT, _Traits, _Alloc > & __rhs) [inline] Concatenate C string and string.
Parameters:
lhs First string.
rhs Last string.
Returns:
New string with value of lhs followed by rhs.
Definition at line 667 of file basic_string.tcc.
References std::basic_string< _CharT, _Traits, _Alloc >::size().
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc> std::operator+ (const basic_string< _CharT, _Traits, _Alloc > & __lhs, const basic_string< _CharT, _Traits, _Alloc > & __rhs) [inline] Concatenate two strings.
Parameters:
lhs First string.
rhs Last string.
Returns:
New string with value of lhs followed by rhs.
Definition at line 2083 of file basic_string.h.
References std::basic_string< _CharT, _Traits, _Alloc >::append().
template<typename _IteratorL, typename _IteratorR>
reverse_iterator<_IteratorL>::difference_type std::operator- (const reverse_iterator< _IteratorL > & __x, const reverse_iterator< _IteratorR > & __y) [inline] Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base()
iterators. Others are implemented in terms of one another.
Definition at line 369 of file stl_iterator.h.
References std::reverse_iterator< _Iterator >::base().
template<typename _Iterator> reverse_iterator<_Iterator>::difference_type
std::operator- (const reverse_iterator< _Iterator > & __x, const reverse_iterator< _Iterator > & __y) [inline] Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base()
iterators. Others are implemented in terms of one another.
Definition at line 319 of file stl_iterator.h.
References std::reverse_iterator< _Iterator >::base().
template<typename _Tp, typename _Alloc> bool std::operator< (const vector<
_Tp, _Alloc > & __x, const vector< _Tp, _Alloc > & __y) [inline] Vector ordering relation.
Parameters:
x A vector.
y A vector of the same type as x.
Returns:
True iff x is lexicographically less than y.
This is a total ordering relation. It is linear in the size of the
vectors. The elements must be comparable with <.
See std::lexicographical_compare() for how the determination is made.
Definition at line 1126 of file stl_vector.h.
template<typename _Tp, typename _Seq> bool std::operator< (const stack<
_Tp, _Seq > & __x, const stack< _Tp, _Seq > & __y) [inline] Stack ordering relation.
Parameters:
x A stack.
y A stack of the same type as x.
Returns:
True iff x is lexicographically less than y.
This is an total ordering relation. Complexity and semantics depend on the underlying sequence type, but the expected rules are: this relation is linear in the size of the sequences, the elements must be comparable with <, and std::lexicographical_compare() is usually used to make the determination.
Definition at line 256 of file stl_stack.h.
template<typename _Key, typename _Compare, typename _Alloc> bool
std::operator< (const set< _Key, _Compare, _Alloc > & __x, const set< _Key, _Compare, _Alloc > & __y) [inline] Set ordering relation.
Parameters:
x A set.
y A set of the same type as x.
Returns:
True iff x is lexicographically less than y.
This is a total ordering relation. It is linear in the size of the
maps. The elements must be comparable with <.
See std::lexicographical_compare() for how the determination is made.
Definition at line 612 of file stl_set.h.
template<typename _Tp, typename _Seq> bool std::operator< (const queue<
_Tp, _Seq > & __x, const queue< _Tp, _Seq > & __y) [inline] Queue ordering relation.
Parameters:
x A queue.
y A queue of the same type as x.
Returns:
True iff x is lexicographically less than y.
This is an total ordering relation. Complexity and semantics depend on the underlying sequence type, but the expected rules are: this relation is linear in the size of the sequences, the elements must be comparable with <, and std::lexicographical_compare() is usually used to make the determination.
Definition at line 291 of file stl_queue.h.
template<class _T1, class _T2> bool std::operator< (const pair< _T1, _T2 >
& __x, const pair< _T1, _T2 > & __y) [inline] <http://gcc.gnu.org/onlinedocs/libstdc++/manual/utilities.html>
Definition at line 157 of file stl_pair.h.
template<typename _Key, typename _Compare, typename _Alloc> bool
std::operator< (const multiset< _Key, _Compare, _Alloc > & __x, const multiset< _Key, _Compare, _Alloc > & __y) [inline] Multiset ordering relation.
Parameters:
x A multiset.
y A multiset of the same type as x.
Returns:
True iff x is lexicographically less than y.
This is a total ordering relation. It is linear in the size of the
maps. The elements must be comparable with <.
See std::lexicographical_compare() for how the determination is made.
Definition at line 599 of file stl_multiset.h.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool std::operator< (const multimap< _Key, _Tp, _Compare, _Alloc > & __x, const multimap< _Key, _Tp, _Compare, _Alloc > & __y) [inline] Multimap ordering relation.
Parameters:
x A multimap.
y A multimap of the same type as x.
Returns:
True iff x is lexicographically less than y.
This is a total ordering relation. It is linear in the size of the
multimaps. The elements must be comparable with <.
See std::lexicographical_compare() for how the determination is made.
Definition at line 701 of file stl_multimap.h.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool std::operator< (const map< _Key, _Tp, _Compare, _Alloc > & __x, const map< _Key, _Tp, _Compare, _Alloc > & __y) [inline] Map ordering relation.
Parameters:
x A map.
y A map of the same type as x.
Returns:
True iff x is lexicographically less than y.
This is a total ordering relation. It is linear in the size of the
maps. The elements must be comparable with <.
See std::lexicographical_compare() for how the determination is made.
Definition at line 772 of file stl_map.h.
template<typename _Tp, typename _Alloc> bool std::operator< (const list<
_Tp, _Alloc > & __x, const list< _Tp, _Alloc > & __y) [inline] List ordering relation.
Parameters:
x A list.
y A list of the same type as x.
Returns:
True iff x is lexicographically less than y.
This is a total ordering relation. It is linear in the size of the
lists. The elements must be comparable with <.
See std::lexicographical_compare() for how the determination is made.
Definition at line 1415 of file stl_list.h.
template<typename _IteratorL, typename _IteratorR> bool std::operator<
(const reverse_iterator< _IteratorL > & __x, const reverse_iterator< _IteratorR > & __y) [inline] Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base()
iterators. Others are implemented in terms of one another.
Definition at line 339 of file stl_iterator.h.
template<typename _Iterator> bool std::operator< (const reverse_iterator<
_Iterator > & __x, const reverse_iterator< _Iterator > & __y) [inline] Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base()
iterators. Others are implemented in terms of one another.
Definition at line 289 of file stl_iterator.h.
template<typename _Tp, typename _Alloc> bool std::operator< (const deque<
_Tp, _Alloc > & __x, const deque< _Tp, _Alloc > & __y) [inline] Deque ordering relation.
Parameters:
x A deque.
y A deque of the same type as x.
Returns:
True iff x is lexicographically less than y.
This is a total ordering relation. It is linear in the size of the
deques. The elements must be comparable with <.
See std::lexicographical_compare() for how the determination is made.
Definition at line 1717 of file stl_deque.h.
template<typename _CharT, typename _Traits, typename _Alloc> bool
std::operator< (const _CharT * __lhs, const basic_string< _CharT, _Traits, _Alloc > & __rhs) [inline] Test if C string precedes string.
Parameters:
lhs C string.
rhs String.
Returns:
True if lhs precedes rhs. False otherwise.
Definition at line 2261 of file basic_string.h.
References std::basic_string< _CharT, _Traits, _Alloc >::compare().
template<typename _CharT, typename _Traits, typename _Alloc> bool
std::operator< (const basic_string< _CharT, _Traits, _Alloc > & __lhs, const _CharT * __rhs) [inline] Test if string precedes C string.
Parameters:
lhs String.
rhs C string.
Returns:
True if lhs precedes rhs. False otherwise.
Definition at line 2249 of file basic_string.h.
template<typename _CharT, typename _Traits, typename _Alloc> bool
std::operator< (const basic_string< _CharT, _Traits, _Alloc > & __lhs, const basic_string< _CharT, _Traits, _Alloc > & __rhs) [inline] Test if string precedes string.
Parameters:
lhs First string.
rhs Second string.
Returns:
True if lhs precedes rhs. False otherwise.
Definition at line 2237 of file basic_string.h.
template<typename _CharT, typename _Traits, typename _Alloc, template<
typename, typename, typename > class _Base> basic_ostream<_CharT, _Traits>& std::operator<< (basic_ostream< _CharT, _Traits > & __os, const __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base > & __str) [inline]
Write string to a stream.
Parameters:
os Output stream.
str String to write out.
Returns:
Reference to the output stream.
Output characters of str into os following the same rules as for writing a C string.
Definition at line 2274 of file vstring.h.
template<typename _CharT, typename _Traits> std::basic_ostream<_CharT,
_Traits>& std::operator<< (std::basic_ostream< _CharT, _Traits > & __os, const bernoulli_distribution & __x) [inline] Inserts a bernoulli_distribution random number distribution __x into
the output stream __os.
Parameters:
__os An output stream.
__x A bernoulli_distribution random number distribution.
Returns:
The output stream with the state of __x inserted or in an error
state.
Definition at line 828 of file random.tcc.
References std::ios_base::flags(), left(), and scientific().
template<typename _CharT, typename _Traits, typename _Alloc>
basic_ostream<_CharT, _Traits>& std::operator<< (basic_ostream< _CharT, _Traits > & __os, const basic_string< _CharT, _Traits, _Alloc > & __str) [inline]
Write string to a stream.
Parameters:
os Output stream.
str String to write out.
Returns:
Reference to the output stream.
Output characters of str into os following the same rules as for writing a C string.
Definition at line 2420 of file basic_string.h.
template<class _Traits> basic_ostream<char, _Traits>& std::operator<<
(basic_ostream< char, _Traits > & __out, const unsigned char * __s) [inline]
String inserters.
Parameters:
out An output stream.
s A character string.
Returns:
out
Precondition:
s must be a non-NULL pointer
Behaves like one of the formatted arithmetic inserters described in
std::basic_ostream. After constructing a sentry object with good status, this function inserts traits::length(s) characters starting at s, widened if necessary, followed by any required padding (as
determined by [22.2.2.2.2]). out.width(0) is then called.
Definition at line 530 of file ostream.
template<class _Traits> basic_ostream<char, _Traits>& std::operator<<
(basic_ostream< char, _Traits > & __out, const signed char * __s) [inline]
String inserters.
Parameters:
out An output stream.
s A character string.
Returns:
out
Precondition:
s must be a non-NULL pointer
Behaves like one of the formatted arithmetic inserters described in
std::basic_ostream. After constructing a sentry object with good status, this function inserts traits::length(s) characters starting at s, widened if necessary, followed by any required padding (as
determined by [22.2.2.2.2]). out.width(0) is then called.
Definition at line 525 of file ostream.
template<class _Traits> basic_ostream<char, _Traits>& std::operator<<
(basic_ostream< char, _Traits > & __out, const char * __s) [inline] String inserters.
Parameters:
out An output stream.
s A character string.
Returns:
out
Precondition:
s must be a non-NULL pointer
Behaves like one of the formatted arithmetic inserters described in
std::basic_ostream. After constructing a sentry object with good status, this function inserts traits::length(s) characters starting at s, widened if necessary, followed by any required padding (as
determined by [22.2.2.2.2]). out.width(0) is then called.
Definition at line 512 of file ostream.
template<typename _CharT, typename _Traits> basic_ostream< _CharT, _Traits
> & std::operator<< (basic_ostream< _CharT, _Traits > & __out, const char * __s) [inline]
String inserters.
Parameters:
out An output stream.
s A character string.
Returns:
out
Precondition:
s must be a non-NULL pointer
Behaves like one of the formatted arithmetic inserters described in
std::basic_ostream. After constructing a sentry object with good status, this function inserts traits::length(s) characters starting at s, widened if necessary, followed by any required padding (as
determined by [22.2.2.2.2]). out.width(0) is then called.
Definition at line 326 of file ostream.tcc.
References std::ios_base::badbit.
template<typename _CharT, typename _Traits> basic_ostream<_CharT, _Traits>&
std::operator<< (basic_ostream< _CharT, _Traits > & __out, const _CharT * __s) [inline]
String inserters.
Parameters:
out An output stream.
s A character string.
Returns:
out
Precondition:
s must be a non-NULL pointer
Behaves like one of the formatted arithmetic inserters described in
std::basic_ostream. After constructing a sentry object with good status, this function inserts traits::length(s) characters starting at s, widened if necessary, followed by any required padding (as
determined by [22.2.2.2.2]). out.width(0) is then called.
Definition at line 495 of file ostream.
template<class _Traits> basic_ostream<char, _Traits>& std::operator<<
(basic_ostream< char, _Traits > & __out, unsigned char __c) [inline] Character inserters.
Parameters:
out An output stream.
c A character.
Returns:
out
Behaves like one of the formatted arithmetic inserters described in
std::basic_ostream. After constructing a sentry object with good status, this function inserts a single character and any required
padding (as determined by [22.2.2.2.2]). out.width(0) is then called.
If c is of type char and the character type of the stream is not char, the character is widened before insertion.
Definition at line 475 of file ostream.
template<class _Traits> basic_ostream<char, _Traits>& std::operator<<
(basic_ostream< char, _Traits > & __out, signed char __c) [inline] Character inserters.
Parameters:
out An output stream.
c A character.
Returns:
out
Behaves like one of the formatted arithmetic inserters described in
std::basic_ostream. After constructing a sentry object with good status, this function inserts a single character and any required
padding (as determined by [22.2.2.2.2]). out.width(0) is then called.
If c is of type char and the character type of the stream is not char, the character is widened before insertion.
Definition at line 470 of file ostream.
template<class _Traits> basic_ostream<char, _Traits>& std::operator<<
(basic_ostream< char, _Traits > & __out, char __c) [inline] Character inserters.
Parameters:
out An output stream.
c A character.
Returns:
out
Behaves like one of the formatted arithmetic inserters described in
std::basic_ostream. After constructing a sentry object with good status, this function inserts a single character and any required
padding (as determined by [22.2.2.2.2]). out.width(0) is then called.
If c is of type char and the character type of the stream is not char, the character is widened before insertion.
Definition at line 464 of file ostream.
template<typename _CharT, typename _Traits> basic_ostream<_CharT, _Traits>&
std::operator<< (basic_ostream< _CharT, _Traits > & __out, char __c) [inline]
Character inserters.
Parameters:
out An output stream.
c A character.
Returns:
out
Behaves like one of the formatted arithmetic inserters described in
std::basic_ostream. After constructing a sentry object with good status, this function inserts a single character and any required
padding (as determined by [22.2.2.2.2]). out.width(0) is then called.
If c is of type char and the character type of the stream is not char, the character is widened before insertion.
Definition at line 458 of file ostream.
template<typename _CharT, typename _Traits> basic_ostream<_CharT, _Traits>&
std::operator<< (basic_ostream< _CharT, _Traits > & __out, _CharT __c) [inline]
Character inserters.
Parameters:
out An output stream.
c A character.
Returns:
out
Behaves like one of the formatted arithmetic inserters described in
std::basic_ostream. After constructing a sentry object with good status, this function inserts a single character and any required
padding (as determined by [22.2.2.2.2]). out.width(0) is then called.
If c is of type char and the character type of the stream is not char, the character is widened before insertion.
Definition at line 453 of file ostream.
template<class _CharT, class _Traits, size_t _Nb>
std::basic_ostream<_CharT, _Traits>& std::operator<< (std::basic_ostream< _CharT, _Traits > & __os, const bitset< _Nb > & __x) [inline]
Global I/O operators for bitsets.
Direct I/O between streams and bitsets is supported. Output is
straightforward. Input will skip whitespace, only accept '0' and '1'
characters, and will only extract as many digits as the bitset will
hold.
Definition at line 1308 of file bitset.
template<typename _Tp, typename _Alloc> bool std::operator<= (const vector<
_Tp, _Alloc > & __x, const vector< _Tp, _Alloc > & __y) [inline] Based on operator<.
Definition at line 1145 of file stl_vector.h.
template<typename _Tp, typename _Seq> bool std::operator<= (const stack<
_Tp, _Seq > & __x, const stack< _Tp, _Seq > & __y) [inline] Based on operator<.
Definition at line 274 of file stl_stack.h.
template<typename _Key, typename _Compare, typename _Alloc> bool
std::operator<= (const set< _Key, _Compare, _Alloc > & __x, const set< _Key, _Compare, _Alloc > & __y) [inline] Returns !(y < x).
Definition at line 633 of file stl_set.h.
template<typename _Tp, typename _Seq> bool std::operator<= (const queue<
_Tp, _Seq > & __x, const queue< _Tp, _Seq > & __y) [inline] Based on operator<.
Definition at line 309 of file stl_queue.h.
template<class _T1, class _T2> bool std::operator<= (const pair< _T1, _T2 >
& __x, const pair< _T1, _T2 > & __y) [inline] Uses operator< to find the result.
Definition at line 176 of file stl_pair.h.
template<typename _Key, typename _Compare, typename _Alloc> bool
std::operator<= (const multiset< _Key, _Compare, _Alloc > & __x, const multiset< _Key, _Compare, _Alloc > & __y) [inline] Returns !(y < x).
Definition at line 620 of file stl_multiset.h.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool std::operator<= (const multimap< _Key, _Tp, _Compare, _Alloc > & __x, const multimap< _Key, _Tp, _Compare, _Alloc > & __y) [inline] Based on operator<.
Definition at line 722 of file stl_multimap.h.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool std::operator<= (const map< _Key, _Tp, _Compare, _Alloc > & __x, const map< _Key, _Tp, _Compare, _Alloc > & __y) [inline] Based on operator<.
Definition at line 793 of file stl_map.h.
template<typename _Tp, typename _Alloc> bool std::operator<= (const list<
_Tp, _Alloc > & __x, const list< _Tp, _Alloc > & __y) [inline] Based on operator<.
Definition at line 1434 of file stl_list.h.
template<typename _IteratorL, typename _IteratorR> bool std::operator<=
(const reverse_iterator< _IteratorL > & __x, const reverse_iterator< _IteratorR > & __y) [inline] Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base()
iterators. Others are implemented in terms of one another.
Definition at line 357 of file stl_iterator.h.
template<typename _Iterator> bool std::operator<= (const reverse_iterator<
_Iterator > & __x, const reverse_iterator< _Iterator > & __y) [inline] Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base()
iterators. Others are implemented in terms of one another.
Definition at line 307 of file stl_iterator.h.
template<typename _Tp, typename _Alloc> bool std::operator<= (const deque<
_Tp, _Alloc > & __x, const deque< _Tp, _Alloc > & __y) [inline] Based on operator<.
Definition at line 1739 of file stl_deque.h.
template<typename _CharT, typename _Traits, typename _Alloc> bool
std::operator<= (const _CharT * __lhs, const basic_string< _CharT, _Traits, _Alloc > & __rhs) [inline] Test if C string doesn't follow string.
Parameters:
lhs C string.
rhs String.
Returns:
True if lhs doesn't follow rhs. False otherwise.
Definition at line 2335 of file basic_string.h.
References std::basic_string< _CharT, _Traits, _Alloc >::compare().
template<typename _CharT, typename _Traits, typename _Alloc> bool
std::operator<= (const basic_string< _CharT, _Traits, _Alloc > & __lhs, const _CharT * __rhs) [inline] Test if string doesn't follow C string.
Parameters:
lhs String.
rhs C string.
Returns:
True if lhs doesn't follow rhs. False otherwise.
Definition at line 2323 of file basic_string.h.
template<typename _CharT, typename _Traits, typename _Alloc> bool
std::operator<= (const basic_string< _CharT, _Traits, _Alloc > & __lhs, const basic_string< _CharT, _Traits, _Alloc > & __rhs) [inline] Test if string doesn't follow string.
Parameters:
lhs First string.
rhs Second string.
Returns:
True if lhs doesn't follow rhs. False otherwise.
Definition at line 2311 of file basic_string.h.
template<typename _Tp, typename _CharT, typename _Traits, typename _Dist>
bool std::operator== (const istream_iterator< _Tp, _CharT, _Traits, _Dist > & __x, const istream_iterator< _Tp, _CharT, _Traits, _Dist > & __y) [inline]
Return true if x and y are both end or not end, or x and y are the
same.
Definition at line 128 of file stream_iterator.h.
References std::istream_iterator< _Tp, _CharT, _Traits, _Dist
>::_M_equal().
template<typename _Tp, typename _Alloc> bool std::operator== (const vector<
_Tp, _Alloc > & __x, const vector< _Tp, _Alloc > & __y) [inline] Vector equality comparison.
Parameters:
x A vector.
y A vector of the same type as x.
Returns:
True iff the size and elements of the vectors are equal.
This is an equivalence relation. It is linear in the size of the
vectors. Vectors are considered equivalent if their sizes are equal,
and if corresponding elements compare equal.
Definition at line 1109 of file stl_vector.h.
References std::vector< _Tp, _Alloc >::begin(), std::vector< _Tp,
_Alloc >::end(), and std::vector< _Tp, _Alloc >::size().
template<typename _Tp, typename _Seq> bool std::operator== (const stack<
_Tp, _Seq > & __x, const stack< _Tp, _Seq > & __y) [inline] Stack equality comparison.
Parameters:
x A stack.
y A stack of the same type as x.
Returns:
True iff the size and elements of the stacks are equal.
This is an equivalence relation. Complexity and semantics depend on the underlying sequence type, but the expected rules are: this relation is linear in the size of the sequences, and stacks are considered
equivalent if their sequences compare equal.
Definition at line 238 of file stl_stack.h.
References std::stack< _Tp, _Sequence >::c.
template<typename _Key, typename _Compare, typename _Alloc> bool
std::operator== (const set< _Key, _Compare, _Alloc > & __x, const set< _Key, _Compare, _Alloc > & __y) [inline] Set equality comparison.
Parameters:
x A set.
y A set of the same type as x.
Returns:
True iff the size and elements of the sets are equal.
This is an equivalence relation. It is linear in the size of the sets. Sets are considered equivalent if their sizes are equal, and if
corresponding elements compare equal.
Definition at line 595 of file stl_set.h.
References std::set< _Key, _Compare, _Alloc >::_M_t.
template<typename _Tp, typename _Seq> bool std::operator== (const queue<
_Tp, _Seq > & __x, const queue< _Tp, _Seq > & __y) [inline] Queue equality comparison.
Parameters:
x A queue.
y A queue of the same type as x.
Returns:
True iff the size and elements of the queues are equal.
This is an equivalence relation. Complexity and semantics depend on the underlying sequence type, but the expected rules are: this relation is linear in the size of the sequences, and queues are considered
equivalent if their sequences compare equal.
Definition at line 273 of file stl_queue.h.
References std::queue< _Tp, _Sequence >::c.
template<class _T1, class _T2> bool std::operator== (const pair< _T1, _T2 >
& __x, const pair< _T1, _T2 > & __y) [inline] Two pairs of the same type are equal iff their members are equal.
Definition at line 151 of file stl_pair.h.
References std::pair< _T1, _T2 >::first, and std::pair< _T1, _T2
>::second.
template<typename _Key, typename _Compare, typename _Alloc> bool
std::operator== (const multiset< _Key, _Compare, _Alloc > & __x, const multiset< _Key, _Compare, _Alloc > & __y) [inline] Multiset equality comparison.
Parameters:
x A multiset.
y A multiset of the same type as x.
Returns:
True iff the size and elements of the multisets are equal.
This is an equivalence relation. It is linear in the size of the
multisets. Multisets are considered equivalent if their sizes are
equal, and if corresponding elements compare equal.
Definition at line 582 of file stl_multiset.h.
References std::multiset< _Key, _Compare, _Alloc >::_M_t.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool std::operator== (const multimap< _Key, _Tp, _Compare, _Alloc > & __x, const multimap< _Key, _Tp, _Compare, _Alloc > & __y) [inline] Multimap equality comparison.
Parameters:
x A multimap.
y A multimap of the same type as x.
Returns:
True iff the size and elements of the maps are equal.
This is an equivalence relation. It is linear in the size of the
multimaps. Multimaps are considered equivalent if their sizes are
equal, and if corresponding elements compare equal.
Definition at line 684 of file stl_multimap.h.
References std::multimap< _Key, _Tp, _Compare, _Alloc >::_M_t.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool std::operator== (const map< _Key, _Tp, _Compare, _Alloc > & __x, const map< _Key, _Tp, _Compare, _Alloc > & __y) [inline] Map equality comparison.
Parameters:
x A map.
y A map of the same type as x.
Returns:
True iff the size and elements of the maps are equal.
This is an equivalence relation. It is linear in the size of the maps. Maps are considered equivalent if their sizes are equal, and if
corresponding elements compare equal.
Definition at line 755 of file stl_map.h.
References std::map< _Key, _Tp, _Compare, _Alloc >::_M_t.
template<typename _Tp, typename _Alloc> bool std::operator== (const list<
_Tp, _Alloc > & __x, const list< _Tp, _Alloc > & __y) [inline] List equality comparison.
Parameters:
x A list.
y A list of the same type as x.
Returns:
True iff the size and elements of the lists are equal.
This is an equivalence relation. It is linear in the size of the lists. Lists are considered equivalent if their sizes are equal, and if
corresponding elements compare equal.
Definition at line 1386 of file stl_list.h.
References std::list< _Tp, _Alloc >::begin(), and std::list< _Tp,
_Alloc >::end().
template<typename _IteratorL, typename _IteratorR> bool std::operator==
(const reverse_iterator< _IteratorL > & __x, const reverse_iterator< _IteratorR > & __y) [inline] Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base()
iterators. Others are implemented in terms of one another.
Definition at line 333 of file stl_iterator.h.
References std::reverse_iterator< _Iterator >::base().
template<typename _Iterator> bool std::operator== (const reverse_iterator<
_Iterator > & __x, const reverse_iterator< _Iterator > & __y) [inline] Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base()
iterators. Others are implemented in terms of one another.
Definition at line 283 of file stl_iterator.h.
References std::reverse_iterator< _Iterator >::base().
template<typename _Tp, typename _Alloc> bool std::operator== (const deque<
_Tp, _Alloc > & __x, const deque< _Tp, _Alloc > & __y) [inline] Deque equality comparison.
Parameters:
x A deque.
y A deque of the same type as x.
Returns:
True iff the size and elements of the deques are equal.
This is an equivalence relation. It is linear in the size of the
deques. Deques are considered equivalent if their sizes are equal, and if corresponding elements compare equal.
Definition at line 1699 of file stl_deque.h.
References std::deque< _Tp, _Alloc >::begin(), std::deque< _Tp, _Alloc >::end(), and std::deque< _Tp, _Alloc >::size().
template<typename _StateT> bool std::operator== (const fpos< _StateT > &
__lhs, const fpos< _StateT > & __rhs) [inline] Test if equivalent to another position.
Definition at line 195 of file postypes.h.
template<typename _CharT, typename _Traits, typename _Alloc> bool
std::operator== (const basic_string< _CharT, _Traits, _Alloc > & __lhs, const _CharT * __rhs) [inline] Test equivalence of string and C string.
Parameters:
lhs String.
rhs C string.
Returns:
True if lhs.compare(rhs) == 0. False otherwise.
Definition at line 2187 of file basic_string.h.
References std::basic_string< _CharT, _Traits, _Alloc >::compare().
template<typename _CharT, typename _Traits, typename _Alloc> bool
std::operator== (const _CharT * __lhs, const basic_string< _CharT, _Traits, _Alloc > & __rhs) [inline] Test equivalence of C string and string.
Parameters:
lhs C string.
rhs String.
Returns:
True if rhs.compare(lhs) == 0. False otherwise.
Definition at line 2175 of file basic_string.h.
References std::basic_string< _CharT, _Traits, _Alloc >::compare().
template<typename _CharT, typename _Traits, typename _Alloc> bool
std::operator== (const basic_string< _CharT, _Traits, _Alloc > & __lhs, const basic_string< _CharT, _Traits, _Alloc > & __rhs) [inline] Test equivalence of two strings.
Parameters:
lhs First string.
rhs Second string.
Returns:
True if lhs.compare(rhs) == 0. False otherwise.
Definition at line 2154 of file basic_string.h.
References std::basic_string< _CharT, _Traits, _Alloc >::compare().
template<typename _Signature> bool std::operator== (const function<
_Signature > & __f, _M_clear_type *) [inline] Compares a polymorphic function object wrapper against 0 (the NULL
pointer).
Returns:
true if the wrapper has no target, false otherwise
This function will not throw an exception.
Definition at line 2084 of file tr1_impl/functional.
template<typename _Tp, typename _Alloc> bool std::operator> (const vector<
_Tp, _Alloc > & __x, const vector< _Tp, _Alloc > & __y) [inline] Based on operator<.
Definition at line 1139 of file stl_vector.h.
template<typename _Tp, typename _Seq> bool std::operator> (const stack<
_Tp, _Seq > & __x, const stack< _Tp, _Seq > & __y) [inline] Based on operator<.
Definition at line 268 of file stl_stack.h.
template<typename _Key, typename _Compare, typename _Alloc> bool
std::operator> (const set< _Key, _Compare, _Alloc > & __x, const set< _Key, _Compare, _Alloc > & __y) [inline] Returns y < x.
Definition at line 626 of file stl_set.h.
template<typename _Tp, typename _Seq> bool std::operator> (const queue<
_Tp, _Seq > & __x, const queue< _Tp, _Seq > & __y) [inline] Based on operator<.
Definition at line 303 of file stl_queue.h.
template<class _T1, class _T2> bool std::operator> (const pair< _T1, _T2 >
& __x, const pair< _T1, _T2 > & __y) [inline] Uses operator< to find the result.
Definition at line 170 of file stl_pair.h.
template<typename _Key, typename _Compare, typename _Alloc> bool
std::operator> (const multiset< _Key, _Compare, _Alloc > & __x, const multiset< _Key, _Compare, _Alloc > & __y) [inline] Returns y < x.
Definition at line 613 of file stl_multiset.h.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool std::operator> (const multimap< _Key, _Tp, _Compare, _Alloc > & __x, const multimap< _Key, _Tp, _Compare, _Alloc > & __y) [inline] Based on operator<.
Definition at line 715 of file stl_multimap.h.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool std::operator> (const map< _Key, _Tp, _Compare, _Alloc > & __x, const map< _Key, _Tp, _Compare, _Alloc > & __y) [inline] Based on operator<.
Definition at line 786 of file stl_map.h.
template<typename _Tp, typename _Alloc> bool std::operator> (const list<
_Tp, _Alloc > & __x, const list< _Tp, _Alloc > & __y) [inline] Based on operator<.
Definition at line 1428 of file stl_list.h.
template<typename _IteratorL, typename _IteratorR> bool std::operator>
(const reverse_iterator< _IteratorL > & __x, const reverse_iterator< _IteratorR > & __y) [inline] Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base()
iterators. Others are implemented in terms of one another.
Definition at line 351 of file stl_iterator.h.
template<typename _Iterator> bool std::operator> (const reverse_iterator<
_Iterator > & __x, const reverse_iterator< _Iterator > & __y) [inline] Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base()
iterators. Others are implemented in terms of one another.
Definition at line 301 of file stl_iterator.h.
template<typename _Tp, typename _Alloc> bool std::operator> (const deque<
_Tp, _Alloc > & __x, const deque< _Tp, _Alloc > & __y) [inline] Based on operator<.
Definition at line 1732 of file stl_deque.h.
template<typename _CharT, typename _Traits, typename _Alloc> bool
std::operator> (const _CharT * __lhs, const basic_string< _CharT, _Traits, _Alloc > & __rhs) [inline] Test if C string follows string.
Parameters:
lhs C string.
rhs String.
Returns:
True if lhs follows rhs. False otherwise.
Definition at line 2298 of file basic_string.h.
References std::basic_string< _CharT, _Traits, _Alloc >::compare().
template<typename _CharT, typename _Traits, typename _Alloc> bool
std::operator> (const basic_string< _CharT, _Traits, _Alloc > & __lhs, const _CharT * __rhs) [inline] Test if string follows C string.
Parameters:
lhs String.
rhs C string.
Returns:
True if lhs follows rhs. False otherwise.
Definition at line 2286 of file basic_string.h.
References std::basic_string< _CharT, _Traits, _Alloc >::compare().
template<typename _CharT, typename _Traits, typename _Alloc> bool
std::operator> (const basic_string< _CharT, _Traits, _Alloc > & __lhs, const basic_string< _CharT, _Traits, _Alloc > & __rhs) [inline] Test if string follows string.
Parameters:
lhs First string.
rhs Second string.
Returns:
True if lhs follows rhs. False otherwise.
Definition at line 2274 of file basic_string.h.
References std::basic_string< _CharT, _Traits, _Alloc >::compare().
template<typename _Tp, typename _Alloc> bool std::operator>= (const vector<
_Tp, _Alloc > & __x, const vector< _Tp, _Alloc > & __y) [inline] Based on operator<.
Definition at line 1151 of file stl_vector.h.
template<typename _Tp, typename _Seq> bool std::operator>= (const stack<
_Tp, _Seq > & __x, const stack< _Tp, _Seq > & __y) [inline] Based on operator<.
Definition at line 280 of file stl_stack.h.
template<typename _Key, typename _Compare, typename _Alloc> bool
std::operator>= (const set< _Key, _Compare, _Alloc > & __x, const set< _Key, _Compare, _Alloc > & __y) [inline] Returns !(x < y).
Definition at line 640 of file stl_set.h.
template<typename _Tp, typename _Seq> bool std::operator>= (const queue<
_Tp, _Seq > & __x, const queue< _Tp, _Seq > & __y) [inline] Based on operator<.
Definition at line 315 of file stl_queue.h.
template<class _T1, class _T2> bool std::operator>= (const pair< _T1, _T2 >
& __x, const pair< _T1, _T2 > & __y) [inline] Uses operator< to find the result.
Definition at line 182 of file stl_pair.h.
template<typename _Key, typename _Compare, typename _Alloc> bool
std::operator>= (const multiset< _Key, _Compare, _Alloc > & __x, const multiset< _Key, _Compare, _Alloc > & __y) [inline] Returns !(x < y).
Definition at line 627 of file stl_multiset.h.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool std::operator>= (const multimap< _Key, _Tp, _Compare, _Alloc > & __x, const multimap< _Key, _Tp, _Compare, _Alloc > & __y) [inline] Based on operator<.
Definition at line 729 of file stl_multimap.h.
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
bool std::operator>= (const map< _Key, _Tp, _Compare, _Alloc > & __x, const map< _Key, _Tp, _Compare, _Alloc > & __y) [inline] Based on operator<.
Definition at line 800 of file stl_map.h.
template<typename _Tp, typename _Alloc> bool std::operator>= (const list<
_Tp, _Alloc > & __x, const list< _Tp, _Alloc > & __y) [inline] Based on operator<.
Definition at line 1440 of file stl_list.h.
template<typename _IteratorL, typename _IteratorR> bool std::operator>=
(const reverse_iterator< _IteratorL > & __x, const reverse_iterator< _IteratorR > & __y) [inline] Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base()
iterators. Others are implemented in terms of one another.
Definition at line 363 of file stl_iterator.h.
template<typename _Iterator> bool std::operator>= (const reverse_iterator<
_Iterator > & __x, const reverse_iterator< _Iterator > & __y) [inline] Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base()
iterators. Others are implemented in terms of one another.
Definition at line 313 of file stl_iterator.h.
template<typename _Tp, typename _Alloc> bool std::operator>= (const deque<
_Tp, _Alloc > & __x, const deque< _Tp, _Alloc > & __y) [inline] Based on operator<.
Definition at line 1746 of file stl_deque.h.
template<typename _CharT, typename _Traits, typename _Alloc> bool
std::operator>= (const _CharT * __lhs, const basic_string< _CharT, _Traits, _Alloc > & __rhs) [inline] Test if C string doesn't precede string.
Parameters:
lhs C string.
rhs String.
Returns:
True if lhs doesn't precede rhs. False otherwise.
Definition at line 2372 of file basic_string.h.
References std::basic_string< _CharT, _Traits, _Alloc >::compare().
template<typename _CharT, typename _Traits, typename _Alloc> bool
std::operator>= (const basic_string< _CharT, _Traits, _Alloc > & __lhs, const _CharT * __rhs) [inline] Test if string doesn't precede C string.
Parameters:
lhs String.
rhs C string.
Returns:
True if lhs doesn't precede rhs. False otherwise.
Definition at line 2360 of file basic_string.h.
References std::basic_string< _CharT, _Traits, _Alloc >::compare().
template<typename _CharT, typename _Traits, typename _Alloc> bool
std::operator>= (const basic_string< _CharT, _Traits, _Alloc > & __lhs, const basic_string< _CharT, _Traits, _Alloc > & __rhs) [inline] Test if string doesn't precede string.
Parameters:
lhs First string.
rhs Second string.
Returns:
True if lhs doesn't precede rhs. False otherwise.
Definition at line 2348 of file basic_string.h.
References std::basic_string< _CharT, _Traits, _Alloc >::compare().
template<typename _CharT, typename _Traits, typename _Alloc, template<
typename, typename, typename > class _Base> basic_istream< _CharT, _Traits > & std::operator>> (basic_istream< _CharT, _Traits > & __is, __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base > & __str) [inline]
Read stream into a string.
Parameters:
is Input stream.
str Buffer to store into.
Returns:
Reference to the input stream.
Stores characters from is into str until whitespace is found, the end of the stream is encountered, or str.max_size() is reached. If
is.width() is non-zero, that is the limit on the number of characters
stored into str. Any previous contents of str are erased.
Definition at line 552 of file vstring.tcc.
template<typename _CharT, typename _Traits, typename _Alloc> basic_istream<
_CharT, _Traits > & std::operator>> (basic_istream< _CharT, _Traits > & __is, basic_string< _CharT, _Traits, _Alloc > & __str) [inline] Read stream into a string.
Parameters:
is Input stream.
str Buffer to store into.
Returns:
Reference to the input stream.
Stores characters from is into str until whitespace is found, the end of the stream is encountered, or str.max_size() is reached. If
is.width() is non-zero, that is the limit on the number of characters
stored into str. Any previous contents of str are erased.
Definition at line 971 of file basic_string.tcc.
References std::basic_ios< _CharT, _Traits >::_M_setstate(),
std::basic_string< _CharT, _Traits, _Alloc >::append(),
std::basic_string< _CharT, _Traits, _Alloc >::erase(),
std::ios_base::getloc(), std::basic_string< _CharT, _Traits, _Alloc
>::max_size(), std::basic_ios< _CharT, _Traits >::rdbuf(),
std::basic_ios< _CharT, _Traits >::setstate(), and
std::ios_base::width().
template<class _Traits> basic_istream<char, _Traits>& std::operator>>
(basic_istream< char, _Traits > & __in, signed char * __s) [inline] Character string extractors.
Parameters:
in An input stream.
s A pointer to a character array.
Returns:
in
Behaves like one of the formatted arithmetic extractors described in
std::basic_istream. After constructing a sentry object with good status, this function extracts up to n characters and stores them into the array starting at s. n is defined as:
· if width() is greater than zero, n is width()
· otherwise n is 'the number of elements of the largest array of
char_type that can store a terminating eos.' [27.6.1.2.3]/6
Characters are extracted and stored until one of the following happens:
· n-1 characters are stored
· EOF is reached
· the next character is whitespace according to the current locale
· the next character is a null byte (i.e., charT() )
width(0) is then called for the input stream.
If no characters are extracted, sets failbit.
Definition at line 757 of file istream.
template<class _Traits> basic_istream<char, _Traits>& std::operator>>
(basic_istream< char, _Traits > & __in, unsigned char * __s) [inline] Character string extractors.
Parameters:
in An input stream.
s A pointer to a character array.
Returns:
in
Behaves like one of the formatted arithmetic extractors described in
std::basic_istream. After constructing a sentry object with good status, this function extracts up to n characters and stores them into the array starting at s. n is defined as:
· if width() is greater than zero, n is width()
· otherwise n is 'the number of elements of the largest array of
char_type that can store a terminating eos.' [27.6.1.2.3]/6
Characters are extracted and stored until one of the following happens:
· n-1 characters are stored
· EOF is reached
· the next character is whitespace according to the current locale
· the next character is a null byte (i.e., charT() )
width(0) is then called for the input stream.
If no characters are extracted, sets failbit.
Definition at line 752 of file istream.
template<> basic_istream<char>& std::operator>> (basic_istream< char > &
__in, char * __s) [inline] Character string extractors.
Parameters:
in An input stream.
s A pointer to a character array.
Returns:
in
Behaves like one of the formatted arithmetic extractors described in
std::basic_istream. After constructing a sentry object with good status, this function extracts up to n characters and stores them into the array starting at s. n is defined as:
· if width() is greater than zero, n is width()
· otherwise n is 'the number of elements of the largest array of
char_type that can store a terminating eos.' [27.6.1.2.3]/6
Characters are extracted and stored until one of the following happens:
· n-1 characters are stored
· EOF is reached
· the next character is whitespace according to the current locale
· the next character is a null byte (i.e., charT() )
width(0) is then called for the input stream.
If no characters are extracted, sets failbit.
template<typename _CharT, typename _Traits> basic_istream< _CharT, _Traits
> & std::operator>> (basic_istream< _CharT, _Traits > & __in, _CharT * __s) [inline]
Character string extractors.
Parameters:
in An input stream.
s A pointer to a character array.
Returns:
in
Behaves like one of the formatted arithmetic extractors described in
std::basic_istream. After constructing a sentry object with good status, this function extracts up to n characters and stores them into the array starting at s. n is defined as:
· if width() is greater than zero, n is width()
· otherwise n is 'the number of elements of the largest array of
char_type that can store a terminating eos.' [27.6.1.2.3]/6
Characters are extracted and stored until one of the following happens:
· n-1 characters are stored
· EOF is reached
· the next character is whitespace according to the current locale
· the next character is a null byte (i.e., charT() )
width(0) is then called for the input stream.
If no characters are extracted, sets failbit.
Definition at line 890 of file istream.tcc.
References std::basic_ios< _CharT, _Traits >::_M_setstate(),
std::ios_base::badbit, std::ios_base::eofbit, std::ios_base::failbit,
std::ios_base::getloc(), std::ios_base::goodbit, std::basic_ios<
_CharT, _Traits >::rdbuf(), std::basic_ios< _CharT, _Traits
>::setstate(), and std::ios_base::width().
template<class _Traits> basic_istream<char, _Traits>& std::operator>>
(basic_istream< char, _Traits > & __in, signed char & __c) [inline] Character extractors.
Parameters:
in An input stream.
c A character reference.
Returns:
in
Behaves like one of the formatted arithmetic extractors described in
std::basic_istream. After constructing a sentry object with good status, this function extracts a character (if one is available) and
stores it in c. Otherwise, sets failbit in the input stream.
Definition at line 711 of file istream.
template<class _Traits> basic_istream<char, _Traits>& std::operator>>
(basic_istream< char, _Traits > & __in, unsigned char & __c) [inline] Character extractors.
Parameters:
in An input stream.
c A character reference.
Returns:
in
Behaves like one of the formatted arithmetic extractors described in
std::basic_istream. After constructing a sentry object with good status, this function extracts a character (if one is available) and
stores it in c. Otherwise, sets failbit in the input stream.
Definition at line 706 of file istream.
template<typename _CharT, typename _Traits> basic_istream< _CharT, _Traits
> & std::operator>> (basic_istream< _CharT, _Traits > & __in, _CharT & __c) [inline]
Character extractors.
Parameters:
in An input stream.
c A character reference.
Returns:
in
Behaves like one of the formatted arithmetic extractors described in
std::basic_istream. After constructing a sentry object with good status, this function extracts a character (if one is available) and
stores it in c. Otherwise, sets failbit in the input stream.
Definition at line 858 of file istream.tcc.
References std::basic_ios< _CharT, _Traits >::_M_setstate(),
std::ios_base::badbit, std::ios_base::eofbit, std::ios_base::failbit,
std::ios_base::goodbit, std::basic_ios< _CharT, _Traits >::rdbuf(), and std::basic_ios< _CharT, _Traits >::setstate().
template<class _CharT, class _Traits, size_t _Nb>
std::basic_istream<_CharT, _Traits>& std::operator>> (std::basic_istream< _CharT, _Traits > & __is, bitset< _Nb > & __x) [inline]
Global I/O operators for bitsets.
Direct I/O between streams and bitsets is supported. Output is
straightforward. Input will skip whitespace, only accept '0' and '1'
characters, and will only extract as many digits as the bitset will
hold.
Definition at line 1242 of file bitset.
References std::bitset< _Nb >::_M_copy_from_string(), std::basic_ios<
_CharT, _Traits >::_M_setstate(), std::basic_string< _CharT, _Traits,
_Alloc >::empty(), std::basic_string< _CharT, _Traits, _Alloc
>::push_back(), std::basic_ios< _CharT, _Traits >::rdbuf(),
std::basic_string< _CharT, _Traits, _Alloc >::reserve(),
std::basic_ios< _CharT, _Traits >::setstate(), and std::basic_ios<
_CharT, _Traits >::widen().
template<size_t _Nb> bitset<_Nb> std::operator^ (const bitset< _Nb > & __x,
const bitset< _Nb > & __y) [inline] Global bitwise operations on bitsets.
Parameters:
x A bitset.
y A bitset of the same size as x.
Returns:
A new bitset.
These should be self-explanatory.
Definition at line 1223 of file bitset.
References operator^().
Referenced by operator^().
template<size_t _Nb> bitset<_Nb> std::operator| (const bitset< _Nb > & __x,
const bitset< _Nb > & __y) [inline] Global bitwise operations on bitsets.
Parameters:
x A bitset.
y A bitset of the same size as x.
Returns:
A new bitset.
These should be self-explanatory.
Definition at line 1214 of file bitset.
References operator|().
Referenced by operator|().
template<typename _RandomAccessIterator, typename _Compare> void
std::partial_sort (_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, _Compare __comp) [inline] Sort the smallest elements of a sequence using a predicate for
comparison.
Parameters:
first An iterator.
middle Another iterator.
last Another iterator.
comp A comparison functor.
Returns:
Nothing.
Sorts the smallest (middle-first) elements in the range [first,last)
and moves them to the range [first,middle). The order of the remaining elements in the range [middle,last) is undefined. After the sort if i
and are iterators in the range [first,middle) such that precedes and is an iterator in the range [middle,last) then *comp(j,*i) and comp(*k,*i) are both false.
Definition at line 4658 of file stl_algo.h.
References __heap_select().
template<typename _RandomAccessIterator> void std::partial_sort
(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last) [inline] Sort the smallest elements of a sequence.
Parameters:
first An iterator.
middle Another iterator.
last Another iterator.
Returns:
Nothing.
Sorts the smallest (middle-first) elements in the range [first,last)
and moves them to the range [first,middle). The order of the remaining elements in the range [middle,last) is undefined. After the sort if i
and are iterators in the range [first,middle) such that precedes and is an iterator in the range [middle,last) then *j<*i and *k<*i are both false.
Definition at line 4620 of file stl_algo.h.
References __heap_select().
template<typename _InputIterator, typename _RandomAccessIterator, typename
_Compare> _RandomAccessIterator std::partial_sort_copy (_InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last, _Compare __comp) [inline] Copy the smallest elements of a sequence using a predicate for
comparison.
Parameters:
first An input iterator.
last Another input iterator.
result_first A random-access iterator. result_last Another random-access iterator. comp A comparison functor.
Returns:
An iterator indicating the end of the resulting sequence.
Copies and sorts the smallest N values from the range [first,last) to
the range beginning at result_first, where the number of elements to be copied, N, is the smaller of (last-first) and (result_lastresult_first). After the sort if i and are iterators in the range
[result_first,result_first+N) such that precedes then comp(*j,*i) is false. The value returned is result_first+N.
Definition at line 1662 of file stl_algo.h.
template<typename _InputIterator, typename _RandomAccessIterator>
_RandomAccessIterator std::partial_sort_copy (_InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last) [inline] Copy the smallest elements of a sequence.
Parameters:
first An iterator.
last Another iterator.
result_first A random-access iterator. result_last Another random-access iterator.
Returns:
An iterator indicating the end of the resulting sequence.
Copies and sorts the smallest N values from the range [first,last) to
the range beginning at result_first, where the number of elements to be copied, N, is the smaller of (last-first) and (result_lastresult_first). After the sort if i and are iterators in the range
[result_first,result_first+N) such that precedes then *j<*i is false. The value returned is result_first+N.
Definition at line 1597 of file stl_algo.h.
template<typename _InputIterator, typename _OutputIterator, typename
_BinaryOperation> _OutputIterator std::partial_sum (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryOperation __binary_op) [inline] Return list of partial sums.
Accumulates the values in the range [first,last) using operator+(). As each successive input value is added into the total, that partial sum
is written to result. Therefore, the first value in result is the first value of the input, the second value in result is the sum of the first and second input values, and so on.
Parameters:
first Start of input range.
last End of input range.
result Output to write sums to.
Returns:
Iterator pointing just beyond the values written to result.
Definition at line 240 of file stl_numeric.h.
template<typename _InputIterator, typename _OutputIterator> _OutputIterator
std::partial_sum (_InputIterator __first, _InputIterator __last, _OutputIterator __result) [inline] Return list of partial sums.
Accumulates the values in the range [first,last) using operator+(). As each successive input value is added into the total, that partial sum
is written to result. Therefore, the first value in result is the first value of the input, the second value in result is the sum of the first and second input values, and so on.
Parameters:
first Start of input range.
last End of input range.
result Output to write sums to.
Returns:
Iterator pointing just beyond the values written to result.
Definition at line 200 of file stl_numeric.h.
template<typename _ForwardIterator, typename _Predicate> _ForwardIterator
std::partition (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) [inline] Move elements for which a predicate is true to the beginning of a
sequence.
Parameters:
first A forward iterator.
last A forward iterator.
pred A predicate functor.
Returns:
An iterator middle such that pred(i) is true for each iterator i in the range [first,middle) and false for each i in the range
[middle,last).
pred must not modify its operand. partition() does not preserve the
relative ordering of elements in each group, use stable_partition() if this is needed.
Definition at line 4587 of file stl_algo.h.
References __iterator_category(), and __partition().
template<typename _RandomAccessIterator, typename _Compare> void
std::pop_heap (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) [inline] Pop an element off a heap using comparison functor.
Parameters:
first Start of heap.
last End of heap.
comp Comparison functor to use.
This operation pops the top of the heap. The elements first and last-1 are swapped and [first,last-1) is made into a heap. Comparisons are
made using comp.
Definition at line 349 of file stl_heap.h.
template<typename _RandomAccessIterator> void std::pop_heap
(_RandomAccessIterator __first, _RandomAccessIterator __last) [inline] Pop an element off a heap.
Parameters:
first Start of heap.
last End of heap.
This operation pops the top of the heap. The elements first and last-1 are swapped and [first,last-1) is made into a heap.
Definition at line 276 of file stl_heap.h.
template<typename _BidirectionalIterator, typename _Compare> bool
std::prev_permutation (_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) [inline] Permute range into the previous 'dictionary' ordering using comparison functor.
Parameters:
first Start of range.
last End of range.
comp A comparison functor.
Returns:
False if wrapped to last permutation, true otherwise.
Treats all permutations of the range [first,last) as a set of
'dictionary' sorted sequences ordered by comp. Permutes the current sequence into the previous one of this set. Returns true if there are more sequences to generate. If the sequence is the smallest of the set, the largest is generated and false returned.
Definition at line 3384 of file stl_algo.h.
template<typename _BidirectionalIterator> bool std::prev_permutation
(_BidirectionalIterator __first, _BidirectionalIterator __last) [inline]
Permute range into the previous 'dictionary' ordering.
Parameters:
first Start of range.
last End of range.
Returns:
False if wrapped to last permutation, true otherwise.
Treats all permutations of the range as a set of 'dictionary' sorted sequences. Permutes the current sequence into the previous one of this set. Returns true if there are more sequences to generate. If the sequence is the smallest of the set, the largest is generated and false returned.
Definition at line 3328 of file stl_algo.h.
template<typename _RandomAccessIterator, typename _Compare> void
std::push_heap (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) [inline] Push an element onto a heap using comparison functor.
Parameters:
first Start of heap.
last End of heap + element.
comp Comparison functor.
This operation pushes the element at last-1 onto the valid heap over
the range [first,last-1). After completion, [first,last) is a valid
heap. Compare operations are performed using comp.
Definition at line 203 of file stl_heap.h.
template<typename _RandomAccessIterator> void std::push_heap
(_RandomAccessIterator __first, _RandomAccessIterator __last) [inline] Push an element onto a heap.
Parameters:
first Start of heap.
last End of heap + element.
This operation pushes the element at last-1 onto the valid heap over
the range [first,last-1). After completion, [first,last) is a valid
heap.
Definition at line 154 of file stl_heap.h.
template<typename _RandomAccessIterator, typename _RandomNumberGenerator>
void std::random_shuffle (_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomNumberGenerator & __rand) [inline] Shuffle the elements of a sequence using a random number generator.
Parameters:
first A forward iterator.
last A forward iterator.
rand The RNG functor or function.
Returns:
Nothing.
Reorders the elements in the range [first,last) using rand to provide a random distribution. Calling rand(N) for a positive integer N should
return a randomly chosen integer from the range [0,N).
Definition at line 4556 of file stl_algo.h.
template<typename _RandomAccessIterator> void std::random_shuffle
(_RandomAccessIterator __first, _RandomAccessIterator __last) [inline] Randomly shuffle the elements of a sequence.
Parameters:
first A forward iterator.
last A forward iterator.
Returns:
Nothing.
Reorder the elements in the range [first,last) using a random
distribution, so that every possible ordering of the sequence is
equally likely.
Definition at line 4529 of file stl_algo.h.
template<typename _ForwardIterator, typename _Tp> _ForwardIterator
std::remove (_ForwardIterator __first, _ForwardIterator __last, const _Tp & __value) [inline]
Remove elements from a sequence.
Parameters:
first An input iterator.
last An input iterator.
value The value to be removed.
Returns:
An iterator designating the end of the resulting sequence.
All elements equal to value are removed from the range [first,last).
remove() is stable, so the relative order of elements that are not
removed is unchanged.
Elements between the end of the resulting sequence and last are still
present, but their value is unspecified.
Definition at line 761 of file stl_algo.h.
template<typename _InputIterator, typename _OutputIterator, typename _Tp>
_OutputIterator std::remove_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp & __value) [inline]
Copy a sequence, removing elements of a given value.
Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
value The value to be removed.
Returns:
An iterator designating the end of the resulting sequence.
Copies each element in the range [first,last) not equal to value to the range beginning at result. remove_copy() is stable, so the relative
order of elements that are copied is unchanged.
Definition at line 686 of file stl_algo.h.
template<typename _InputIterator, typename _OutputIterator, typename
_Predicate> _OutputIterator std::remove_copy_if (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred) [inline]
Copy a sequence, removing elements for which a predicate is true.
Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
pred A predicate.
Returns:
An iterator designating the end of the resulting sequence.
Copies each element in the range [first,last) for which pred returns
false to the range beginning at result.
remove_copy_if() is stable, so the relative order of elements that are copied is unchanged.
Definition at line 723 of file stl_algo.h.
template<typename _ForwardIterator, typename _Predicate> _ForwardIterator
std::remove_if (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) [inline] Remove elements from a sequence using a predicate.
Parameters:
first A forward iterator.
last A forward iterator.
pred A predicate.
Returns:
An iterator designating the end of the resulting sequence.
All elements for which pred returns true are removed from the range
[first,last).
remove_if() is stable, so the relative order of elements that are not
removed is unchanged.
Elements between the end of the resulting sequence and last are still
present, but their value is unspecified.
Definition at line 803 of file stl_algo.h.
template<typename _ForwardIterator, typename _Tp> void std::replace
(_ForwardIterator __first, _ForwardIterator __last, const _Tp & __old_value, const _Tp & __new_value) [inline] Replace each occurrence of one value in a sequence with another value.
Parameters:
first A forward iterator.
last A forward iterator.
old_value The value to be replaced.
new_value The replacement value.
Returns:
replace() returns no value.
For each iterator i in the range [first,last) if *i == old_value then the assignment *i = new_value is performed.
Definition at line 4336 of file stl_algo.h.
template<typename _InputIterator, typename _OutputIterator, typename _Tp>
_OutputIterator std::replace_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp & __old_value, const _Tp & __new_value) [inline] Copy a sequence, replacing each element of one value with another
value.
Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
old_value The value to be replaced.
new_value The replacement value.
Returns:
The end of the output sequence, result+(last-first).
Copies each element in the input range [first,last) to the output range [result,result+(last-first)) replacing elements equal to old_value with new_value.
Definition at line 3444 of file stl_algo.h.
template<typename _InputIterator, typename _OutputIterator, typename
_Predicate, typename _Tp> _OutputIterator std::replace_copy_if (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred, const _Tp & __new_value) [inline] Copy a sequence, replacing each value for which a predicate returns
true with another value.
Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
pred A predicate.
new_value The replacement value.
Returns:
The end of the output sequence, result+(last-first).
Copies each element in the range [first,last) to the range
[result,result+(last-first)) replacing elements for which pred returns true with new_value.
Definition at line 3481 of file stl_algo.h.
template<typename _ForwardIterator, typename _Predicate, typename _Tp> void
std::replace_if (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, const _Tp & __new_value) [inline] Replace each value in a sequence for which a predicate returns true
with another value.
Parameters:
first A forward iterator.
last A forward iterator.
pred A predicate.
new_value The replacement value.
Returns:
replace_if() returns no value.
For each iterator i in the range [first,last) if pred(*i) is true then the assignment *i = new_value is performed.
Definition at line 4367 of file stl_algo.h.
_Resetiosflags std::resetiosflags (ios_base::fmtflags __mask) [inline]
Manipulator for setf.
Parameters:
mask A format flags mask.
Sent to a stream object, this manipulator resets the specified flags,
via stream.setf(0,mask).
Definition at line 64 of file iomanip.
template<typename _Tp> void std::return_temporary_buffer (_Tp * __p)
[inline]
The companion to get_temporary_buffer().
Parameters:
p A buffer previously allocated by get_temporary_buffer.
Returns:
None.
Frees the memory pointed to by p.
Definition at line 117 of file stl_tempbuf.h.
Referenced by std::_Temporary_buffer< _ForwardIterator, _Tp
>::_Temporary_buffer().
template<typename _BidirectionalIterator> void std::reverse
(_BidirectionalIterator __first, _BidirectionalIterator __last) [inline]
Reverse a sequence.
Parameters:
first A bidirectional iterator.
last A bidirectional iterator.
Returns:
reverse() returns no value.
Reverses the order of the elements in the range [first,last), so that
the first element becomes the last etc. For every i such that
0<=i<=(last-first)/2), reverse() swaps *(first+i) and *(last-(i+1))
Definition at line 1108 of file stl_algo.h.
References __iterator_category(), and __reverse().
template<typename _BidirectionalIterator, typename _OutputIterator>
_OutputIterator std::reverse_copy (_BidirectionalIterator __first, _BidirectionalIterator __last, _OutputIterator __result) [inline] Copy a sequence, reversing its elements.
Parameters:
first A bidirectional iterator.
last A bidirectional iterator.
result An output iterator.
Returns:
An iterator designating the end of the resulting sequence.
Copies the elements in the range [first,last) to the range
[result,result+(last-first)) such that the order of the elements is
reversed. For every i such that 0<=i<=(last-first), reverse_copy()
performs the assignment *(result+(last-first)-i) = *(first+i). The
ranges [first,last) and [result,result+(last-first)) must not overlap.
Definition at line 1134 of file stl_algo.h.
ios_base& std::right (ios_base & __base) [inline]
Calls base.setf(ios_base::right, ios_base::adjustfield).
Definition at line 921 of file ios_base.h.
References std::ios_base::setf().
Referenced by __gnu_parallel::LoserTree< false, T, Comparator
>::init_winner(), and __gnu_parallel::parallel_partition().
template<typename _ForwardIterator> void std::rotate (_ForwardIterator
__first, _ForwardIterator __middle, _ForwardIterator __last) [inline] Rotate the elements of a sequence.
Parameters:
first A forward iterator.
middle A forward iterator.
last A forward iterator.
Returns:
Nothing.
Rotates the elements of the range [first,last) by (middle-first)
positions so that the element at middle is moved to first, the element at middle+1 is moved to +1 and so on for each element in the range
[first,last).
This effectively swaps the ranges [first,middle) and [middle,last).
Performs *(first+(n+(last-middle))%(last-first))=*(first+n) for each n in the range [0,last-first).
Definition at line 1326 of file stl_algo.h.
References __rotate().
template<typename _ForwardIterator, typename _OutputIterator>
_OutputIterator std::rotate_copy (_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, _OutputIterator __result) [inline]
Copy a sequence, rotating its elements.
Parameters:
first A forward iterator.
middle A forward iterator.
last A forward iterator.
result An output iterator.
Returns:
An iterator designating the end of the resulting sequence.
Copies the elements of the range [first,last) to the range beginning at
Returns:
, rotating the copied elements by (middle-first) positions so that the element at middle is moved to result, the element at middle+1
is moved to
+1 and so on for each element in the range [first,last).
Performs *(result+(n+(last-middle))%(last-first))=*(first+n) for each n in the range [0,last-first).
Definition at line 1359 of file stl_algo.h.
ios_base& std::scientific (ios_base & __base) [inline]
Calls base.setf(ios_base::scientific, ios_base::floatfield).
Definition at line 963 of file ios_base.h.
References std::ios_base::setf().
Referenced by operator<<().
template<typename _ForwardIterator1, typename _ForwardIterator2, typename
_BinaryPredicate> _ForwardIterator1 std::search (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __predicate) [inline] Search a sequence for a matching sub-sequence using a predicate.
Parameters:
first1 A forward iterator.
last1 A forward iterator.
first2 A forward iterator.
last2 A forward iterator.
predicate A binary predicate.
Returns:
The first iterator i in the range [first1,last1-(last2-first2)) such that predicate(*(i+N),*(first2+N)) is true for each N in the
range [0,last2-first2), or last1 if no such iterator exists.
Searches the range [first1,last1) for a sub-sequence that compares
equal value-by-value with the sequence given by [first2,last2), using
predicate to determine equality, and returns an iterator to the first element of the sub-sequence, or last1 if no such iterator exists.
See also:
search(_ForwardIter1, _ForwardIter1, _ForwardIter2, _ForwardIter2)
Definition at line 4121 of file stl_algo.h.
template<typename _ForwardIterator1, typename _ForwardIterator2>
_ForwardIterator1 std::search (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) [inline] Search a sequence for a matching sub-sequence.
Parameters:
first1 A forward iterator.
last1 A forward iterator.
first2 A forward iterator.
last2 A forward iterator.
Returns:
The first iterator i in the range [first1,last1-(last2-first2)) such that *(i+N) == *(first2+N) for each N in the range
[0,last2-first2), or last1 if no such iterator exists.
Searches the range [first1,last1) for a sub-sequence that compares
equal value-by-value with the sequence given by [first2,last2) and
returns an iterator to the first element of the sub-sequence, or last1 if the sub-sequence is not found.
Because the sub-sequence must lie completely within the range
[first1,last1) it must start at a position less than
last1-(last2-first2) where last2-first2 is the length of the subsequence. This means that the returned iterator i will be in the range [first1,last1-(last2-first2))
Definition at line 4050 of file stl_algo.h.
template<typename _ForwardIterator, typename _Integer, typename _Tp,
typename _BinaryPredicate> _ForwardIterator std::search_n (_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp & __val, _BinaryPredicate __binary_pred) [inline] Search a sequence for a number of consecutive values using a predicate.
Parameters:
first A forward iterator.
last A forward iterator.
count The number of consecutive values.
val The value to find.
binary_pred A binary predicate.
Returns:
The first iterator i in the range [first,last-count) such that binary_pred(*(i+N),val) is true for each N in the range [0,count), or last if no such iterator exists.
Searches the range [first,last) for count consecutive elements for
which the predicate returns true.
Definition at line 4229 of file stl_algo.h.
References __iterator_category(), and __search_n().
template<typename _ForwardIterator, typename _Integer, typename _Tp>
_ForwardIterator std::search_n (_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp & __val) [inline] Search a sequence for a number of consecutive values.
Parameters:
first A forward iterator.
last A forward iterator.
count The number of consecutive values.
val The value to find.
Returns:
The first iterator i in the range [first,last-count) such that *(i+N) == val for each N in the range [0,count), or last if no such iterator exists.
Searches the range [first,last) for count consecutive elements equal to val.
Definition at line 4193 of file stl_algo.h.
References __iterator_category(), and __search_n().
new_handler std::set_new_handler (new_handler) throw ()
Takes a replacement handler as the argument, returns the previous
handler.
terminate_handler std::set_terminate (terminate_handler) throw ()
Takes a new handler function as an argument, returns the old function.
unexpected_handler std::set_unexpected (unexpected_handler) throw ()
Takes a new handler function as an argument, returns the old function.
_Setbase std::setbase (int __base) [inline]
Manipulator for setf.
Parameters:
base A numeric base.
Sent to a stream object, this manipulator changes the
ios_base::basefield flags to oct, dec, or hex when base is 8, 10, or 16, accordingly, and to 0 if base is any other value.
Definition at line 133 of file iomanip.
template<typename _CharT> _Setfill<_CharT> std::setfill (_CharT __c)
[inline]
Manipulator for fill.
Parameters:
c The new fill character.
Sent to a stream object, this manipulator calls fill(c) for that
object.
Definition at line 175 of file iomanip.
_Setiosflags std::setiosflags (ios_base::fmtflags __mask) [inline]
Manipulator for setf.
Parameters:
mask A format flags mask.
Sent to a stream object, this manipulator sets the format flags to
mask.
Definition at line 98 of file iomanip.
_Setprecision std::setprecision (int __n) [inline]
Manipulator for precision.
Parameters:
n The new precision.
Sent to a stream object, this manipulator calls precision(n) for that
object.
Definition at line 209 of file iomanip.
_Setw std::setw (int __n) [inline]
Manipulator for width.
Parameters:
n The new width.
Sent to a stream object, this manipulator calls width(n) for that
object.
Definition at line 243 of file iomanip.
ios_base& std::showbase (ios_base & __base) [inline]
Calls base.setf(ios_base::showbase).
Definition at line 808 of file ios_base.h.
References std::ios_base::setf().
Referenced by noshowbase().
ios_base& std::showpoint (ios_base & __base) [inline]
Calls base.setf(ios_base::showpoint).
Definition at line 824 of file ios_base.h.
References std::ios_base::setf().
Referenced by noshowpoint().
ios_base& std::showpos (ios_base & __base) [inline]
Calls base.setf(ios_base::showpos).
Definition at line 840 of file ios_base.h.
References std::ios_base::setf().
Referenced by noshowpos().
ios_base& std::skipws (ios_base & __base) [inline]
Calls base.setf(ios_base::skipws).
Definition at line 856 of file ios_base.h.
References std::ios_base::setf().
Referenced by noskipws(), and std::basic_istream< _CharT, _Traits
>::sentry::sentry().
template<typename _RandomAccessIterator, typename _Compare> void std::sort
(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) [inline]
Sort the elements of a sequence using a predicate for comparison.
Parameters:
first An iterator.
last Another iterator.
comp A comparison functor.
Returns:
Nothing.
Sorts the elements in the range [first,last) in ascending order, such
that comp(*(i+1),*i) is false for every iterator i in the range [first,last-1).
The relative ordering of equivalent elements is not preserved, use
stable_sort() if this is needed.
Definition at line 4805 of file stl_algo.h.
References __final_insertion_sort(), __introsort_loop(), and __lg().
template<typename _RandomAccessIterator> void std::sort
(_RandomAccessIterator __first, _RandomAccessIterator __last) [inline] Sort the elements of a sequence.
Parameters:
first An iterator.
last Another iterator.
Returns:
Nothing.
Sorts the elements in the range [first,last) in ascending order, such
that *(i+1)<*i is false for each iterator i in the range [first,last-1).
The relative ordering of equivalent elements is not preserved, use
stable_sort() if this is needed.
Definition at line 4770 of file stl_algo.h.
References __final_insertion_sort(), __introsort_loop(), and __lg().
template<typename _RandomAccessIterator, typename _Compare> void
std::sort_heap (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) [inline] Sort a heap using comparison functor.
Parameters:
first Start of heap.
last End of heap.
comp Comparison functor to use.
This operation sorts the valid heap in the range [first,last).
Comparisons are made using comp.
Definition at line 476 of file stl_heap.h.
template<typename _RandomAccessIterator> void std::sort_heap
(_RandomAccessIterator __first, _RandomAccessIterator __last) [inline] Sort a heap.
Parameters:
first Start of heap.
last End of heap.
This operation sorts the valid heap in the range [first,last).
Definition at line 450 of file stl_heap.h.
template<typename _ForwardIterator, typename _Predicate> _ForwardIterator
std::stable_partition (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) [inline] Move elements for which a predicate is true to the beginning of a
sequence, preserving relative ordering.
Parameters:
first A forward iterator.
last A forward iterator.
pred A predicate functor.
Returns:
An iterator middle such that pred(i) is true for each iterator i in the range [first,middle) and false for each i in the range
[middle,last).
Performs the same function as partition() with the additional guarantee that the relative ordering of elements in each group is preserved, so
any two elements x and y in the range [first,last) such that
pred(x)==pred(y) will have the same relative ordering after calling
stable_partition().
Definition at line 1516 of file stl_algo.h.
References __inplace_stable_partition(), __stable_partition_adaptive(), std::_Temporary_buffer< _ForwardIterator, _Tp >::begin(),
std::_Temporary_buffer< _ForwardIterator, _Tp >::requested_size(), and std::_Temporary_buffer< _ForwardIterator, _Tp >::size().
template<typename _RandomAccessIterator, typename _Compare> void
std::stable_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) [inline] Sort the elements of a sequence using a predicate for comparison,
preserving the relative order of equivalent elements.
Parameters:
first An iterator.
last Another iterator.
comp A comparison functor.
Returns:
Nothing.
Sorts the elements in the range [first,last) in ascending order, such
that comp(*(i+1),*i) is false for each iterator i in the range [first,last-1).
The relative ordering of equivalent elements is preserved, so any two
elements x and y in the range [first,last) such that comp(x,y) is false and comp(y,x) is false will have the same relative ordering after
calling stable_sort().
Definition at line 5007 of file stl_algo.h.
References __inplace_stable_sort(), std::_Temporary_buffer<
_ForwardIterator, _Tp >::begin(), and std::_Temporary_buffer<
_ForwardIterator, _Tp >::size().
template<typename _RandomAccessIterator> void std::stable_sort
(_RandomAccessIterator __first, _RandomAccessIterator __last) [inline] Sort the elements of a sequence, preserving the relative order of
equivalent elements.
Parameters:
first An iterator.
last Another iterator.
Returns:
Nothing.
Sorts the elements in the range [first,last) in ascending order, such
that *(i+1)<*i is false for each iterator i in the range [first,last-1).
The relative ordering of equivalent elements is preserved, so any two
elements x and y in the range [first,last) such that x<y is false and
y<x is false will have the same relative ordering after calling
stable_sort().
Definition at line 4966 of file stl_algo.h.
References __inplace_stable_sort(), std::_Temporary_buffer<
_ForwardIterator, _Tp >::begin(), and std::_Temporary_buffer<
_ForwardIterator, _Tp >::size().
template<typename _Tp, typename _Alloc> void std::swap (vector< _Tp, _Alloc
> & __x, vector< _Tp, _Alloc > & __y) [inline] See std::vector::swap().
Definition at line 1157 of file stl_vector.h.
References std::vector< _Tp, _Alloc >::swap().
template<typename _Key, typename _Compare, typename _Alloc> void std::swap
(set< _Key, _Compare, _Alloc > & __x, set< _Key, _Compare, _Alloc > & __y) [inline]
See std::set::swap().
Definition at line 647 of file stl_set.h.
References std::set< _Key, _Compare, _Alloc >::swap().
template<typename _Key, typename _Compare, typename _Alloc> void std::swap
(multiset< _Key, _Compare, _Alloc > & __x, multiset< _Key, _Compare, _Alloc > & __y) [inline]
See std::multiset::swap().
Definition at line 634 of file stl_multiset.h.
References std::multiset< _Key, _Compare, _Alloc >::swap().
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
void std::swap (multimap< _Key, _Tp, _Compare, _Alloc > & __x, multimap< _Key, _Tp, _Compare, _Alloc > & __y) [inline] See std::multimap::swap().
Definition at line 736 of file stl_multimap.h.
References std::multimap< _Key, _Tp, _Compare, _Alloc >::swap().
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
void std::swap (map< _Key, _Tp, _Compare, _Alloc > & __x, map< _Key, _Tp, _Compare, _Alloc > & __y) [inline] See std::map::swap().
Definition at line 807 of file stl_map.h.
References std::map< _Key, _Tp, _Compare, _Alloc >::swap().
template<typename _Tp, typename _Alloc> void std::swap (list< _Tp, _Alloc >
& __x, list< _Tp, _Alloc > & __y) [inline] See std::list::swap().
Definition at line 1446 of file stl_list.h.
References std::list< _Tp, _Alloc >::swap().
template<typename _Tp, typename _Alloc> void std::swap (deque< _Tp, _Alloc
> & __x, deque< _Tp, _Alloc > & __y) [inline] See std::deque::swap().
Definition at line 1753 of file stl_deque.h.
References std::deque< _Tp, _Alloc >::swap().
template<typename _CharT, typename _Traits, typename _Alloc> void std::swap
(basic_string< _CharT, _Traits, _Alloc > & __lhs, basic_string< _CharT, _Traits, _Alloc > & __rhs) [inline] Swap contents of two strings.
Parameters:
lhs First string.
rhs Second string.
Exchanges the contents of lhs and rhs in constant time.
Definition at line 2385 of file basic_string.h.
References std::basic_string< _CharT, _Traits, _Alloc >::swap().
template<typename _Tp> void std::swap (_Tp & __a, _Tp & __b) [inline]
Swaps two values.
Parameters:
a A thing of arbitrary type.
b Another thing of arbitrary type.
Returns:
Nothing.
Definition at line 80 of file stl_move.h.
template<typename _Signature> void std::swap (function< _Signature > & __x,
function< _Signature > & __y) [inline] Swap the targets of two polymorphic function object wrappers.
This function will not throw an exception.
Definition at line 2120 of file tr1_impl/functional.
template<typename _ForwardIterator1, typename _ForwardIterator2>
_ForwardIterator2 std::swap_ranges (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2) [inline] Swap the elements of two sequences.
Parameters:
first1 A forward iterator.
last1 A forward iterator.
first2 A forward iterator.
Returns:
An iterator equal to first2+(last1-first1).
Swaps each element in the range [first1,last1) with the corresponding
element in the range [first2,(last1-first1)). The ranges must not
overlap.
Definition at line 161 of file stl_algobase.h.
void std::terminate ()
The runtime will call this function if exception handling must be
abandoned for any reason. It can also be called by the user.
template<typename _CharT> _CharT std::tolower (_CharT __c, const locale &
__loc) [inline]
Convenience interface to ctype.tolower(__c).
Definition at line 2629 of file locale_facets.h.
References std::__ctype_abstract_base< _CharT >::tolower().
Referenced by std::regex_traits< _Ch_type >::translate_nocase().
template<typename _CharT> _CharT std::toupper (_CharT __c, const locale &
__loc) [inline]
Convenience interface to ctype.toupper(__c).
Definition at line 2623 of file locale_facets.h.
References std::__ctype_abstract_base< _CharT >::toupper().
template<typename _InputIterator1, typename _InputIterator2, typename
_OutputIterator, typename _BinaryOperation> _OutputIterator std::transform (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _OutputIterator __result, _BinaryOperation __binary_op) [inline]
Perform an operation on corresponding elements of two sequences.
Parameters:
first1 An input iterator.
last1 An input iterator.
first2 An input iterator.
result An output iterator.
binary_op A binary operator.
Returns:
An output iterator equal to result+(last-first).
Applies the operator to the corresponding elements in the two input
ranges and assigns the results to successive elements of the output
sequence. Evaluates *(result+N)=binary_op(*(first1+N),*(first2+N)) for each N in the range [0,last1-first1).
binary_op must not alter either of its arguments.
Definition at line 4305 of file stl_algo.h.
template<typename _InputIterator, typename _OutputIterator, typename
_UnaryOperation> _OutputIterator std::transform (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _UnaryOperation __unary_op) [inline] Perform an operation on a sequence.
Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
unary_op A unary operator.
Returns:
An output iterator equal to result+(last-first).
Applies the operator to each element in the input range and assigns the results to successive elements of the output sequence. Evaluates
*(result+N)=unary_op(*(first+N)) for each N in the range [0,lastfirst).
unary_op must not alter its argument.
Definition at line 4270 of file stl_algo.h.
bool std::uncaught_exception () throw ()
[18.6.4]/1: 'Returns true after completing evaluation of a throwexpression until either completing initialization of the exceptiondeclaration in the matching handler or entering unexpected() due to the throw; or after entering terminate() for any reason other than an explicit call to terminate(). [Note: This includes stack unwinding [15.2]. end note]'
2: 'When uncaught_exception() is true, throwing an exception can result in a call of terminate() (15.5.1).'
Referenced by std::basic_ostream< _CharT, _Traits >::sentry::~sentry().
void std::unexpected ()
The runtime will call this function if an exception is thrown which
violates the function's exception specification.
template<typename _InputIterator, typename _ForwardIterator>
_ForwardIterator std::uninitialized_copy (_InputIterator __first, _InputIterator __last, _ForwardIterator __result) [inline] Copies the range [first,last) into result.
Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
Returns:
result + (first - last)
Like copy(), but does not require an initialized output range.
Definition at line 112 of file stl_uninitialized.h.
Referenced by __gnu_parallel::parallel_sort_mwms_pu().
template<typename _ForwardIterator, typename _Tp> void
std::uninitialized_fill (_ForwardIterator __first, _ForwardIterator __last, const _Tp & __x) [inline] Copies the value x into the range [first,last).
Parameters:
first An input iterator.
last An input iterator.
x The source value.
Returns:
Nothing.
Like fill(), but does not require an initialized output range.
Definition at line 169 of file stl_uninitialized.h.
template<typename _ForwardIterator, typename _Size, typename _Tp> void
std::uninitialized_fill_n (_ForwardIterator __first, _Size __n, const _Tp & __x) [inline]
Copies the value x into the range [first,first+n).
Parameters:
first An input iterator.
n The number of copies to make.
x The source value.
Returns:
Nothing.
Like fill_n(), but does not require an initialized output range.
Definition at line 223 of file stl_uninitialized.h.
Referenced by std::_Temporary_buffer< _ForwardIterator, _Tp
>::_Temporary_buffer().
template<typename _ForwardIterator, typename _BinaryPredicate>
_ForwardIterator std::unique (_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred) [inline] Remove consecutive values from a sequence using a predicate.
Parameters:
first A forward iterator.
last A forward iterator.
binary_pred A binary predicate.
Returns:
An iterator designating the end of the resulting sequence.
Removes all but the first element from each group of consecutive values for which binary_pred returns true. unique() is stable, so the relative order of elements that are not removed is unchanged. Elements between
the end of the resulting sequence and last are still present, but their value is unspecified.
Definition at line 881 of file stl_algo.h.
template<typename _ForwardIterator> _ForwardIterator std::unique
(_ForwardIterator __first, _ForwardIterator __last) [inline] Remove consecutive duplicate values from a sequence.
Parameters:
first A forward iterator.
last A forward iterator.
Returns:
An iterator designating the end of the resulting sequence.
Removes all but the first element from each group of consecutive values that compare equal. unique() is stable, so the relative order of
elements that are not removed is unchanged. Elements between the end of the resulting sequence and last are still present, but their value is
unspecified.
Definition at line 842 of file stl_algo.h.
template<typename _InputIterator, typename _OutputIterator, typename
_BinaryPredicate> _OutputIterator std::unique_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred) [inline] Copy a sequence, removing consecutive values using a predicate.
Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
binary_pred A binary predicate.
Returns:
An iterator designating the end of the resulting sequence.
Copies each element in the range [first,last) to the range beginning at result, except that only the first element is copied from groups of
consecutive elements for which binary_pred returns true. unique_copy() is stable, so the relative order of elements that are copied is
unchanged.
_GLIBCXX_RESOLVE_LIB_DEFECTS DR 241. Does unique_copy() require
CopyConstructible and Assignable?
Definition at line 4499 of file stl_algo.h.
References __iterator_category(), and __unique_copy().
template<typename _InputIterator, typename _OutputIterator> _OutputIterator
std::unique_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result) [inline] Copy a sequence, removing consecutive duplicate values.
Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
Returns:
An iterator designating the end of the resulting sequence.
Copies each element in the range [first,last) to the range beginning at result, except that only the first element is copied from groups of
consecutive elements that compare equal. unique_copy() is stable, so
the relative order of elements that are copied is unchanged.
_GLIBCXX_RESOLVE_LIB_DEFECTS DR 241. Does unique_copy() require
CopyConstructible and Assignable?
_GLIBCXX_RESOLVE_LIB_DEFECTS DR 538. 241 again: Does unique_copy()
require CopyConstructible and Assignable?
Definition at line 4460 of file stl_algo.h.
References __iterator_category(), and __unique_copy().
ios_base& std::unitbuf (ios_base & __base) [inline]
Calls base.setf(ios_base::unitbuf).
Definition at line 888 of file ios_base.h.
References std::ios_base::setf().
Referenced by nounitbuf(), and std::basic_ostream< _CharT, _Traits
>::sentry::~sentry().
ios_base& std::uppercase (ios_base & __base) [inline]
Calls base.setf(ios_base::uppercase).
Definition at line 872 of file ios_base.h.
References std::ios_base::setf().
Referenced by nouppercase().
template<typename _Facet> const _Facet & std::use_facet (const locale &
__loc) [inline]
Return a facet.
use_facet looks for and returns a reference to a facet of type Facet
where Facet is the template parameter. If has_facet(locale) is true,
there is a suitable facet to return. It throws std::bad_cast if the locale doesn't contain a facet of type Facet.
Parameters:
Facet The facet type to access.
locale The locale to use.
Returns:
Reference to facet of type Facet.
Exceptions:
std::bad_cast if locale doesn't contain a facet of type Facet.
Definition at line 110 of file locale_classes.tcc.
References std::locale::_M_impl.
Referenced by std::regex_traits< _Ch_type >::isctype(),
std::regex_traits< _Ch_type >::transform(), and std::regex_traits<
_Ch_type >::translate_nocase().
template<typename _CharT, typename _Traits> basic_istream< _CharT, _Traits
> & std::ws (basic_istream< _CharT, _Traits > & __is) [inline] Quick and easy way to eat whitespace.
This manipulator extracts whitespace characters, stopping when the next character is non-whitespace, or when the input sequence is empty. If
the sequence is empty, eofbit is set in the stream, but not failbit.
The current locale is used to distinguish whitespace characters.
Example:

MyClass mc;
std::cin >> std::ws >> mc;
will skip leading whitespace before calling operator>> on cin and your
object. Note that the same effect can be achieved by creating a
std::basic_istream::sentry inside your definition of operator>>.
Definition at line 951 of file istream.tcc.
References std::ios_base::eofbit, std::ios_base::getloc(),
std::basic_ios< _CharT, _Traits >::rdbuf(), and std::basic_ios< _CharT, _Traits >::setstate().

Variable Documentation

ostream std::cerr
Linked to standard error (unbuffered).
istream std::cin
Linked to standard input.
ostream std::clog
Linked to standard error (buffered).
ostream std::cout
Linked to standard output.
wostream std::wcerr
Linked to standard error (unbuffered).
wistream std::wcin
Linked to standard input.
wostream std::wclog
Linked to standard error (buffered).
wostream std::wcout
Linked to standard output.

Author

Generated automatically by Doxygen for libstdc++ from the source code.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout