Espacios de nombres
Variantes
Acciones

Archivo de encabezado de la biblioteca estándar <functional>

De cppreference.com
< cpp‎ | header
 
 
Archivos de encabezado de la biblioteca estándar
 

Este archivo de encabezado es parte de la biblioteca de objetos función y proporciona la función estándar hash.

Contenido

[editar]Espacios de nombres

placeholders Define marcadores de posición para los argumentos no vinculados en una expresión std::bind.
Constantes
Definido en el espacio de nombres std::placeholders
Marcadores de posición para los argumentos no vinculados en una expresión std::bind.
(constante)[editar]

[editar]Clases

(C++11)
Envuelve un objeto que puede ser llamado a cualquier tipo con la signatura de llamada a función especificada.
(plantilla de clase)[editar]
(C++11)
Crea un objeto función de un puntero a un miembro.
(plantilla de función)[editar]
La excepción que se lanza cuando se invoca un objeto std::function vacío.
(clase)[editar]
Indica que un objeto es una expresión std::bind o puede usarse como tal.
(plantilla de clase)[editar]
Indica que un objeto es un marcador de posición estándar o puede usarse como tal.
(plantilla de clase)[editar]
Envoltorio de referencia CopyConstructible y CopyAssignable.
(plantilla de clase)[editar]
Hashing (resumen)
(C++11)
Objeto función de dispersión (hash).
(plantilla de clase)[editar]

template<>struct hash<bool>;
template<>struct hash<char>;
template<>struct hash<signedchar>;
template<>struct hash<unsignedchar>;
template<>struct hash<char16_t>;
template<>struct hash<char32_t>;
template<>struct hash<wchar_t>;
template<>struct hash<short>;
template<>struct hash<unsignedshort>;
template<>struct hash<int>;
template<>struct hash<unsignedint>;
template<>struct hash<long>;
template<>struct hash<longlong>;
template<>struct hash<unsignedlong>;
template<>struct hash<unsignedlonglong>;
template<>struct hash<float>;
template<>struct hash<double>;
template<>struct hash<longdouble>;
template<class T >struct hash<T*>;

std::hash Especializaciones para los tipos integrados
(especialización de plantilla de clase)

[editar]Funciones

(C++11)
Vincula uno o más argumentos a un objeto función.
(plantilla de función)[editar]
(C++11)(C++11)
Crea un envoltorio de referencia (std::reference_wrapper) con un tipo deducido de su argumento.
(plantilla de función)[editar]
(C++17)(C++23)
Invoca cualquier objeto Callable con los argumentos dados y la posibilidad de especificar el tipo de retorno.(desde C++23)
(plantilla de función)[editar]

[editar]Objetos función

Operaciones aritméticas
Objeto función que implementa x + y
(plantilla de clase)[editar]
Objeto función que implementa x - y
(plantilla de clase)[editar]
Objeto función que implementa x * y
(plantilla de clase)[editar]
Objeto función que implementa x / y.
(plantilla de clase)[editar]
Objeto función que implementa x % y
(plantilla de clase)[editar]
Objeto función que implementa -x
(plantilla de clase)[editar]
Comparaciones
Objeto función que implementa x == y.
(plantilla de clase)[editar]
Objeto función que implementa x != y.
(plantilla de clase)[editar]
Objeto función que implementa x > y.
(plantilla de clase)[editar]
Objeto función que implementa x < y.
(plantilla de clase)[editar]
Objeto función que implementa x >= y.
(plantilla de clase)[editar]
Objeto función que implementa x <= y
(plantilla de clase)[editar]
Comparaciones restringidas por conceptos
Objeto función que implementa x == y.
(clase)[editar]
Objeto función que implementa x != y.
(clase)[editar]
Objeto función que implementa x > y.
(clase)[editar]
Objeto función que implementa x < y.
(clase)[editar]
Objeto función que implementa x >= y.
(clase)[editar]
Objeto función que implementa x <= y.
(clase)[editar]
Operaciones lógicas
Objeto función que implementa x && y.
(plantilla de clase)[editar]
Objeto función que implementa x || y.
(plantilla de clase)[editar]
Objeto función que implementa !x.
(plantilla de clase)[editar]
Operaciones de bits
Objeto función que implementa x & y.
(plantilla de clase)[editar]
Objeto función que implementa x | y.
(plantilla de clase)[editar]
Objeto función que implementa x ^ y.
(plantilla de clase)[editar]
(C++14)
Objeto función que implementa ~x.
(plantilla de clase)[editar]
Negadores
(C++17)
Crea un objeto función que devuelve el complemento del resultado del objeto función que mantiene.
(plantilla de función)[editar]
Buscadores
Implementación del algoritmo de búsqueda de la biblioteca estándar de C++.
(plantilla de clase)[editar]
Implementación del algoritmo de búsqueda Boyer-Moore.
(plantilla de clase)[editar]
Implementación del algoritmo de búsqueda Boyer-Moore-Horspool.
(plantilla de clase)[editar]

