19 template <
class Po
int,
class Line>
21 std::equality_comparable<Point>
22 &&
requires(
const Point& pt_p,
const Point& pt_q,
const Line& ln_l) {
23 { pt_p.incident(ln_l) } -> std::convertible_to<bool>;
24 { pt_p.meet(pt_q) } -> std::convertible_to<Line>;
33 template <
class Po
int,
class Line>
44 template <
typename Value,
class Po
int,
class Line>
47 &&
requires(
const Point& pt_p,
const Point& pt_q,
const Line& ln_l,
const Value& a) {
48 { pt_p.aux() } -> std::convertible_to<Line>;
49 { pt_p.dot(ln_l) } -> std::convertible_to<Value>;
50 { Point::parametrize(a, pt_p, a, pt_q) } -> std::convertible_to<Point>;
60 template <
typename Value,
class Po
int,
class Line>
Common C++20 concepts: Ring, OrderedRing, Integral, Sequence.
Projective plane Concept (full)
Definition pg_concepts.hpp:35
Projective plane dual Concept.
Definition pg_concepts.hpp:62
Projective plane Concept.
Definition pg_concepts.hpp:20
Projective plane Concept.
Definition pg_concepts.hpp:46
Definition ck_concepts.hpp:11