| [/ |
| Copyright (c) 2010-2010 Joachim Faulhaber |
| |
| Distributed under the Boost Software License, Version 1.0. |
| (See accompanying file LICENSE_1_0.txt or copy at |
| http://www.boost.org/LICENSE_1_0.txt) |
| ] |
| |
| [section Customization] |
| |
| [section Intervals] |
| |
| The *icl* provides the possibility of customizing user defined interval class templates |
| and class types with static interval borders to be used with interval containers. |
| |
| There is a template __itv_tr__, that has to be instatiated for the user defined |
| interval type, in order to provide associated types and basic functions. |
| Bound types of the interval are assigned by specializing the template |
| `interval_bound_type`. |
| |
| [table |
| [[Customize] [Name] [Description]] |
| [[associated types] [`interval_type`] [interval type of the partial specialisation for the user defined type] ] |
| [[] [`domain_type`] [the domain or element type of the interval] ] |
| [[] [`domain_compare`] [the ordering on the elements] ] |
| [[basic functions] [`construct(const domain_type&, const domain_type&)`] [construct an interval] ] |
| [[] [`lower(const interval_type&)`] [select the interval's lower bound] ] |
| [[] [`upper(const interval_type&)`] [select the interval's upper bound] ] |
| [[interval bounds] [`interval_bound_type<interval_type>{...}`] [specialize meta function `interval_bound_type` |
| to assign one of the 4 bound types to the user defined interval. ] ] |
| ] |
| |
| How to do the customization in detail is shown in example |
| [link boost_icl.examples.custom_interval custom interval]. |
| |
| [endsect][/ Intervals] |
| |
| [endsect][/ Customization] |
| |
| |