[editar]En desuso en C++11 y eliminados en C++17

Base
(en desuso en C++11)(eliminado en C++17)
Clase base de función unaria compatible con un adaptador.
(plantilla de clase)[editar]
(en desuso en C++11)(eliminado en C++17)
Clase base compatible con un adaptador de función binaria.
(plantilla de clase)[editar]
Vinculadores
(en desuso en C++11)(eliminado en C++17)
Objeto función que mantiene una función binaria y uno de sus argumentos.
(plantilla de clase)[editar]
(en desuso en C++11)(eliminado en C++17)
Vincula un argumento a una función binaria.
(plantilla de función)[editar]
Adaptadores de función
(en desuso en C++11)(eliminado en C++17)
Envoltorio compatible con un adaptador para un puntero a función unaria.
(plantilla de clase)[editar]
(en desuso en C++11)(eliminado en C++17)
Envoltorio compatible con un adaptador para un puntero a función binaria.
(plantilla de clase)[editar]
(en desuso en C++11)(eliminado en C++17)
Crea un envoltorio de objeto función compatible con un adaptador de un puntero a función
(plantilla de función)[editar]
(en desuso en C++11)(eliminado en C++17)
Envoltorio para un puntero a una función nularia o función miembro unaria, que puede ser llamado con un puntero a un objeto.
(plantilla de clase)[editar]
(en desuso en C++11)(eliminado en C++17)
Crea un envoltorio de un puntero a función miembro, que puede ser llamado con un puntero a un objeto.
(plantilla de función)[editar]
Envoltorio para un puntero a una función nularia o función miembro unaria, que puede ser llamado con una referencia a un objeto.
(plantilla de clase)[editar]
(en desuso en C++11)(eliminado en C++17)
Crea un envoltorio de un puntero a función miembro, que puede ser llamado con una referencia a un objeto.
(plantilla de función)[editar]

[editar]En desuso en C++17 y eliminados en C++20

Negadores
(en desuso en C++17)(eliminado en C++20)
Envoltorio de objeto función que devuelve el complemento del predicado unario que mantiene.
(plantilla de clase)[editar]
(en desuso en C++17)(eliminado en C++20)
Envoltorio de objeto función que devuelve el complemento del predicado binario que mantiene.
(plantilla de clase)[editar]
(en desuso en C++17)(eliminado en C++20)
Construye un objeto std::unary_negate personalizado.
(plantilla de función)[editar]
(en desuso en C++17)(eliminado en C++20)
Construye un objeto std::binary_negate personalizado.
(plantilla de función)[editar]

[editar]Sinopsis

