« first day (3100 days earlier)      last day (23 days later) » 
06:00 - 16:0016:00 - 17:00

6:15 AM
A las güenas :-)
Asco de jueves :-(
 
 
2 hours later…
7:46 AM
@Trauma Qt funciona y opino que fomenta malas prácticas a la hora de programar.
@Trauma No lo se ¿Quieres que le pregunte?
 
@PaperBirdMaster Pues a mi me gustan las señales :-)
@PaperBirdMaster jejeje ... si es que estás mas perdido que el barco del arroz
 
@Trauma A mi también, pero lo que no me gusta es que ocultan los constructos reales que hay detrás ¿Por qué inventarse una sintaxis nueva con incluso palabras clave y colarlas detrás de "magia del compilador" pudiendo publicar una cabecera con funciones que hacen lo mismo?
@Trauma Opino que estoy más perdido que el melocotón del interferómetro.
 
XDDD
A ver, Qt tiene ya unos cuantos añitos encima
Cuando lo sacaron, pues me imagino que fue la mejor opción
 
@Trauma Cuando lo sacaron no hicieron nada que no pudiera hacerse con C++ plano.
 
Quejica ;-p
 
7:52 AM
@Trauma Cosas de la edad, a más viejo más cascarrabias.
 
Oye @PaperBirdMaster ¿ Como llevas la paternidad ?
 
@Trauma Por cierto ¿Qué necesitabas?
@Trauma A-G-O-T-A-D-O-R
 
Que no se usar el enable_if :-(
@PaperBirdMaster XDDDDDDD
Tranquilo, luego empeora xD
 
@Trauma A mi se me olvidó cómo se usa cuando llegaron los conceptos xD pero puedo intentar ayudarte.
@Trauma Yiiipiiii.
 
Si es que llevo mas de 1 año sin programar en C++
Se me ha olvidado :-(
 
7:53 AM
¿En qué estándar te toca trabajar?
 
En el curro estamos con el 17
(creo)
 
Ok ¿y qué necesitas hacer?
 
ah, dices con lo mio y el enable_if
Eso es en el 11
Que me está entrando por donde no quiero que me entre xDD
Ah, guay, está en wandbox
Carajo, que no me salia para compartir el enlace
Ya te digo que no se usar el enable_if :'-(
 
Perdona, me ha llamado un compañero de trabajo y estoy ahora liado.
 
Sin problema
Si te aburres y le quires echar un ojo, pues gay
 
8:39 AM
A ver, me cuesta entender el código, pero en el error se queja de que falta un operador paréntesis: error: no match for call to '(tu tipo de datos) ()'
Si lo añades el error cambia, pero ahora tengo que mirar otra cosa del curro :(
 
9:20 AM
@PaperBirdMaster Ya, pero quiero que se use la primera función cuando se usa ese código de ejemplo
osea, cuando intentas enganchar una Signal con otra
P'a ahorrarme el operator()
 
Ah vale, ya veo la intención. Es raro que entre por la sobrecarta de rvr en lugar de por la referencia constante.
 
@PaperBirdMaster Ese es el problema
Entiendo que la segunda versión se lo traga todo, pero para eso está el enable_if
y se lo pasa por el forro
 
Ah, claro. Falla la instanciación de la versión cr (gracias a enable_if) por lo que la única instancia de la misma función restante es la de rvr xD
 
¿ ?
también probé a usar el remove_const, pero fallaba igual
 
9:37 AM
El enable_if es un mecanismo para explotar la característica de SFINAE (substitution failure is not an error), falla la substitución de parámetros en la primera versión entonces toda esa función deja de existir en esa instancia, así que lo único que puede tragar un parámetro de tipo HANDLER es la función rvr.
 
y yo quiero que pase justo lo contrario cuando se le pasa un Signal como argumento
que falle la 2ª y entre por la primera
osease, que no se porqué falla el primero
 
9:48 AM
Ah copón, haberlo dicho antes XD
 
hiñe
joé
pues crei haber sido claro xDDD
 
Para eso simplemente usa name lookup, no necesitas negar nada
 
¿¿ Solo con ponerle el using, ya va ??
ah, vale. Y le has cambiado el tipo.
al argumento
Guay :-)
¡ Puto amo !
 
@Trauma Nooo, esos using son para mi comodidad.
He quitado la negación del enable_if en la versión rvr
De esa manera ambas versiones de la función se instancian cuando is_same se cumple pero se escoge la primera porque cr se ajusta al parámetro recibido mejor que rvr.
 
joé
Eso es justo lo que yo quería hacer :-)
A ver si lo puedo mirar con detenimiento, para pillarle el truco :-)
 
 
2 hours later…
11:43 AM
jejeje ... @PaperBirdMaster ahora no deja pasarle un puntero a función como argumento al connect( ).
Que jartico toy de las template< > xDDD
 
