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 11 of 13 — ← Prev page 1 … 9 10 [11] 12 13 Next page →
| From | Michael S <already5chosen@yahoo.com> |
|---|---|
| Date | 2024-09-25 17:16 +0300 |
| Message-ID | <20240925171646.000019ae@yahoo.com> |
| In reply to | #120312 |
On Wed, 25 Sep 2024 14:11:44 -0000 (UTC) Muttley@dastardlyhq.com wrote: > On Wed, 25 Sep 2024 15:44:21 +0200 > Bonita Montero <Bonita.Montero@gmail.com> boringly babbled: > >Am 25.09.2024 um 15:36 schrieb Muttley@dastardlyhq.com: > > > >> If you're writing C++ you're not doing functional programming, > >> period. > > > >C++ supports functional programming since C++11, but doesn't mandate > >pure functional programming. > > Functional style programming != functional programming. > Don't be ridiculous. If you can.
[toc] | [prev] | [next] | [standalone]
| From | Paavo Helde <eesnimi@osa.pri.ee> |
|---|---|
| Date | 2024-09-25 16:22 +0300 |
| Message-ID | <vd12r4$3mksv$1@dont-email.me> |
| In reply to | #120297 |
On 25.09.2024 15:55, Muttley@dastardlyhq.com wrote: > On Wed, 25 Sep 2024 15:49:15 +0300 > Paavo Helde <eesnimi@osa.pri.ee> boringly babbled: >> Callback functions are a C thing. In C++ we have functors and lambdas. >> Over the years I have removed all ancient callback functions from my >> code and replaced by functors or lambdas, so your "most common use case" > > What for? They usually compile down to the same code at the end and lambdas > are only useful if that function is only used in that one place. If its used > more than once then a function pointer is more useful and neater. One can pack state with a lambda. With a callback function one needs to pass state via an extra parameter, which is clumsy, error-prone and is not supported by STL. If you want reuse, you can call a common function from the lambda, it's not like this is prohibited or something. >> In this example (a one-line sort helper) a lambda is the superior >> solution anyway. > > Why? Because the sorting criteria is right there in the code where the sorting happens, and one also avoids one of the two most hard problems in computer science (naming things - https://martinfowler.com/bliki/TwoHardThings.html).
[toc] | [prev] | [next] | [standalone]
| From | Muttley@dastardlyhq.com |
|---|---|
| Date | 2024-09-25 13:34 +0000 |
| Message-ID | <vd13h8$3ms85$1@dont-email.me> |
| In reply to | #120305 |
On Wed, 25 Sep 2024 16:22:43 +0300 Paavo Helde <eesnimi@osa.pri.ee> boringly babbled: >On 25.09.2024 15:55, Muttley@dastardlyhq.com wrote: >> On Wed, 25 Sep 2024 15:49:15 +0300 >> Paavo Helde <eesnimi@osa.pri.ee> boringly babbled: >>> Callback functions are a C thing. In C++ we have functors and lambdas. >>> Over the years I have removed all ancient callback functions from my >>> code and replaced by functors or lambdas, so your "most common use case" >> >> What for? They usually compile down to the same code at the end and lambdas >> are only useful if that function is only used in that one place. If its used >> more than once then a function pointer is more useful and neater. > >One can pack state with a lambda. With a callback function one needs to >pass state via an extra parameter, which is clumsy, error-prone and is You think that makes any difference at the assembler level? >If you want reuse, you can call a common function from the lambda, it's >not like this is prohibited or something. I'm not saying lambdas shouldn't be used, but I've seen a fair amount of code with the same lambda code being used in different functions instead of just writing one function and passing a function pointer. Its messy. >>> In this example (a one-line sort helper) a lambda is the superior >>> solution anyway. >> >> Why? > >Because the sorting criteria is right there in the code where the >sorting happens, and one also avoids one of the two most hard problems >in computer science (naming things - >https://martinfowler.com/bliki/TwoHardThings.html). Thats not why, thats "because I prefer it".
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2024-09-25 17:27 +0200 |
| Message-ID | <vd1a4g$3nh00$4@dont-email.me> |
| In reply to | #120309 |
On 25/09/2024 15:34, Muttley@dastardlyhq.com wrote: > On Wed, 25 Sep 2024 16:22:43 +0300 > Paavo Helde <eesnimi@osa.pri.ee> boringly babbled: >> On 25.09.2024 15:55, Muttley@dastardlyhq.com wrote: >>> On Wed, 25 Sep 2024 15:49:15 +0300 >>> Paavo Helde <eesnimi@osa.pri.ee> boringly babbled: >>>> Callback functions are a C thing. In C++ we have functors and lambdas. >>>> Over the years I have removed all ancient callback functions from my >>>> code and replaced by functors or lambdas, so your "most common use case" >>> >>> What for? They usually compile down to the same code at the end and lambdas >>> are only useful if that function is only used in that one place. If its used >>> more than once then a function pointer is more useful and neater. >> >> One can pack state with a lambda. With a callback function one needs to >> pass state via an extra parameter, which is clumsy, error-prone and is > > You think that makes any difference at the assembler level? > Sometimes there is a difference, sometimes not. Typically if you compare a C-style callback function pointer with a void* parameter, to a C++ style function object (either an explicit class like Michael's example, or a lambda with capture), the C code will result in a single generic function while the C++ code will have multiple specialised functions for each type used. If you have lots of uses with different types, the C code will be smaller in total but slower, and if you only have one or a few types, the C++ code will be faster and smaller. But sometimes there is no significant difference in the results. However, the intention is to improve the source code, not just the generated object code. >> If you want reuse, you can call a common function from the lambda, it's >> not like this is prohibited or something. > > I'm not saying lambdas shouldn't be used, but I've seen a fair amount of > code with the same lambda code being used in different functions instead of > just writing one function and passing a function pointer. Its messy. > There are no features that can't be misused or used to write messier code. >>>> In this example (a one-line sort helper) a lambda is the superior >>>> solution anyway. >>> >>> Why? >> >> Because the sorting criteria is right there in the code where the >> sorting happens, and one also avoids one of the two most hard problems >> in computer science (naming things - >> https://martinfowler.com/bliki/TwoHardThings.html). > > Thats not why, thats "because I prefer it". > It seems to me to be a good reason why he prefers lambdas (in cases like this one - if the purpose of the code had been to do some sorting rather than to show how bad error messages can be).
[toc] | [prev] | [next] | [standalone]
| From | Paavo Helde <eesnimi@osa.pri.ee> |
|---|---|
| Date | 2024-09-25 22:37 +0300 |
| Message-ID | <vd1op1$3q40f$1@dont-email.me> |
| In reply to | #120309 |
On 25.09.2024 16:34, Muttley@dastardlyhq.com wrote: > On Wed, 25 Sep 2024 16:22:43 +0300 > Paavo Helde <eesnimi@osa.pri.ee> boringly babbled: >> On 25.09.2024 15:55, Muttley@dastardlyhq.com wrote: >>> On Wed, 25 Sep 2024 15:49:15 +0300 >>> Paavo Helde <eesnimi@osa.pri.ee> boringly babbled: >>>> Callback functions are a C thing. In C++ we have functors and lambdas. >>>> Over the years I have removed all ancient callback functions from my >>>> code and replaced by functors or lambdas, so your "most common use case" >>> >>> What for? They usually compile down to the same code at the end and lambdas >>> are only useful if that function is only used in that one place. If its used >>> more than once then a function pointer is more useful and neater. >> >> One can pack state with a lambda. With a callback function one needs to >> pass state via an extra parameter, which is clumsy, error-prone and is > > You think that makes any difference at the assembler level? Why should it make any difference at the assembler level? Programming languages are meant for people, both for writing and reading the code. I agree that if someone is not familiar with C++ lambdas, one might feel themselves lost as they do not immediately understand what the code does. But this can be easily alleviated by spending 30 minutes for actually learning the lambda syntax.
[toc] | [prev] | [next] | [standalone]
| From | Muttley@dastardlyhq.com |
|---|---|
| Date | 2024-09-26 07:38 +0000 |
| Message-ID | <vd330s$3nfo$1@dont-email.me> |
| In reply to | #120336 |
On Wed, 25 Sep 2024 22:37:04 +0300 Paavo Helde <eesnimi@osa.pri.ee> boringly babbled: >On 25.09.2024 16:34, Muttley@dastardlyhq.com wrote: >> On Wed, 25 Sep 2024 16:22:43 +0300 >> Paavo Helde <eesnimi@osa.pri.ee> boringly babbled: >>> On 25.09.2024 15:55, Muttley@dastardlyhq.com wrote: >>>> On Wed, 25 Sep 2024 15:49:15 +0300 >>>> Paavo Helde <eesnimi@osa.pri.ee> boringly babbled: >>>>> Callback functions are a C thing. In C++ we have functors and lambdas. >>>>> Over the years I have removed all ancient callback functions from my >>>>> code and replaced by functors or lambdas, so your "most common use case" >>>> >>>> What for? They usually compile down to the same code at the end and lambdas > >>>> are only useful if that function is only used in that one place. If its >used >>>> more than once then a function pointer is more useful and neater. >>> >>> One can pack state with a lambda. With a callback function one needs to >>> pass state via an extra parameter, which is clumsy, error-prone and is >> >> You think that makes any difference at the assembler level? > >Why should it make any difference at the assembler level? Programming >languages are meant for people, both for writing and reading the code. I only mentioned it because efficiency was mentioned at one point. >I agree that if someone is not familiar with C++ lambdas, one might feel >themselves lost as they do not immediately understand what the code >does. But this can be easily alleviated by spending 30 minutes for >actually learning the lambda syntax. The lambda syntax is another mess which only adds to the mess modern C++ has become. I'm pretty sure they could have come up with something much tidier that doesn't look like the proverbial explosion in a typewriter factory.
[toc] | [prev] | [next] | [standalone]
| From | Bonita Montero <Bonita.Montero@gmail.com> |
|---|---|
| Date | 2024-09-26 10:21 +0200 |
| Message-ID | <vd35ib$42ms$2@raubtier-asyl.eternal-september.org> |
| In reply to | #120346 |
Am 26.09.2024 um 09:38 schrieb Muttley@dastardlyhq.com: > The lambda syntax is another mess which only adds to the mess modern C++ > has become. ... There's nothing complicated with the lambda-syntax.
[toc] | [prev] | [next] | [standalone]
| From | Muttley@dastardlyhq.com |
|---|---|
| Date | 2024-09-26 10:03 +0000 |
| Message-ID | <vd3bib$4vjt$1@dont-email.me> |
| In reply to | #120351 |
On Thu, 26 Sep 2024 10:21:38 +0200 Bonita Montero <Bonita.Montero@gmail.com> boringly babbled: >Am 26.09.2024 um 09:38 schrieb Muttley@dastardlyhq.com: > >> The lambda syntax is another mess which only adds to the mess modern C++ >> has become. ... > >There's nothing complicated with the lambda-syntax. It could be cleaner but the C++ steering committees obsessive desire to avoid new keywords at all costs results in the mess we have today.
[toc] | [prev] | [next] | [standalone]
| From | Bonita Montero <Bonita.Montero@gmail.com> |
|---|---|
| Date | 2024-09-26 13:29 +0200 |
| Message-ID | <vd3gjb$5onq$1@raubtier-asyl.eternal-september.org> |
| In reply to | #120364 |
Am 26.09.2024 um 12:03 schrieb Muttley@dastardlyhq.com: > It could be cleaner but the C++ steering committees obsessive desire > to avoid new keywords at all costs results in the mess we have today. I've got no problems with the lambda, syntax, I like its shortness and I know every side-effect since I've read the book "C++ Lambda Story" from Bartlomiej Filipek. C++ is a language where you can feel what's going on behind the abstractions, whereas in other languages there ae facilitites which a such dense abstraction that this becomes hard to understand.
[toc] | [prev] | [next] | [standalone]
| From | Muttley@dastardlyhq.com |
|---|---|
| Date | 2024-09-26 14:09 +0000 |
| Message-ID | <vd3pul$76ns$1@dont-email.me> |
| In reply to | #120370 |
On Thu, 26 Sep 2024 13:29:54 +0200 Bonita Montero <Bonita.Montero@gmail.com> boringly babbled: >Am 26.09.2024 um 12:03 schrieb Muttley@dastardlyhq.com: > >> It could be cleaner but the C++ steering committees obsessive desire >> to avoid new keywords at all costs results in the mess we have today. >I've got no problems with the lambda, syntax, I like its shortness >and I know every side-effect since I've read the book "C++ Lambda >Story" from Bartlomiej Filipek. C++ is a language where you can Personally I prefer Lee Child but whatever does it for you. >feel what's going on behind the abstractions, whereas in other >languages there ae facilitites which a such dense abstraction >that this becomes hard to understand. Only if you know C++. C is generally explicit, C++ often isn't, eg hidden conversions , constructor calling, exception handling etc. YOu have to know the language to know what it'll do, just looking at the code won't always help if you don't know the gotchas.
[toc] | [prev] | [next] | [standalone]
| From | Bonita Montero <Bonita.Montero@gmail.com> |
|---|---|
| Date | 2024-09-26 16:17 +0200 |
| Message-ID | <vd3qdg$77q7$2@raubtier-asyl.eternal-september.org> |
| In reply to | #120378 |
Am 26.09.2024 um 16:09 schrieb Muttley@dastardlyhq.com: >> feel what's going on behind the abstractions, whereas in other >> languages there ae facilitites which a such dense abstraction >> that this becomes hard to understand. > Only if you know C++. ... C++ has large feature-set, but the features themselfs are easy to understand by 90% (an exception would be the C++20 framework for coroutines). > C is generally explicit, C++ often isn't, eg hidden conversions, > constructor calling, exception handling etc. YOu have to know > the language to know what it'll do, just looking at the code > won't always help if you don't know the gotchas. If you have more explicit code you have more code. To do the same like in C++ you need at least five times more code in C. There's no best solution for that, but C++ is much better like C because you don't have to control every detail yourself over and over.
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2024-09-25 15:07 +0200 |
| Message-ID | <vd11ue$3mfjo$5@dont-email.me> |
| In reply to | #120294 |
On 25/09/2024 14:49, Paavo Helde wrote: > On 25.09.2024 15:17, Michael S wrote: >> Interesting attempt, but not good enough. It fails in most common >> use case where Compare is function rather than object. > > Callback functions are a C thing. In C++ we have functors and lambdas. > Over the years I have removed all ancient callback functions from my > code and replaced by functors or lambdas, so your "most common use case" > is not everybody's use case. > > In this example (a one-line sort helper) a lambda is the superior > solution anyway. > As with Bonita, you are missing the point completely and stating the obvious (at least, obvious to experienced C++ programmers). This code was not for finding the most elegant way to call "sort", but to consider if concepts can make error messages clearer for some template mistakes without limiting various types of correct usage.
[toc] | [prev] | [next] | [standalone]
| From | Andrey Tarasevich <andreytarasevich@hotmail.com> |
|---|---|
| Date | 2024-09-26 18:22 -0700 |
| Message-ID | <vd51ca$echm$1@dont-email.me> |
| In reply to | #120294 |
On 09/25/24 5:49 AM, Paavo Helde wrote: > > Callback functions are a C thing. In C++ we have functors and lambdas. > Over the years I have removed all ancient callback functions from my > code and replaced by functors or lambdas, so your "most common use case" > is not everybody's use case. > "Functors and lambdas" require compile-time polymorphism, which makes them applicable in fairly compact algorithms only. The moment the calling code ceases to be compact we end up with massive template code bloat. And the solution to code bloat is run-time polymorphism, which is essentially... callbacks. To be fair, C++ offers run-time polymorphism combined with type-erasure nicely wrapped into `std::function<>`, which works as a remedy for template code bloat. But expectedly, you pay for `std::function<>` with the same performance-related overhead as callbacks, if not more. -- Best regards, Andrey
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2024-09-25 14:58 +0200 |
| Message-ID | <vd11eb$3mfjo$1@dont-email.me> |
| In reply to | #120284 |
On 25/09/2024 14:17, Michael S wrote:
> On Wed, 25 Sep 2024 13:49:26 +0200
> David Brown <david.brown@hesbynett.no> wrote:
>
>> 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);
>> }
>>
>>
>>
>>
>
> Interesting attempt, but not good enough. It fails in most common
> use case where Compare is function rather than object.
>
> bool cmp3(uint8_t a, uint8_t b) {
> return a < b;
> }
> void my_sort3(uint8_t* buf, int buflen, const uint8_t* )
> {
> #if 1
> xsort(buf, buf+buflen, cmp3);
> #else
> std::sort(buf, buf+buflen, cmp3);
> #endif
> }
>
> STL's insistence on [mis]use of static polymorphism in every possible
> and impossible hole strikes again!
>
With Bonita's correction to the ComparisonFunctionObject concept:
template<class Compare, class T>
concept ComparisonFunctionObject = requires (Compare cmp, T a, T b)
{
{ cmp(a, b) } -> std::convertible_to<bool>;
};
and the removable of the "Not_pointer" check, the concept works as intended.
(The Not_pointer concept could be modified to allow pointers to
functions and lambdas, but by then its purpose is lost and it should be
removed.)
[toc] | [prev] | [next] | [standalone]
| From | Bonita Montero <Bonita.Montero@gmail.com> |
|---|---|
| Date | 2024-09-25 15:19 +0200 |
| Message-ID | <vd12jv$3mnnk$1@raubtier-asyl.eternal-september.org> |
| In reply to | #120298 |
Am 25.09.2024 um 14:58 schrieb David Brown:
> With Bonita's correction to the ComparisonFunctionObject concept:
>
> template<class Compare, class T>
> concept ComparisonFunctionObject = requires (Compare cmp, T a, T b)
> {
> { cmp(a, b) } -> std::convertible_to<bool>;
> };
>
>
> and the removable of the "Not_pointer" check, the concept works as
> intended.
>
> (The Not_pointer concept could be modified to allow pointers to
> functions and lambdas, but by then its purpose is lost and it should be
> removed.)
And what about this ?
template<std::random_access_iterator RandIt, typename Compare>
requires (!std::is_pointer_v<Compare>) && requires( Compare cmp,
std::iter_value_t<RandIt> x ) { { cmp( x, x ) } ->
std::convertible_to<bool>; }
|| (std::is_pointer_v<Compare>) && requires( Compare cmp,
std::iter_value_t<RandIt> x ) { { (*cmp)( x, x ) } ->
std::convertible_to<bool>; }
void xsort( RandIt begin, RandIt end, Compare cmp )
{
using elem_t = std::iter_value_t<RandIt>;
if constexpr( !std::is_pointer_v<Compare> )
std::sort( begin, end, cmp );
else
std::sort( begin, end, [&cmp]( elem_t &l, elem_t &r ) { return (*cmp)(
l, r ); } );
}
[toc] | [prev] | [next] | [standalone]
| From | "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> |
|---|---|
| Date | 2024-09-24 13:55 -0700 |
| Message-ID | <vcv906$3b2fp$3@dont-email.me> |
| In reply to | #120253 |
On 9/24/2024 4:21 AM, Bonita Montero wrote: [...] > No, I've worked a long time with C++ before concepts and I learned > to live with the Swahili errors from the compiler. Side note: Did you ever try to use C++ on MSVC 6? That was "fun"... It used the heap of crap Dinkumware STD template lib way back then. It was not all that good. [...]
[toc] | [prev] | [next] | [standalone]
| From | Muttley@dastardlyhq.com |
|---|---|
| Date | 2024-09-24 10:50 +0000 |
| Message-ID | <vcu5hl$363ri$1@dont-email.me> |
| In reply to | #120243 |
On Tue, 24 Sep 2024 11:17:05 +0200 Bonita Montero <Bonita.Montero@gmail.com> boringly babbled: >Am 24.09.2024 um 10:11 schrieb Muttley@dastardlyhq.com: > >> So you don't believe those are hacks? Fair enough. And there's a difference >> between too complex and pointless. > >Concepts aren't a hack and make APIs for those who use it simpler I wasn't refering to concepts FFS. I just give up with you, you can't follow a simple thread.
[toc] | [prev] | [next] | [standalone]
| From | Bonita Montero <Bonita.Montero@gmail.com> |
|---|---|
| Date | 2024-09-24 12:53 +0200 |
| Message-ID | <vcu5mh$3647b$1@raubtier-asyl.eternal-september.org> |
| In reply to | #120246 |
Am 24.09.2024 um 12:50 schrieb Muttley@dastardlyhq.com: > On Tue, 24 Sep 2024 11:17:05 +0200 > Bonita Montero <Bonita.Montero@gmail.com> boringly babbled: >> Am 24.09.2024 um 10:11 schrieb Muttley@dastardlyhq.com: >> >>> So you don't believe those are hacks? Fair enough. And there's a difference >>> between too complex and pointless. >> >> Concepts aren't a hack and make APIs for those who use it simpler > > I wasn't refering to concepts FFS. I just give up with you, you can't > follow a simple thread. > > This can be applied to most newer language features, that you have a lot to learn, but once you can do it, life with C++ becomes easier. And that's not just a C++-feature but this applies to languahges like Java or C# also.
[toc] | [prev] | [next] | [standalone]
| From | jseigh <jseigh_es00@xemaps.com> |
|---|---|
| Date | 2024-09-22 07:58 -0400 |
| Message-ID | <vcp0q0$26noh$2@dont-email.me> |
| In reply to | #120162 |
On 9/22/24 04:06, Muttley@dastardlyhq.com wrote: > On Sat, 21 Sep 2024 15:43:19 -0400 > jseigh <jseigh_es00@xemaps.com> boringly babbled: >> Trying to come up to speed on C++ concepts. If they're are useful >> why wouldn't they define named requirements as a concept, e.g. > > The signal to noise ratio of useful vs pointless features in recent versions > of C++ is not very good. All they're achieving is making the language so > bloody complicated that new devs take one look at irt and flee for the hills. > There's a reason Python - and to a lesser extent these days - Java are used > for teaching in univerisities now, not C++. And if you don't get them young > you can pretty much forget about getting many of the when they're older. > > Actually I do use Java. It has an insane number of libraries for just about anything you can think of. And the jit makes it fast enough for most purposes. Probably faster since it dynamically optimizes code paths. You have to remember to "bake in" a java program before you do performance measurements. I use C/C++ for different reasons. The C++ concepts look like they could be used in some cases like Rust traits which I like better than Java interfaces since they can be added without having to modify the base class or add a wrapper class. Joe Seigh
[toc] | [prev] | [next] | [standalone]
| From | Bonita Montero <Bonita.Montero@gmail.com> |
|---|---|
| Date | 2024-09-22 14:10 +0200 |
| Message-ID | <vcp1fh$26vpu$1@raubtier-asyl.eternal-september.org> |
| In reply to | #120176 |
Am 22.09.2024 um 13:58 schrieb jseigh: > Actually I do use Java. It has an insane number of libraries for just > about anything you can think of. And the jit makes it fast enough > for most purposes. Probably faster since it dynamically optimizes > code paths. ... It executes each function once interpreteted and makes then its conclusions about the code. That's not sufficient. In the Computer Languages Benchmark Game Java is about 50% the Performance of C++. > I use C/C++ for different reasons. The C++ concepts look like they > could be used in some cases like Rust traits which I like better > than Java interfaces since they can be added without having to > modify the base class or add a wrapper class. Java hasn't real gericity.
[toc] | [prev] | [next] | [standalone]
Page 11 of 13 — ← Prev page 1 … 9 10 [11] 12 13 Next page →
Back to top | Article view | comp.lang.c++
csiph-web