namespace std {// invoketemplate<class F, class... Args>constexpr invoke_result_t<F, Args...> invoke(F&& f, Args&&... args)noexcept(is_nothrow_invocable_v<F, Args...>);   // reference_wrappertemplate<class T>class reference_wrapper;   template<class T>constexpr reference_wrapper<T> ref(T&)noexcept;template<class T>constexpr reference_wrapper<const T> cref(const T&)noexcept;template<class T>void ref(const T&&)= delete;template<class T>void cref(const T&&)= delete;   template<class T>constexpr reference_wrapper<T> ref(reference_wrapper<T>)noexcept;template<class T>constexpr reference_wrapper<const T> cref(reference_wrapper<T>)noexcept;   template<class T>struct unwrap_reference;template<class T>using unwrap_reference_t =typename unwrap_reference<T>::type;template<class T>struct unwrap_ref_decay;template<class T>using unwrap_ref_decay_t =typename unwrap_ref_decay<T>::type;   // operaciones aritméticastemplate<class T =void>struct plus;template<class T =void>struct minus;template<class T =void>struct multiplies;template<class T =void>struct divides;template<class T =void>struct modulus;template<class T =void>struct negate;template<>struct plus<void>;template<>struct minus<void>;template<>struct multiplies<void>;template<>struct divides<void>;template<>struct modulus<void>;template<>struct negate<void>;   // comparacionestemplate<class T =void>struct equal_to;template<class T =void>struct not_equal_to;template<class T =void>struct greater;template<class T =void>struct less;template<class T =void>struct greater_equal;template<class T =void>struct less_equal;template<>struct equal_to<void>;template<>struct not_equal_to<void>;template<>struct greater<void>;template<>struct less<void>;template<>struct greater_equal<void>;template<>struct less_equal<void>;   // operaciones lógicastemplate<class T =void>struct logical_and;template<class T =void>struct logical_or;template<class T =void>struct logical_not;template<>struct logical_and<void>;template<>struct logical_or<void>;template<>struct logical_not<void>;   // operaciones de bitstemplate<class T =void>struct bit_and;template<class T =void>struct bit_or;template<class T =void>struct bit_xor;template<class T =void>struct bit_not;template<>struct bit_and<void>;template<>struct bit_or<void>;template<>struct bit_xor<void>;template<>struct bit_not<void>;   // identidadstruct identity;   // plantilla de función not_fntemplate<class F>constexpr/* no especificado */ not_fn(F&& f);   // plantilla de función bind_fronttemplate<class F, class... Args>constexpr/* no especificado */ bind_front(F&&, Args&&...);   // vinculartemplate<class T>struct is_bind_expression;template<class T>struct is_placeholder;   template<class F, class... BoundArgs>constexpr/* no especificado */ bind(F&&, BoundArgs&&...);template<class R, class F, class... BoundArgs>constexpr/* no especificado */ bind(F&&, BoundArgs&&...);   namespace placeholders {// M el número de marcadores de posición definido por la implementación/* véase descripción */ _1;/* véase descripción */ _2; . . . /* véase descripción */ _M;}   // adaptadores de funciones miembrotemplate<class R, class T>constexpr/* no especificado */ mem_fn(R T::*)noexcept;   // envoltorios de función polimórficosclass bad_function_call;   template<class>class function;// no definidatemplate<class R, class... ArgTypes>class function<R(ArgTypes...)>;   template<class R, class... ArgTypes>void swap(function<R(ArgTypes...)>&, function<R(ArgTypes...)>&)noexcept;   template<class R, class... ArgTypes>bool operator==(const function<R(ArgTypes...)>&, nullptr_t)noexcept;   // searcherstemplate<class ForwardIter, class BinaryPredicate = equal_to<>>class default_searcher;   template<class RandomAccessIter, class Hash = hash<typename iterator_traits<RandomAccessIter>::value_type>, class BinaryPredicate = equal_to<>>class boyer_moore_searcher;   template<class RandomAccessIter, class Hash = hash<typename iterator_traits<RandomAccessIter>::value_type>, class BinaryPredicate = equal_to<>>class boyer_moore_horspool_searcher;   // plantilla de función primaria hashtemplate<class T>struct hash;   // vinculadores de funciones objetotemplate<class T>inlineconstexprbool is_bind_expression_v = is_bind_expression<T>::value;template<class T>inlineconstexprint is_placeholder_v = is_placeholder<T>::value;   namespace ranges {// comparaciones restringidas por conceptosstruct equal_to;struct not_equal_to;struct greater;struct less;struct greater_equal;struct less_equal;}}

[editar]Plantilla de clase std::reference_wrapper

namespace std {template<class T>class reference_wrapper {public:// tiposusing type = T;   // construcción/copia/destruccióntemplate<class U>constexpr reference_wrapper(U&&)noexcept(see below);constexpr reference_wrapper(const reference_wrapper& x)noexcept;   // asignaciónconstexpr reference_wrapper& operator=(const reference_wrapper& x)noexcept;   // accesoconstexpr operator T&()constnoexcept;constexpr T& get()constnoexcept;   // invocacióntemplate<class... ArgTypes>constexpr invoke_result_t<T&, ArgTypes...> operator()(ArgTypes&&...)const;};template<class T> reference_wrapper(T&)-> reference_wrapper<T>;}

[editar]Plantilla de clase std::unwrap_reference

namespace std {template<class T>struct unwrap_reference;}

[editar]Plantilla de clase std::unwrap_ref_decay

namespace std {template<class T>struct unwrap_ref_decay;}

[editar]Plantilla de clase std::plus

namespace std {template<class T =void>struct plus {constexpr T operator()(const T& x, const T& y)const;};   template<>struct plus<void>{template<class T, class U>constexprauto operator()(T&& t, U&& u)const-> decltype(std::forward<T>(t)+std::forward<U>(u));   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::minus

namespace std {template<class T =void>struct minus {constexpr T operator()(const T& x, const T& y)const;};   template<>struct minus<void>{template<class T, class U>constexprauto operator()(T&& t, U&& u)const-> decltype(std::forward<T>(t)-std::forward<U>(u));   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::multiplies

namespace std {template<class T =void>struct multiplies {constexpr T operator()(const T& x, const T& y)const;};   template<>struct multiplies<void>{template<class T, class U>constexprauto operator()(T&& t, U&& u)const-> decltype(std::forward<T>(t)*std::forward<U>(u));   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::divides

namespace std {template<class T =void>struct divides {constexpr T operator()(const T& x, const T& y)const;};   template<>struct divides<void>{template<class T, class U>constexprauto operator()(T&& t, U&& u)const-> decltype(std::forward<T>(t)/std::forward<U>(u));   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::modulus

namespace std {template<class T =void>struct modulus {constexpr T operator()(const T& x, const T& y)const;};   template<>struct modulus<void>{template<class T, class U>constexprauto operator()(T&& t, U&& u)const-> decltype(std::forward<T>(t)%std::forward<U>(u));   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::negate

namespace std {template<class T =void>struct negate {constexpr T operator()(const T& x)const;};   template<>struct negate<void>{template<class T>constexprauto operator()(T&& t)const-> decltype(-std::forward<T>(t));   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::equal_to

namespace std {template<class T =void>struct equal_to {constexprbool operator()(const T& x, const T& y)const;};   template<>struct equal_to<void>{template<class T, class U>constexprauto operator()(T&& t, U&& u)const-> decltype(std::forward<T>(t)==std::forward<U>(u));   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::not_equal_to

namespace std {template<class T =void>struct not_equal_to {constexprbool operator()(const T& x, const T& y)const;};   template<>struct not_equal_to<void>{template<class T, class U>constexprauto operator()(T&& t, U&& u)const-> decltype(std::forward<T>(t)!=std::forward<U>(u));   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::greater

namespace std {template<class T =void>struct greater {constexprbool operator()(const T& x, const T& y)const;};   template<>struct greater<void>{template<class T, class U>constexprauto operator()(T&& t, U&& u)const-> decltype(std::forward<T>(t)>std::forward<U>(u));   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::less

namespace std {template<class T =void>struct less {constexprbool operator()(const T& x, const T& y)const;};   template<>struct less<void>{template<class T, class U>constexprauto operator()(T&& t, U&& u)const-> decltype(std::forward<T>(t)<std::forward<U>(u));   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::greater_equal

namespace std {template<class T =void>struct greater_equal {constexprbool operator()(const T& x, const T& y)const;};   template<>struct greater_equal<void>{template<class T, class U>constexprauto operator()(T&& t, U&& u)const-> decltype(std::forward<T>(t)>=std::forward<U>(u));   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::less_equal

namespace std {template<class T =void>struct less_equal {constexprbool operator()(const T& x, const T& y)const;};   template<>struct less_equal<void>{template<class T, class U>constexprauto operator()(T&& t, U&& u)const-> decltype(std::forward<T>(t)<=std::forward<U>(u));   using is_transparent =/* no especificado */;};}

[editar]Clase std::ranges::equal_to

namespace std::ranges{struct equal_to {template<class T, class U> requires equality_comparable_with<T, U>||/*COMP-PTR-INTEGRADO*/(T, ==, U)constexprbool operator()(T&& t, U&& u)const;   using is_transparent =/* no especificado */;};}

[editar]Clase std::ranges::not_equal_to

namespace std::ranges{struct not_equal_to {template<class T, class U> requires equality_comparable_with<T, U>||/*COMP-PTR-INTEGRADO*/(T, ==, U)constexprbool operator()(T&& t, U&& u)const;   using is_transparent =/* no especificado */;};}

[editar]Clase std::ranges::greater

namespace std::ranges{struct greater {template<class T, class U> requires totally_ordered_with<T, U>||/*COMP-PTR-INTEGRADO*/(U, <, T)constexprbool operator()(T&& t, U&& u)const;   using is_transparent =/* no especificado */;};}

[editar]Clase std::ranges::less

namespace std::ranges{struct less {template<class T, class U> requires totally_ordered_with<T, U>||/*COMP-PTR-INTEGRADO*/(T, <, U)constexprbool operator()(T&& t, U&& u)const;   using is_transparent =/* no especificado */;};}

[editar]Clase std::ranges::greater_equal

namespace std::ranges{struct greater_equal {template<class T, class U> requires totally_ordered_with<T, U>||/*COMP-PTR-INTEGRADO*/(T, <, U)constexprbool operator()(T&& t, U&& u)const;   using is_transparent =/* no especificado */;};}

[editar]Clase std::ranges::less_equal

namespace std::ranges{struct less_equal {template<class T, class U> requires totally_ordered_with<T, U>||/*COMP-PTR-INTEGRADO*/(U, <, T)constexprbool operator()(T&& t, U&& u)const;   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::logical_and

namespace std {template<class T =void>struct logical_and {constexprbool operator()(const T& x, const T& y)const;};   template<>struct logical_and<void>{template<class T, class U>constexprauto operator()(T&& t, U&& u)const-> decltype(std::forward<T>(t)&&std::forward<U>(u));   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::logical_or

namespace std {template<class T =void>struct logical_or {constexprbool operator()(const T& x, const T& y)const;};   template<>struct logical_or<void>{template<class T, class U>constexprauto operator()(T&& t, U&& u)const-> decltype(std::forward<T>(t)||std::forward<U>(u));   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::logical_not

namespace std {template<class T =void>struct logical_not {constexprbool operator()(const T& x)const;};   template<>struct logical_not<void>{template<class T>constexprauto operator()(T&& t)const-> decltype(!std::forward<T>(t));   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::bit_and

namespace std {template<class T =void>struct bit_and {constexpr T operator()(const T& x, const T& y)const;};   template<>struct bit_and<void>{template<class T, class U>constexprauto operator()(T&& t, U&& u)const-> decltype(std::forward<T>(t)&std::forward<U>(u));   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::bit_or

namespace std {template<class T =void>struct bit_or {constexpr T operator()(const T& x, const T& y)const;};   template<>struct bit_or<void>{template<class T, class U>constexprauto operator()(T&& t, U&& u)const-> decltype(std::forward<T>(t)|std::forward<U>(u));   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::bit_xor

namespace std {template<class T =void>struct bit_xor {constexpr T operator()(const T& x, const T& y)const;};   template<>struct bit_xor<void>{template<class T, class U>constexprauto operator()(T&& t, U&& u)const-> decltype(std::forward<T>(t)^std::forward<U>(u));   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::bit_not

namespace std {template<class T =void>struct bit_not {constexpr T operator()(const T& x)const;};   template<>struct bit_not<void>{template<class T>constexprauto operator()(T&& t)const-> decltype(~std::forward<T>(t));   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::identity

namespace std {struct identity {template<class T>constexpr T&& operator()(T&& t)constnoexcept;   using is_transparent =/* no especificado */;};}

[editar]Plantilla de clase std::is_bind_expression

namespace std {template<class T>struct is_bind_expression;}

[editar]Plantilla de clase std::is_placeholder

namespace std {template<class T>struct is_placeholder;}

[editar]Clase std::bad_function_call

namespace std {class bad_function_call :public exception {public:// véase [exception] para la especificación de funciones miembro especialesconstchar* what()constnoexcept override;};}

[editar]Clase std::function

namespace std {template<class>class function;// no definida   template<class R, class... ArgTypes>class function<R(ArgTypes...)>{public:using result_type = R;   // construcción/copia/destrucción function()noexcept; function(nullptr_t)noexcept; function(const function&); function(function&&)noexcept;template<class F> function(F);   function& operator=(const function&); function& operator=(function&&); function& operator=(nullptr_t)noexcept;template<class F> function& operator=(F&&);template<class F> function& operator=(reference_wrapper<F>)noexcept;   ~function();   // modificadores de funcionesvoid swap(function&)noexcept;   // capacidad de funcionesexplicit operator bool()constnoexcept;   // invocación de funciones R operator()(ArgTypes...)const;   // acceso a función objetivoconst type_info& target_type()constnoexcept;template<class T> T* target()noexcept;template<class T>const T* target()constnoexcept;};   template<class R, class... ArgTypes> function(R(*)(ArgTypes...))-> function<R(ArgTypes...)>;   template<class F> function(F)-> function</* véase descripción */>;   // funciones de comparación con puntero nulotemplate<class R, class... ArgTypes>bool operator==(const function<R(ArgTypes...)>&, nullptr_t)noexcept;   // algoritmos especializadostemplate<class R, class... ArgTypes>void swap(function<R(ArgTypes...)>&, function<R(ArgTypes...)>&)noexcept;}

[editar]Plantilla de clase std::default_searcher

namespace std {template<class ForwardIter1, class BinaryPredicate = equal_to<>>class default_searcher {public:constexpr default_searcher(ForwardIter1 pat_first, ForwardIter1 pat_last, BinaryPredicate pred = BinaryPredicate());   template<class ForwardIter2>constexpr pair<ForwardIter2, ForwardIter2> operator()(ForwardIter2 first, ForwardIter2 last)const;   private: ForwardIter1 pat_first_;// solo exposición ForwardIter1 pat_last_;// solo exposición BinaryPredicate pred_;// solo exposición};}

[editar]Plantilla de clase std::boyer_moore_searcher

namespace std {template<class RandomAccessIter1, class Hash = hash<typename iterator_traits<RandomAccessIter1>::value_type>, class BinaryPredicate = equal_to<>>class boyer_moore_searcher {public: boyer_moore_searcher(RandomAccessIter1 pat_first, RandomAccessIter1 pat_last, Hash hf = Hash(), BinaryPredicate pred = BinaryPredicate());   template<class RandomAccessIter2> pair<RandomAccessIter2, RandomAccessIter2> operator()(RandomAccessIter2 first, RandomAccessIter2 last)const;   private: RandomAccessIter1 pat_first_;// solo exposición RandomAccessIter1 pat_last_;// solo exposición Hash hash_;// solo exposición BinaryPredicate pred_;// solo exposición};}

[editar]Plantilla de clase std::boyer_moore_horspool_searcher

namespace std {template<class RandomAccessIter1, class Hash = hash<typename iterator_traits<RandomAccessIter1>::value_type>, class BinaryPredicate = equal_to<>>class boyer_moore_horspool_searcher {public: boyer_moore_horspool_searcher(RandomAccessIter1 pat_first, RandomAccessIter1 pat_last, Hash hf = Hash(), BinaryPredicate pred = BinaryPredicate());   template<class RandomAccessIter2> pair<RandomAccessIter2, RandomAccessIter2> operator()(RandomAccessIter2 first, RandomAccessIter2 last)const;   private: RandomAccessIter1 pat_first_;// solo exposición RandomAccessIter1 pat_last_;// solo exposición Hash hash_;// solo exposición BinaryPredicate pred_;// solo exposición};}

[editar]Véase también

<string> Especializa a std::hash para std::string, std::u16string, std::u32string, std::wstring
<system_error> Especializa a std::hash para std::error_code
<bitset> Especializa a std::hash para std::bitset
<memory> Especializa a std::hash para std::unique_ptr, std::shared_ptr
<typeindex> Especializa a std::hash para std::type_index
<vector> Especializa a std::hash para std::vector<bool>
<thread> Especializa a std::hash para std::thread::id
close