Point concepts (details) ======================== .. contents:: Table of Contents :local: .. _concept-details-Point: Point ----- .. cpp:concept:: template Point #. Refines the :cpp:concept:`template Regular` concept. #. Refines the :cpp:concept:`template StrictTotallyOrdered` concept. **Notation** .. cpp:var:: Pnt pnt .. cpp:var:: Pnt pnt_cpy .. cpp:var:: const Pnt cpnt .. cpp:var:: const Pnt lhs .. cpp:var:: const Pnt rhs **Valid Expressions** - :cpp:expr:`pnt()` returns an instance of :cpp:expr:`Pnt`. - :cpp:expr:`cpnt()` returns an instance of :cpp:expr:`const Pnt`. - :cpp:expr:`pnt_cpy(pnt)` returns an instance of :cpp:expr:`Pnt`. - :cpp:expr:`pnt_cpy(cpnt)` returns an instance of :cpp:expr:`Pnt`. - :cpp:expr:`pnt_cpy(move(pnt))` returns an instance of :cpp:expr:`Pnt`. - :cpp:expr:`pnt_cpy = pnt` returns an instance of :cpp:expr:`Pnt&`. - :cpp:expr:`pnt_cpy = cpnt` returns an instance of :cpp:expr:`Pnt&`. - :cpp:expr:`pnt_cpy = move(pnt)` returns an instance of :cpp:expr:`Pnt&`. - :cpp:expr:`lhs == rhs` return-type models :cpp:concept:`template Boolean`. - :cpp:expr:`lhs != rhs` return-type models :cpp:concept:`template Boolean`. - :cpp:expr:`rhs == lhs` return-type models :cpp:concept:`template Boolean`. - :cpp:expr:`rhs != lhs` return-type models :cpp:concept:`template Boolean`. - :cpp:expr:`lhs < rhs` return-type models :cpp:concept:`template Boolean`. - :cpp:expr:`lhs > rhs` return-type models :cpp:concept:`template Boolean`. - :cpp:expr:`lhs <= rhs` return-type models :cpp:concept:`template Boolean`. - :cpp:expr:`lhs >= rhs` return-type models :cpp:concept:`template Boolean`. **Possible implementation** .. code:: cpp template concept Point = Regular && StrictTotallyOrdered;