| Home | Libraries | People | FAQ | More

## Class template constrained_value

boost::CV::constrained_value — A template to specify a constrained basic value type.

## Synopsis

    template<typename value_policies>
    class constrained_value {
    public:
      // types
      typedef value_policies::value_type value_type;

      // construct/copy/destruct
      constrained_value(value_type);
      constrained_value& operator=(value_type);

      // public member functions
      operator value_type() const;

      // public static functions
      static value_type max BOOST_PREVENT_MACRO_SUBSTITUTION() ;
      static value_type min BOOST_PREVENT_MACRO_SUBSTITUTION() ;

      // private member functions
      void assign(value_type) ;
    };

## Description

This template provides a quick way to generate an integer type with a constrained range. The type provides for the ability to specify the min, max, and and error handling policy.

value policies A class that provides the range limits via the min and max functions as well as a function on_error that determines how errors are handled. A common strategy would be to assert or throw and exception. The on_error is passed both the current value and the new value that is in error.

### `constrained_value` public construct/copy/destruct

1.     constrained_value(value_type value);

2.     constrained_value& operator=(value_type v);

### `constrained_value` public member functions

1.     operator value_type() const;

### `constrained_value` public static functions

1.     static value_type max BOOST_PREVENT_MACRO_SUBSTITUTION() ;

2.     static value_type min BOOST_PREVENT_MACRO_SUBSTITUTION() ;

### `constrained_value` private member functions

1.     void assign(value_type value) ;