From 9c69c2c6bcfa0d56178e9d801c1e5cf24c9cde0b Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sun, 30 Jul 2023 21:53:29 +0200 Subject: Tour3Log: Chapter 8 --- tour3_log/tour3_log.tex | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'tour3_log') diff --git a/tour3_log/tour3_log.tex b/tour3_log/tour3_log.tex index 4fd50f6..abf9ec5 100644 --- a/tour3_log/tour3_log.tex +++ b/tour3_log/tour3_log.tex @@ -166,4 +166,27 @@ Is it possible to somehow know, with a constexpr if, inside a constexpr function if it is currently being invoked in a constexpr context? +\section*{Chapter 8: Concepts and Generic Programming} +Is it somehow possible to indicate which specific types are allowed as +template parameters? If for example it is unwanted to generate both a +\texttt{Foo} and \texttt{Foo} by accident? My guess is +that this can be done with a concept/requires? + +\bigskip + +%In the example with \texttt{advance} it is stated +%that \texttt{random\_access\_iterator} is ``stronger'' +%than \texttt{forward\_iterator}. Where/how is this relationship +%established? does one extend the other for example? +%In particular, how would two concepts be ranked if they are +%completely disjoint in their respective requirement rules? +In the case of a concept overload ambiguity, what can a developer do +to point to a specific one and fix the ambiguity? + +\bigskip + +Are there any concepts required to be ``pre'' defined by the compiler +that would otherwise be hard to express with \texttt{requires} clauses? +Some of the fundamental language concepts for example. + \end{document} -- cgit v1.2.3