Instigate Open Source Documentation

instigate::geometry::concept::point::requirements< T > Struct Template Reference

Check point concept requirements. More...

#include <concept_point.hpp>

Inheritance diagram for instigate::geometry::concept::point::requirements< T >:
instigate::default_constructible::requirements< T > instigate::assignable::requirements< T >

List of all members.

Public Member Functions

void require_nested_typename_coordinate_type ()
 Requirement for associated type "coordinate_type".
void require_numeric_coordinate_type ()
 Requirement for coordinate_type to be a numerical type.
void require_set_x (T &p, typename instigate::geometry::concept::point::interface< T >::coordinate_type a)
 Requires interface<T> to provide method set_x.
void require_set_y (T &p, typename instigate::geometry::concept::point::interface< T >::coordinate_type a)
 Requires interface<T> to provide method set_y.
instigate::geometry::concept::point::interface
< T >::coordinate_type 
require_get_x (const T &p)
 Requires interface<T> to provide method get_x.
instigate::geometry::concept::point::interface
< T >::coordinate_type 
require_get_y (const T &p)
 Requires interface<T> to provide method get_y.
 requirements ()
 Check all requrements of the concept geometry::concept::point.

Detailed Description

template<typename T>
struct instigate::geometry::concept::point::requirements< T >

Check point concept requirements.

This code will compile if and only if T is a model of instigate::geometry::concept::point


Constructor & Destructor Documentation

template<typename T >
instigate::geometry::concept::point::requirements< T >::requirements (  )  [inline]

Check all requrements of the concept geometry::concept::point.

This constructor will be invoked by macro CHECK when called as:

      CHECK(instigate::geometry::concept::point::
                                                     requirements<T>);

It shall check that all the requrements of the concept::point are met.

Reimplemented from instigate::assignable::requirements< T >.


Member Function Documentation

template<typename T >
instigate::geometry::concept::point::interface<T>:: coordinate_type instigate::geometry::concept::point::requirements< T >::require_get_x ( const T &  p  )  [inline]

Requires interface<T> to provide method get_x.

This will compile if and only if the point::interface<T> provides method get_x to get the x coordinate of a point.

template<typename T >
instigate::geometry::concept::point::interface<T>:: coordinate_type instigate::geometry::concept::point::requirements< T >::require_get_y ( const T &  p  )  [inline]

Requires interface<T> to provide method get_y.

This will compile if and only if the point::interface<T> provides method get_y to get the y coordinate of a point.

template<typename T >
void instigate::geometry::concept::point::requirements< T >::require_nested_typename_coordinate_type (  )  [inline]

Requirement for associated type "coordinate_type".

This will compile if and only if point::interface<T> defines the coordinate_type for T

template<typename T >
void instigate::geometry::concept::point::requirements< T >::require_numeric_coordinate_type (  )  [inline]

Requirement for coordinate_type to be a numerical type.

This will compile if and only if point::interface<T>::coordinate_type is a numerical type, i.e. std::numeric_limits is defined for it

References CHECK.

template<typename T >
void instigate::geometry::concept::point::requirements< T >::require_set_x ( T &  p,
typename instigate::geometry::concept::point::interface< T >::coordinate_type  a 
) [inline]

Requires interface<T> to provide method set_x.

This will compile if and only if the point::interface<T> provides proper method set_x to modify the x coordinate of a point.

References instigate::geometry::set_x().

template<typename T >
void instigate::geometry::concept::point::requirements< T >::require_set_y ( T &  p,
typename instigate::geometry::concept::point::interface< T >::coordinate_type  a 
) [inline]

Requires interface<T> to provide method set_y.

This will compile if and only if the point::interface<T> provides proper method set_y to modify the y coordinate of a point.

References instigate::geometry::set_y().


The documentation for this struct was generated from the following file:


© Instigate CJSC, Open Source