Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #120154 > unrolled thread
| Started by | jseigh <jseigh_es00@xemaps.com> |
|---|---|
| First post | 2024-09-21 15:43 -0400 |
| Last post | 2024-09-25 15:23 -0400 |
| Articles | 20 on this page of 258 — 15 participants |
Back to article view | Back to comp.lang.c++
C++ named requirements as concepts jseigh <jseigh_es00@xemaps.com> - 2024-09-21 15:43 -0400
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-22 08:06 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-22 10:45 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-22 08:59 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-22 11:03 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-22 09:08 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-22 11:51 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-22 15:15 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-22 17:33 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-23 07:39 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-23 10:54 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-23 09:32 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-23 11:45 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-23 13:56 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-23 16:00 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-23 14:03 +0000
Re: C++ named requirements as concepts scott@slp53.sl.home (Scott Lurndal) - 2024-09-23 15:48 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-23 17:52 +0200
Re: C++ named requirements as concepts scott@slp53.sl.home (Scott Lurndal) - 2024-09-23 15:47 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-23 17:53 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-24 07:20 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-24 09:33 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-24 08:11 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-24 11:17 +0200
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-24 11:46 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-24 10:52 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-24 12:54 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-24 10:59 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-24 13:05 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-24 11:07 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-24 13:21 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-24 13:51 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-24 15:56 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-24 15:43 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-24 17:48 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-25 07:19 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 11:30 +0200
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-25 09:49 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-25 08:24 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 11:32 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-25 11:15 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 13:30 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-25 12:43 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 14:50 +0200
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-25 14:00 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-25 12:47 +0000
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-25 15:00 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-25 13:22 +0000
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-25 17:12 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-25 15:35 +0000
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-25 19:19 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-26 07:36 +0000
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-25 11:36 +0200
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-09-25 13:11 +0300
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-09-25 13:31 +0300
Re: C++ named requirements as concepts Paavo Helde <eesnimi@osa.pri.ee> - 2024-09-25 13:52 +0300
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-09-25 14:06 +0300
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-25 14:22 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-25 11:12 +0000
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-09-25 14:30 +0300
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-25 14:34 +0200
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 14:38 +0200
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-25 15:01 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-25 12:40 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 13:23 +0200
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 13:33 +0200
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-09-25 14:38 +0300
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 13:45 +0200
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-25 14:36 +0200
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 14:39 +0200
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-25 15:04 +0200
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-09-25 17:14 +0300
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 16:23 +0200
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-25 17:18 +0200
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 17:26 +0200
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-25 17:14 +0200
Re: C++ named requirements as concepts Paavo Helde <eesnimi@osa.pri.ee> - 2024-09-25 21:24 +0300
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 20:37 +0200
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-25 13:49 +0200
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 14:03 +0200
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-25 14:38 +0200
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-09-25 15:17 +0300
Re: C++ named requirements as concepts Paavo Helde <eesnimi@osa.pri.ee> - 2024-09-25 15:49 +0300
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 14:52 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-25 12:55 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 15:08 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-25 13:24 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 15:28 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-25 13:36 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 15:44 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-25 14:11 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 16:14 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-25 15:32 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 17:33 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-25 15:49 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 17:53 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-26 07:34 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-26 10:20 +0200
Re: C++ named requirements as concepts wij <wyniijj5@gmail.com> - 2024-09-26 16:46 +0800
Re: C++ named requirements as concepts wij <wyniijj5@gmail.com> - 2024-09-26 16:51 +0800
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-26 11:20 +0200
Re: C++ named requirements as concepts wij <wyniijj5@gmail.com> - 2024-09-26 19:17 +0800
Re: C++ named requirements as concepts wij <wyniijj5@gmail.com> - 2024-09-26 19:27 +0800
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-26 13:32 +0200
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-09-26 12:23 +0300
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-26 11:25 +0200
Re: C++ named requirements as concepts wij <wyniijj5@gmail.com> - 2024-09-26 19:20 +0800
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-26 10:03 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-26 13:33 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-26 14:09 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-26 16:14 +0200
Re: C++ named requirements as concepts Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-09-27 02:27 -0700
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-27 11:11 +0000
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-27 16:14 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-27 15:25 +0000
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-27 18:24 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-28 09:12 +0000
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-28 17:33 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-28 15:47 +0000
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-29 13:41 +0200
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-29 13:48 +0200
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-09-29 14:49 +0300
Re: C++ named requirements as concepts Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-09-29 11:23 -0700
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.com - 2024-09-30 07:26 +0000
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-09-30 07:40 +0000
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-30 12:24 +0200
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-09-30 15:47 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-30 17:58 +0200
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-30 10:57 +0200
Re: C++ named requirements as concepts Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-09-30 05:29 -0700
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-30 14:34 +0200
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-30 15:21 +0200
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-09-30 16:00 +0000
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-09-30 16:09 +0000
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-09-30 19:43 +0300
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-10-01 07:31 +0000
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-10-01 11:01 +0300
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-01 10:06 +0200
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-10-01 09:58 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-01 12:58 +0200
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-10-01 16:14 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-01 19:43 +0200
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-10-02 07:11 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-02 09:34 +0200
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-10-01 09:57 +0000
Re: C++ named requirements as concepts Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-09-30 10:18 -0700
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-10-01 07:32 +0000
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-30 19:51 +0200
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-10-01 07:36 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-01 10:00 +0200
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-10-01 10:42 +0200
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-10-01 12:53 +0300
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-10-01 10:02 +0000
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-10-01 13:11 +0300
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-10-01 16:13 +0000
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-10-01 21:50 +0300
Re: C++ named requirements as concepts Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-10-01 20:06 -0700
Re: C++ named requirements as concepts User <noreply@user.com> - 2024-10-02 05:47 +0100
Re: C++ named requirements as concepts Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-10-04 06:52 -0700
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-10-04 13:57 +0000
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-10-02 13:02 +0300
Re: C++ named requirements as concepts Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-10-04 06:57 -0700
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-10-06 14:19 +0300
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-10-06 14:22 +0200
Re: C++ named requirements as concepts Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-10-07 09:11 -0700
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-10-07 22:53 +0300
Re: C++ named requirements as concepts Paavo Helde <eesnimi@osa.pri.ee> - 2024-10-08 18:11 +0300
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-10-08 22:48 +0300
Re: C++ named requirements as concepts Paavo Helde <eesnimi@osa.pri.ee> - 2024-10-09 00:12 +0300
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-10-09 01:06 +0300
Re: C++ named requirements as concepts Paavo Helde <eesnimi@osa.pri.ee> - 2024-10-09 08:25 +0300
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-09 08:28 +0200
Re: C++ named requirements as concepts Paavo Helde <eesnimi@osa.pri.ee> - 2024-10-09 10:26 +0300
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-10-09 09:31 +0000
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-10-09 13:58 +0300
Re: C++ named requirements as concepts Paavo Helde <eesnimi@osa.pri.ee> - 2024-10-09 14:39 +0300
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-10-09 19:59 +0300
Re: C++ named requirements as concepts Paavo Helde <eesnimi@osa.pri.ee> - 2024-10-09 22:37 +0300
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-10-10 11:47 +0300
Re: C++ named requirements as concepts Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-10-11 04:58 -0700
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-10-11 16:03 +0300
Re: C++ named requirements as concepts Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-10-12 07:41 -0700
Re: C++ named requirements as concepts Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-10-12 08:18 -0700
Re: C++ named requirements as concepts Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-10-11 03:57 -0700
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-07 19:19 +0200
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-10-02 07:13 +0000
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-10-01 13:06 +0200
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-10-01 10:01 +0000
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-10-01 13:08 +0200
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-10-01 16:15 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-01 19:44 +0200
Re: C++ named requirements as concepts Muttley@DastartdlyHQ.org - 2024-10-01 09:56 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-10-01 13:01 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-29 15:00 +0000
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-09-29 14:37 +0300
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-29 15:42 +0200
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-29 15:47 +0200
Re: C++ named requirements as concepts Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-09-28 04:28 -0700
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-28 13:55 +0000
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-25 15:33 +0000
Re: C++ named requirements as concepts Michael S <already5chosen@yahoo.com> - 2024-09-25 17:16 +0300
Re: C++ named requirements as concepts Paavo Helde <eesnimi@osa.pri.ee> - 2024-09-25 16:22 +0300
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-25 13:34 +0000
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-25 17:27 +0200
Re: C++ named requirements as concepts Paavo Helde <eesnimi@osa.pri.ee> - 2024-09-25 22:37 +0300
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-26 07:38 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-26 10:21 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-26 10:03 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-26 13:29 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-26 14:09 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-26 16:17 +0200
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-25 15:07 +0200
Re: C++ named requirements as concepts Andrey Tarasevich <andreytarasevich@hotmail.com> - 2024-09-26 18:22 -0700
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-25 14:58 +0200
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-25 15:19 +0200
Re: C++ named requirements as concepts "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-24 13:55 -0700
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-24 10:50 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-24 12:53 +0200
Re: C++ named requirements as concepts jseigh <jseigh_es00@xemaps.com> - 2024-09-22 07:58 -0400
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-22 14:10 +0200
Re: C++ named requirements as concepts jseigh <jseigh_es00@xemaps.com> - 2024-09-23 11:08 -0400
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-23 17:21 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-22 15:21 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-22 17:34 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-23 07:40 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-23 10:55 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-23 09:33 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-23 11:46 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-23 13:59 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-23 16:02 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-23 14:05 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-23 16:10 +0200
Re: C++ named requirements as concepts "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-23 12:55 -0700
Re: C++ named requirements as concepts jseigh <jseigh_es00@xemaps.com> - 2024-09-23 16:24 -0400
Re: C++ named requirements as concepts "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-23 14:43 -0700
Re: C++ named requirements as concepts jseigh <jseigh_es00@xemaps.com> - 2024-09-23 18:59 -0400
Re: C++ named requirements as concepts "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-23 16:06 -0700
Re: C++ named requirements as concepts "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-23 16:10 -0700
Re: C++ named requirements as concepts jseigh <jseigh_es00@xemaps.com> - 2024-09-24 09:15 -0400
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-24 07:23 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-24 09:34 +0200
Re: C++ named requirements as concepts Muttley@dastardlyhq.com - 2024-09-24 08:14 +0000
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-24 11:18 +0200
Re: C++ named requirements as concepts jseigh <jseigh_es00@xemaps.com> - 2024-09-24 08:59 -0400
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-24 15:02 +0200
Re: C++ named requirements as concepts "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-24 13:37 -0700
Re: C++ named requirements as concepts Jack <noreply@mandrill.com> - 2024-09-23 00:15 +0000
Re: C++ named requirements as concepts wij <wyniijj5@gmail.com> - 2024-09-23 08:48 +0800
Re: C++ named requirements as concepts David Brown <david.brown@hesbynett.no> - 2024-09-22 11:46 +0200
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-22 13:35 +0200
Re: C++ named requirements as concepts Andrey Tarasevich <andreytarasevich@hotmail.com> - 2024-09-22 11:43 -0700
Re: C++ named requirements as concepts jseigh <jseigh_es00@xemaps.com> - 2024-09-22 17:00 -0400
Re: C++ named requirements as concepts Andrey Tarasevich <andreytarasevich@hotmail.com> - 2024-09-22 14:50 -0700
Re: C++ named requirements as concepts jseigh <jseigh_es00@xemaps.com> - 2024-09-23 10:32 -0400
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-23 16:55 +0200
Re: C++ named requirements as concepts Andrey Tarasevich <andreytarasevich@hotmail.com> - 2024-09-23 08:11 -0700
Re: C++ named requirements as concepts Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-24 08:24 +0200
Re: C++ named requirements as concepts jseigh <jseigh_es00@xemaps.com> - 2024-09-25 15:23 -0400
Page 4 of 13 — ← Prev page 1 2 3 [4] 5 6 … 13 Next page →
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2024-09-25 14:34 +0200 |
| Message-ID | <vd101d$3m0aj$4@dont-email.me> |
| In reply to | #120276 |
On 25/09/2024 13:30, Michael S wrote:
> On Wed, 25 Sep 2024 11:12:45 -0000 (UTC)
> Muttley@dastardlyhq.com wrote:
>
>> On Wed, 25 Sep 2024 13:11:44 +0300
>> Michael S <already5chosen@yahoo.com> boringly babbled:
>>> Below is example of very simple function with very small
>>> template-related bug of sort that people sometimes do in real life.
>>> I tried 3 compilers. Each one produces more than 20 lines of error
>>> messages none of which was enlightening.
>>>
>>> #include <cstdint>
>>> #include <algorithm>
>>>
>>> void my_sort2(uint8_t* buf, int buflen, const uint8_t* trans_tab)
>>> {
>>> struct {
>>> const uint8_t* tab;
>>> bool operator() (uint8_t a, uint8_t b) {
>>> return tab[a] < tab[b];
>>> }
>>> } cmp;
>>> cmp.tab = trans_tab;
>>> std::sort(buf, buf+buflen, &cmp);
>>> }
>>>
>>> I don't know if with conceptized <algorithm> error reporting would
>>> work better. But it is worth a try, because current state is not
>>> satisfactory.
>>
>> My version of Clang produced 305 lines of output. Yet right at the
>> top:
>>
>> t.cc:13:3: warning: template argument uses local type '(unnamed
>> struct at t.cc:6 :3)' [-Wlocal-type-template-args]
>> std::sort(buf, buf+buflen, &cmp);
>>
>> Which is all it needed to print. The other 304 lines of garbage could
>> have been reserved for the -Wall option.
>>
>
> First, it's warning, not error.
> Second, I don't know about you, but I personally have no idea what
> is 'local type' and why it possibly could be a problem.
The "struct {...} cmp" here is a local (anonymous) type. The use of
such types in template arguments might lead to code bloat, as it would
be hard to merge the generated template function instantiations later on
if you have used basically the same local structs multiple times. It's
a stylistic thing which some people might find useful. But it has
absolutely /nothing/ to do with the intentional bug in your code.
> Even if the warning is somehow related to actual bug, which I doubt, the
> relationship is far from obvious.
>
>> For some reason Bonita finds this concept (pun intended) had to
>> understand.
>>
>
[toc] | [prev] | [next] | [standalone]
| From | Bonita Montero <Bonita.Montero@gmail.com> |
|---|---|
| Date | 2024-09-25 14:38 +0200 |
| Message-ID | <vd1083$3mc2q$1@raubtier-asyl.eternal-september.org> |
| In reply to | #120286 |
Am 25.09.2024 um 14:34 schrieb David Brown:
> The "struct {...} cmp" here is a local (anonymous) type. The use of
> such types in template arguments might lead to code bloat, as it would
> be hard to merge the generated template function instantiations later
> on if you have used basically the same local structs multiple times.
This "bloat" actually doesn't hurt since the sort()-function has enough
locality in itself.
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2024-09-25 15:01 +0200 |
| Message-ID | <vd11ir$3mfjo$3@dont-email.me> |
| In reply to | #120289 |
On 25/09/2024 14:38, Bonita Montero wrote:
> Am 25.09.2024 um 14:34 schrieb David Brown:
>
>> The "struct {...} cmp" here is a local (anonymous) type. The use of
>> such types in template arguments might lead to code bloat, as it would
>> be hard to merge the generated template function instantiations later
>> on if you have used basically the same local structs multiple times.
>
> This "bloat" actually doesn't hurt since the sort()-function has enough
> locality in itself.
>
Sure. But I believe that is the reasoning behind this particular clang
warning flag, and I'm sure some people find it useful for some kinds of
code or particular choices of style rules.
[toc] | [prev] | [next] | [standalone]
| From | Muttley@dastardlyhq.com |
|---|---|
| Date | 2024-09-25 12:40 +0000 |
| Message-ID | <vd10cl$3me5h$1@dont-email.me> |
| In reply to | #120276 |
On Wed, 25 Sep 2024 14:30:21 +0300 Michael S <already5chosen@yahoo.com> boringly babbled: >On Wed, 25 Sep 2024 11:12:45 -0000 (UTC) >Muttley@dastardlyhq.com wrote: >> My version of Clang produced 305 lines of output. Yet right at the >> top: >> >> t.cc:13:3: warning: template argument uses local type '(unnamed >> struct at t.cc:6 :3)' [-Wlocal-type-template-args] >> std::sort(buf, buf+buflen, &cmp); >> >> Which is all it needed to print. The other 304 lines of garbage could >> have been reserved for the -Wall option. >> > >First, it's warning, not error. It leads to an error should it just just error there and quit. >Second, I don't know about you, but I personally have no idea what >is 'local type' and why it possibly could be a problem. Well the compiler clearly does so there's no reason the compiler devs couldn't have been more specific.
[toc] | [prev] | [next] | [standalone]
| From | Bonita Montero <Bonita.Montero@gmail.com> |
|---|---|
| Date | 2024-09-25 13:23 +0200 |
| Message-ID | <vd0rqn$3lpgc$1@raubtier-asyl.eternal-september.org> |
| In reply to | #120269 |
Am 25.09.2024 um 12:11 schrieb Michael S:
> #include <cstdint>
> #include <algorithm>
>
> void my_sort2(uint8_t* buf, int buflen, const uint8_t* trans_tab)
> {
> struct {
> const uint8_t* tab;
> bool operator() (uint8_t a, uint8_t b) {
> return tab[a] < tab[b];
> }
> } cmp;
> cmp.tab = trans_tab;
> std::sort(buf, buf+buflen, &cmp);
> }
That's a good example where concepts could help. But the
cmp -object could be shorter if it would be a lambda.
[toc] | [prev] | [next] | [standalone]
| From | Bonita Montero <Bonita.Montero@gmail.com> |
|---|---|
| Date | 2024-09-25 13:33 +0200 |
| Message-ID | <vd0sen$3lpgc$3@raubtier-asyl.eternal-september.org> |
| In reply to | #120269 |
Am 25.09.2024 um 12:11 schrieb Michael S:
> #include <cstdint>
> #include <algorithm>
>
> void my_sort2(uint8_t* buf, int buflen, const uint8_t* trans_tab)
> {
> struct {
> const uint8_t* tab;
> bool operator() (uint8_t a, uint8_t b) {
> return tab[a] < tab[b];
> }
> } cmp;
> cmp.tab = trans_tab;
> std::sort(buf, buf+buflen, &cmp);
> }
How about this ?
void my_sort2 ( uint8_t *buf, int buflen, const uint8_t *trans_tab )
{
sort( buf, buf + buflen, [tab = trans_tab]( uint8_t l, uint8_t r ) {
return tab[l] < tab[r]; } );
}
[toc] | [prev] | [next] | [standalone]
| From | Michael S <already5chosen@yahoo.com> |
|---|---|
| Date | 2024-09-25 14:38 +0300 |
| Message-ID | <20240925143858.00006051@yahoo.com> |
| In reply to | #120278 |
On Wed, 25 Sep 2024 13:33:50 +0200
Bonita Montero <Bonita.Montero@gmail.com> wrote:
> Am 25.09.2024 um 12:11 schrieb Michael S:
>
> > #include <cstdint>
> > #include <algorithm>
> >
> > void my_sort2(uint8_t* buf, int buflen, const uint8_t* trans_tab)
> > {
> > struct {
> > const uint8_t* tab;
> > bool operator() (uint8_t a, uint8_t b) {
> > return tab[a] < tab[b];
> > }
> > } cmp;
> > cmp.tab = trans_tab;
> > std::sort(buf, buf+buflen, &cmp);
> > }
>
> How about this ?
>
> void my_sort2 ( uint8_t *buf, int buflen, const uint8_t *trans_tab )
> {
> sort( buf, buf + buflen, [tab = trans_tab]( uint8_t l,
> uint8_t r ) { return tab[l] < tab[r]; } );
> }
Your post is off topic.
To remind you, the topic is unsatisfactory error reporting of "classic"
non-conceptualized templates, esp. of those in STL.
[toc] | [prev] | [next] | [standalone]
| From | Bonita Montero <Bonita.Montero@gmail.com> |
|---|---|
| Date | 2024-09-25 13:45 +0200 |
| Message-ID | <vd0t4f$3lv7g$1@raubtier-asyl.eternal-september.org> |
| In reply to | #120279 |
Am 25.09.2024 um 13:38 schrieb Michael S:
> On Wed, 25 Sep 2024 13:33:50 +0200
> Bonita Montero <Bonita.Montero@gmail.com> wrote:
>
>> Am 25.09.2024 um 12:11 schrieb Michael S:
>>
>>> #include <cstdint>
>>> #include <algorithm>
>>>
>>> void my_sort2(uint8_t* buf, int buflen, const uint8_t* trans_tab)
>>> {
>>> struct {
>>> const uint8_t* tab;
>>> bool operator() (uint8_t a, uint8_t b) {
>>> return tab[a] < tab[b];
>>> }
>>> } cmp;
>>> cmp.tab = trans_tab;
>>> std::sort(buf, buf+buflen, &cmp);
>>> }
>>
>> How about this ?
>>
>> void my_sort2 ( uint8_t *buf, int buflen, const uint8_t *trans_tab )
>> {
>> sort( buf, buf + buflen, [tab = trans_tab]( uint8_t l,
>> uint8_t r ) { return tab[l] < tab[r]; } );
>> }
>
> Your post is off topic.
> To remind you, the topic is unsatisfactory error reporting of "classic"
> non-conceptualized templates, esp. of those in STL.
>
>
The topic develops with each step in the thread.
That's true for most of those large threads.
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2024-09-25 14:36 +0200 |
| Message-ID | <vd1051$3m0aj$5@dont-email.me> |
| In reply to | #120280 |
On 25/09/2024 13:45, Bonita Montero wrote:
> Am 25.09.2024 um 13:38 schrieb Michael S:
>> On Wed, 25 Sep 2024 13:33:50 +0200
>> Bonita Montero <Bonita.Montero@gmail.com> wrote:
>>
>>> Am 25.09.2024 um 12:11 schrieb Michael S:
>>>
>>>> #include <cstdint>
>>>> #include <algorithm>
>>>>
>>>> void my_sort2(uint8_t* buf, int buflen, const uint8_t* trans_tab)
>>>> {
>>>> struct {
>>>> const uint8_t* tab;
>>>> bool operator() (uint8_t a, uint8_t b) {
>>>> return tab[a] < tab[b];
>>>> }
>>>> } cmp;
>>>> cmp.tab = trans_tab;
>>>> std::sort(buf, buf+buflen, &cmp);
>>>> }
>>>
>>> How about this ?
>>>
>>> void my_sort2 ( uint8_t *buf, int buflen, const uint8_t *trans_tab )
>>> {
>>> sort( buf, buf + buflen, [tab = trans_tab]( uint8_t l,
>>> uint8_t r ) { return tab[l] < tab[r]; } );
>>> }
>>
>> Your post is off topic.
>> To remind you, the topic is unsatisfactory error reporting of "classic"
>> non-conceptualized templates, esp. of those in STL.
>>
>>
>
> The topic develops with each step in the thread.
> That's true for most of those large threads.
>
That's reasonable if you have something useful to say. Telling people
that they can use lambdas here is /not/ useful. We all know we could
use lambdas, but that is totally missing the point of the discussion.
[toc] | [prev] | [next] | [standalone]
| From | Bonita Montero <Bonita.Montero@gmail.com> |
|---|---|
| Date | 2024-09-25 14:39 +0200 |
| Message-ID | <vd10ai$3mc2q$2@raubtier-asyl.eternal-september.org> |
| In reply to | #120287 |
Am 25.09.2024 um 14:36 schrieb David Brown: > That's reasonable if you have something useful to say. Telling people > that they can use lambdas here is /not/ useful. We all know we could > use lambdas, but that is totally missing the point of the discussion. I guess Michael S doesn't know this, otherwrite he would have used a lambda himself. That's pre-C++11-style and maybe his knowledge is from then.
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2024-09-25 15:04 +0200 |
| Message-ID | <vd11or$3mfjo$4@dont-email.me> |
| In reply to | #120290 |
On 25/09/2024 14:39, Bonita Montero wrote: > Am 25.09.2024 um 14:36 schrieb David Brown: > >> That's reasonable if you have something useful to say. Telling people >> that they can use lambdas here is /not/ useful. We all know we could >> use lambdas, but that is totally missing the point of the discussion. > > I guess Michael S doesn't know this, otherwrite he would have used > a lambda himself. That's pre-C++11-style and maybe his knowledge is > from then. > Seriously? Sometimes I wonder if you ever bother reading other people's posts. Of /course/ Michael knows he could use a lambda there. He was not writing code for a sorting function - he was writing a constructed code snippet to show that template usage can lead to excessive error messages, and was asking if concepts could be used to reduce that challenge when using real-world compilers. It was a fine example for the purpose.
[toc] | [prev] | [next] | [standalone]
| From | Michael S <already5chosen@yahoo.com> |
|---|---|
| Date | 2024-09-25 17:14 +0300 |
| Message-ID | <20240925171438.00000cd5@yahoo.com> |
| In reply to | #120301 |
On Wed, 25 Sep 2024 15:04:27 +0200 David Brown <david.brown@hesbynett.no> wrote: > On 25/09/2024 14:39, Bonita Montero wrote: > > Am 25.09.2024 um 14:36 schrieb David Brown: > > > >> That's reasonable if you have something useful to say. Telling > >> people that they can use lambdas here is /not/ useful. We all > >> know we could use lambdas, but that is totally missing the point > >> of the discussion. > > > > I guess Michael S doesn't know this, otherwrite he would have used > > a lambda himself. That's pre-C++11-style and maybe his knowledge is > > from then. > > > > Seriously? Sometimes I wonder if you ever bother reading other > people's posts. > > Of /course/ Michael knows he could use a lambda there. [O.T.] I know that they can be used, but I never use lambdas myself. Because of that my knowledge is theoretical and I am not fluent with syntax. Why I am not using lambdas myself? Because I think that lambda with captures makes code harder to follow and to understand (that's my 1st hand experience from reading big corpus of Ada83 code. Ada83 does not have lambdas, but it has nested procedures that can access parent's variable, similarly to lambda with [&] default capture). And lambda without captures does not provide enough of advantage over named functions to bother with mastering new concept.
[toc] | [prev] | [next] | [standalone]
| From | Bonita Montero <Bonita.Montero@gmail.com> |
|---|---|
| Date | 2024-09-25 16:23 +0200 |
| Message-ID | <vd16cp$3na5d$1@raubtier-asyl.eternal-september.org> |
| In reply to | #120313 |
Am 25.09.2024 um 16:14 schrieb Michael S: > I know that they can be used, but I never use lambdas myself. That's nearly the same as what I've said. > Why I am not using lambdas myself? Because I think that lambda with > captures makes code harder to follow and to understand (...). Lambdas are much less code and for me are therefore more readable. > And lambda without captures does not provide enough of advantage > over named functions to bother with mastering new concept. Named functions haven't state.
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2024-09-25 17:18 +0200 |
| Message-ID | <vd19jo$3nh00$3@dont-email.me> |
| In reply to | #120316 |
On 25/09/2024 16:23, Bonita Montero wrote: > Am 25.09.2024 um 16:14 schrieb Michael S: > >> I know that they can be used, but I never use lambdas myself. > > That's nearly the same as what I've said. In the sense that saying something completely different is "nearly" the same. You claimed Michael didn't know that he could use lambdas, otherwise he would have used them. It turns out that he /did/ know you could use a lambda, but intentionally did not - because using a lambda here would be worse than useless. > >> Why I am not using lambdas myself? Because I think that lambda with >> captures makes code harder to follow and to understand (...). > > Lambdas are much less code and for me are therefore more readable. I agree that lambdas can be useful and make code clearer when used appropriately. But a lambda in Michael's example code would not have shown the issue he was demonstrating. > >> And lambda without captures does not provide enough of advantage >> over named functions to bother with mastering new concept. > Named functions haven't state. > Again, your failure to read is obvious.
[toc] | [prev] | [next] | [standalone]
| From | Bonita Montero <Bonita.Montero@gmail.com> |
|---|---|
| Date | 2024-09-25 17:26 +0200 |
| Message-ID | <vd1a2b$3npip$2@raubtier-asyl.eternal-september.org> |
| In reply to | #120319 |
Am 25.09.2024 um 17:18 schrieb David Brown: > On 25/09/2024 16:23, Bonita Montero wrote: >> Am 25.09.2024 um 16:14 schrieb Michael S: >> >>> I know that they can be used, but I never use lambdas myself. >> >> That's nearly the same as what I've said. > > In the sense that saying something completely different is "nearly" the > same. > > You claimed Michael didn't know that he could use lambdas, otherwise he > would have used them. It turns out that he /did/ know you could use a > lambda, but intentionally did not - because using a lambda here would be > worse than useless. He knows about lambdas in principle, but doesn't know how to use them. In the end, that's almost the same as not knowing what lambdas are. His statements about lambdas are so vague that one can assume that he hasn't really looked into them at all. > But a lambda in Michael's example code would not have shown the issue he > was demonstrating. It's the function that uses a a function-object that can be concepted, but not the function-object itself.
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2024-09-25 17:14 +0200 |
| Message-ID | <vd19c1$3nh00$2@dont-email.me> |
| In reply to | #120313 |
On 25/09/2024 16:14, Michael S wrote: > On Wed, 25 Sep 2024 15:04:27 +0200 > David Brown <david.brown@hesbynett.no> wrote: > >> On 25/09/2024 14:39, Bonita Montero wrote: >>> Am 25.09.2024 um 14:36 schrieb David Brown: >>> >>>> That's reasonable if you have something useful to say. Telling >>>> people that they can use lambdas here is /not/ useful. We all >>>> know we could use lambdas, but that is totally missing the point >>>> of the discussion. >>> >>> I guess Michael S doesn't know this, otherwrite he would have used >>> a lambda himself. That's pre-C++11-style and maybe his knowledge is >>> from then. >>> >> >> Seriously? Sometimes I wonder if you ever bother reading other >> people's posts. >> >> Of /course/ Michael knows he could use a lambda there. > > [O.T.] > I know that they can be used, but I never use lambdas myself. > Because of that my knowledge is theoretical and I am not fluent with > syntax. > > Why I am not using lambdas myself? Because I think that lambda with > captures makes code harder to follow and to understand (that's my 1st > hand experience from reading big corpus of Ada83 code. Ada83 does not > have lambdas, but it has nested procedures that can access parent's > variable, similarly to lambda with [&] default capture). > And lambda without captures does not provide enough of advantage over > named functions to bother with mastering new concept. > It's maybe worth having another thread about the pros and cons of lambdas, but that really should be a new thread.
[toc] | [prev] | [next] | [standalone]
| From | Paavo Helde <eesnimi@osa.pri.ee> |
|---|---|
| Date | 2024-09-25 21:24 +0300 |
| Message-ID | <vd1khb$3ph2n$1@dont-email.me> |
| In reply to | #120313 |
On 25.09.2024 17:14, Michael S wrote: > Why I am not using lambdas myself? Because I think that lambda with > captures makes code harder to follow and to understand (that's my 1st > hand experience from reading big corpus of Ada83 code. Ada83 does not > have lambdas, but it has nested procedures that can access parent's > variable, similarly to lambda with [&] default capture). That's why in production code one should generally not use lambda with the [&] or [=] blanket captures.
[toc] | [prev] | [next] | [standalone]
| From | Bonita Montero <Bonita.Montero@gmail.com> |
|---|---|
| Date | 2024-09-25 20:37 +0200 |
| Message-ID | <vd1l90$3pn27$1@raubtier-asyl.eternal-september.org> |
| In reply to | #120333 |
Am 25.09.2024 um 20:24 schrieb Paavo Helde: > On 25.09.2024 17:14, Michael S wrote: > >> Why I am not using lambdas myself? Because I think that lambda with >> captures makes code harder to follow and to understand (that's my 1st >> hand experience from reading big corpus of Ada83 code. Ada83 does not >> have lambdas, but it has nested procedures that can access parent's >> variable, similarly to lambda with [&] default capture). > > That's why in production code one should generally not use lambda with > the [&] or [=] blanket captures. When I use lambdas to prevent redundant code inside a function I always use [&]. I've no problems with that since when I would write the code otherwise multiple times there's also nothing separate which says which outer variables are used. If someone wants to know which outer variables a lambda uses he shouls simply remove the & and then the referred vari- ables become underlined by the IDE. But if I copy / move complex types I write explicit =xyz or x=y decla- rations.
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2024-09-25 13:49 +0200 |
| Message-ID | <vd0tc7$3m0aj$1@dont-email.me> |
| In reply to | #120269 |
On 25/09/2024 12:11, Michael S wrote:
> On Wed, 25 Sep 2024 08:24:19 -0000 (UTC)
> Muttley@dastardlyhq.com wrote:
>
>> On Wed, 25 Sep 2024 09:49:49 +0200
>> David Brown <david.brown@hesbynett.no> boringly babbled:
>>> looks up. The error message is likely to be complex because the
>>> compiler doesn't know where you made the mistake, and tries to list
>>>
>>
>> It knows what line invoked the error so all it needs to do is print
>> that.
>>
>>> Using concepts, however, means the error is found on the first
>>> attempt to use the type "A<T>" - the compiler can give far clearer
>>> information. It can say "On line x, you tried to make A<T>, but type
>>> T does not fulfil the requirement you gave on line y when you
>>> defined class A".
>>
>> Tbh if you want to massage templating that much then don't use it in
>> the first place, just hard code the functions.
>>
>>> Competition is a great thing). And you sometimes want more
>>> information, sometimes less. But concepts give the programmer and
>>> the compiler a far better starting point.
>>
>> This is where compiler command line switches should come into play.
>>
>>> They also allow neater and clearer code with constrained auto
>>> declarations, letting you specify something between "this /exact/
>>> type" and "whatever seems to fit".
>>
>> Don't use auto in those scenarios then. Its always nicer when people
>> put the specific type in the code anyway.
>>
>
> Below is example of very simple function with very small
> template-related bug of sort that people sometimes do in real life.
> I tried 3 compilers. Each one produces more than 20 lines of error
> messages none of which was enlightening.
>
> #include <cstdint>
> #include <algorithm>
>
> void my_sort2(uint8_t* buf, int buflen, const uint8_t* trans_tab)
> {
> struct {
> const uint8_t* tab;
> bool operator() (uint8_t a, uint8_t b) {
> return tab[a] < tab[b];
> }
> } cmp;
> cmp.tab = trans_tab;
> std::sort(buf, buf+buflen, &cmp);
> }
>
> I don't know if with conceptized <algorithm> error reporting would
> work better. But it is worth a try, because current state is not
> satisfactory.
>
>
>
This is a rough attempt at using concepts here. I made an "xsort"
template that checks (at compile time, obviously) a requirement and
otherwise passes things on to std::sort. The "ComparisonFunctionObject"
concept checks that you can call the object with two values of a given
type and get a result that can be converted to a bool. The requirement
for the Compare parameter to xsort is that this concept must be
satisfied with the type you get from dereferencing the iterators.
The error messages you get are a lot shorter and clearer. There's still
room for improvement, as always, but it is a /big/ step forward.
If you think a particular kind of error - such as using a pointer to the
comparison function object instead of the object itself - is common, you
can add extra checks to make the errors even clearer.
<https://godbolt.org/z/jzqeh8enG>
#include <concepts>
#include <type_traits>
#include <cstdint>
#include <algorithm>
template <class T>
concept Not_pointer = !std::is_pointer_v<T>;
template<class Compare, class T>
concept ComparisonFunctionObject = requires (T a, T b)
{
{ Compare()(a, b) } -> std::convertible_to<bool>;
};
template< class RandomIt, class Compare >
requires
#if 1 // <- Change this
Not_pointer<Compare> &&
#endif
ComparisonFunctionObject<Compare, std::remove_pointer_t<RandomIt> >
void xsort( RandomIt first, RandomIt last, Compare comp ) {
std::sort(first, last, comp);
}
void my_sort2(uint8_t* buf, int buflen, const uint8_t* trans_tab)
{
struct {
const uint8_t* tab;
bool operator() (uint8_t a, uint8_t b) {
return tab[a] < tab[b];
}
} cmp;
cmp.tab = trans_tab;
xsort(buf, buf+buflen, cmp);
xsort(buf, buf+buflen, &cmp);
}
[toc] | [prev] | [next] | [standalone]
| From | Bonita Montero <Bonita.Montero@gmail.com> |
|---|---|
| Date | 2024-09-25 14:03 +0200 |
| Message-ID | <vd0u61$3m24b$1@raubtier-asyl.eternal-september.org> |
| In reply to | #120281 |
Am 25.09.2024 um 13:49 schrieb David Brown:
> template<class Compare, class T>
> concept ComparisonFunctionObject = requires (T a, T b)
> {
> { Compare()(a, b) } -> std::convertible_to<bool>;
> };
This may fail with a lambda with capture, since the lambda isn't
default-constructible but just moveable or copyable. So it should
look like this:
template<class Compare, class T>
concept ComparisonFunctionObject = requires (Compare cmp, T a, T b)
{
{ cmp(a, b) } -> std::convertible_to<bool>;
};
[toc] | [prev] | [next] | [standalone]
Page 4 of 13 — ← Prev page 1 2 3 [4] 5 6 … 13 Next page →
Back to top | Article view | comp.lang.c++
csiph-web