Resultados da pesquisa a pedido "argument-dependent-lookup"

2 a resposta

Por que a função declarada dentro de outra função não participa da pesquisa dependente de argumento?

Considere um exemplo simples: template <class T> struct tag { }; int main() { auto foo = [](auto x) -> decltype(bar(x)) { return {}; }; tag<int> bar(tag<int>); bar(tag<int>{}); // <- compiles OK foo(tag<int>{}); // 'bar' was not declared in this ...

5 a resposta

Por que a pesquisa dependente de argumento foi inventada?

Por que a pesquisa dependente de argumento (ADL) foi inventada? É só para que possamos escrevercout << stuff ao invés destd::operator<<(cout, stuff)? Se for esse o caso, por que a ADL não se limitou aos operadores, e não a todas ...

1 a resposta

C ++ 11 style SFINAE e visibilidade de função na instanciação de template

Não tenho certeza se isso tem algo a ver com sfinae, ou apenas algo que é relevante para qualquer função modelada. Eu estou tentando usar sfinae para ativar ...

2 a resposta

Quais são as armadilhas da ADL?

Há algum tempo, li um artigo que explicava várias armadilhas da pesquisa dependente de argumento, mas não consigo mais encontrá-la. Tratava-se de obter acesso a coisas às quais você não deveria ter acesso ou algo assim. Então, pensei em perguntar ...

0 a resposta

Cxx-prettyprint (para contêineres padrão) define seus operadores de saída dentro do namespace std - isso é uma violação padrão?

Eu tenho usado com sucessocxx-prettyprint: Uma impressora bonita de contêiner C ++ [http://louisdx.github.io/cxx-prettyprint/]para registrar valores de contêiner. (Veja tambémRecipientes C ++ STL com impressão ...

4 a resposta

Como eu escrevo um tipo de retorno à direita habilitado para ADL ou nenhuma especificação excet

Imagine Estou escrevendo algum modelo de contêiner ou algo assim. E chega a hora de se especializarstd::swap por isso. Como bom cidadão, habilitarei a ADL fazendo algo assim: template <typename T> void swap(my_template<T>& x, my_template<T>& y) ...

3 a resposta

Por que o ADL não está funcionando com o Boost.Range?

Considerando: #include <cassert> #include <boost/range/irange.hpp> #include <boost/range/algorithm.hpp> int main() { auto range = boost::irange(1, 4); assert(boost::find(range, 4) == end(range)); }Demonstração ao vivo ...

2 a resposta

getting um elemento de uma tupla [duplicata]

Possible Duplicate: Por que o ADL não encontra modelos de função? [https://stackoverflow.com/questions/2953684/why-doesnt-adl-find-function-templates] Callingget parece não chamar a pesquisa dependente de argumento: auto t = ...

3 a resposta

omportamento diferente para pesquisa de nome qualificado e não qualificado para o modelo

Como esse código deve se comportar? Chama a função genérica ignorando minha sobrecarga se eu usarqualificad nome emcall_read() função; e chama sobrecarga primeiro e depois versão genérica se eu usar não qualificado nome. Qual é a diferença? É um ...

4 a resposta

Invocar começar e terminar usando diretiva?

O idioma estabelecido para invocar