Resultados da pesquisa a pedido "enable-if"
Habilitar método com base no parâmetro de modelo booleano
Eu quero implementar uma função privada com base em um parâmetro de modelo booleano. Algo parecido: #include <iostream> using namespace std; template <bool is_enabled = true> class Aggregator { public: void fun(int a) { funInternal(a); } ...
Use std :: tuple para a lista de parâmetros do modelo em vez da lista de tipos
Estou tentando fazer uma chamada para uma função de modelo como esta:
Como posso escrever um modelo de função para todos os tipos com uma característica específica?
Considere o seguinte exemplo: struct Scanner { template <typename T> T get(); }; template <> string Scanner::get() { return string("string"); } template <> int Scanner::get() { return 10; } int main() { Scanner scanner; string s = ...
habilitar o membro da classe dependendo do modelo
Eu já sei que você pode habilitar (ou não) o método de uma classe usandostd::enable_if por exemplo: template<size_t D, size_t E> class Field { ... size_t offset(const std::array<float,D>& p) const { ... } template<typename TT = size_t> ...
Posso usar boost :: enable_if em uma função de membro?
Estou escrevendo uma classe de modelo e quero permitir que um método adicional exista apenas para um determinado tipo de modelo. Atualmente, o método existe para todos os tipos de modelo, mas causa um erro de compilação para todos os outros ...
Iterando sobre uma tupla e resolução do tipo vs parâmetros constantes
Atualmente, estou no processo de escrever sobrecargas aritméticas de operadores para tuplas. O operador itera sobre a tupla para executar a operação em cada um de seus elementos individuais. Aqui está a definição para o operador + =: template< ...
enable_if e operador de conversão?
Alguma chance de usarenable_if com um operador de conversão de tipo? Parece complicado, pois o tipo de retorno e a lista de parâmetros estão implícitos.