12:25 PM
menos mal que aparecio el paper y alguien arreglo ese algoritmo...
 
@Trauma Código plz.
 
 
1 hour later…
1:52 PM
Voy
Que tenía reu de 14 a 15
Ese es el código completo que estoy usando
 
@Trauma al final cuál es la solución?
 
El Paper me ha dado una para el código de la pregunta. Pero eso era solo un mcve, en el código completo vuelve a fallar
El código completo tiene otro caso
Si es que no se usar bien el enable_if :'-(
 
 
1 hour later…
3:31 PM
@Trauma y que dice ChatGPT???
preguntale a ver si de casualidad te puede ayudar ...
 
3:43 PM
@Trauma Mmmhhh… no lo pillo, veo obvio que no funcione porque un fptr no es un Signal<T>.
 
@PaperBirdMaster Pues yo no lo veo, sorry.
Debería entrar por la 2
 
A ver, todas las versiones (de un sólo parámetro) de connect reciben un HANDLER, el cuál quieres que sea (is_same) un class Signal<…>. ¿Cuántos punteros a función pueden ser un class Signal<…>?
 
no no
hay 2 funciones con 1 solo argumento. Una (la primera) quiero que aplique solo para Signal
la segunda, que aplique para cualquier otra cosa
 
@Trauma Debo estar ciego, sólo veo dos versiones de un sólo parámetro de connect, una en la línea 15 y la otra en la línea 23.
 
si, correcto. Es lo que he dicho
6 mins ago, by Trauma
hay 2 funciones con 1 solo argumento. Una (la primera) quiero que aplique solo para Signal
 
3:55 PM
Por cierto using SizeType = decltype(sizeof(0)) es más corto que using SizeType = decltype( std::vector< FunctionType >( ).size( ) ); y equivalente.
 
¿ Y porqué de 0 ?
 
@Trauma Ah, copón, la espesez. Pues repito la pregunta: ¿Cuántos punteros a función pueden ser un class Signal<…>?
 
ninguno
 
@Trauma Porque es corto, pero si te quieres complicar: `using SizeType = decltype(sizeof(nullptr));
 
y porqué nullptr ?
En todo caso, typename vector< XXX >::size_type
 
3:57 PM
@Trauma Entonces ¿cómo quieres que funcione llamando a una connect sobre algo que no puede entrar en esa función?
 
pues que entre por la segunda ¿ no ?
la segunda es un HANDLER &&
 
@Trauma Porque es un literal elemental de lenguaje, no necesitas incluir nada para que funcione.
 
vale, pero yo quiero el tipo que se usa en vector< >
que en principio puede ser cualquiera sin signo
 
@Trauma No. Porque HANDLER tiene que ser (is_same) un Signal<…> (tu propia especificación) y por lo tanto nunca será un tipo().
 
jejeje ... ya hemos llegado al problema :-)
 
3:59 PM
@Trauma El tipo que se usa en vector es std::size_t que es por definición el retorno de sizeof.
 
Si es un signal, que use la primera versión
 
06:00 - 16:0016:00 - 17:00

« first day (3100 days earlier)      last day (23 days later) »