Point concepts (details)

Table of Contents

Point

template<typename Pnt>
concept Point
  1. Refines the template <typename T> Regular concept.
  2. Refines the template <typename T> StrictTotallyOrdered concept.

Notation

Pnt pnt
Pnt pnt_cpy
const Pnt cpnt
const Pnt lhs
const Pnt rhs

Valid Expressions

  • pnt() returns an instance of Pnt.
  • cpnt() returns an instance of const Pnt.
  • pnt_cpy(pnt) returns an instance of Pnt.
  • pnt_cpy(cpnt) returns an instance of Pnt.
  • pnt_cpy(move(pnt)) returns an instance of Pnt.
  • pnt_cpy = pnt returns an instance of Pnt&.
  • pnt_cpy = cpnt returns an instance of Pnt&.
  • pnt_cpy = move(pnt) returns an instance of Pnt&.
  • lhs == rhs return-type models template<typename B> Boolean.
  • lhs != rhs return-type models template<typename B> Boolean.
  • rhs == lhs return-type models template<typename B> Boolean.
  • rhs != lhs return-type models template<typename B> Boolean.
  • lhs < rhs return-type models template<typename B> Boolean.
  • lhs > rhs return-type models template<typename B> Boolean.
  • lhs <= rhs return-type models template<typename B> Boolean.
  • lhs >= rhs return-type models template<typename B> Boolean.

Possible implementation

template<typename Pnt>
concept Point = Regular<Pnt> &&
                StrictTotallyOrdered<Pnt>;