mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 21:40:52 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			81 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 | 
						|
"http://www.w3.org/TR/html4/loose.dtd">
 | 
						|
 | 
						|
<html>
 | 
						|
<head>
 | 
						|
  <meta http-equiv="Content-Language" content="en-us">
 | 
						|
  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 | 
						|
  <link rel="stylesheet" type="text/css" href="../../../../boost.css">
 | 
						|
 | 
						|
  <title>Policies</title>
 | 
						|
</head>
 | 
						|
 | 
						|
<body lang="en">
 | 
						|
  <h1>Policies</h1>
 | 
						|
 | 
						|
  <p>The <code>interval</code> template requires two arguments. The first
 | 
						|
  corresponds to the base type chosen for the bounds. And the second defines
 | 
						|
  the <a href="rounding.htm">rounding</a> and <a href=
 | 
						|
  "checking.htm">checking</a> behaviors of the newly constructed class. This
 | 
						|
  second argument is not mandatory but may need some customizations. In order
 | 
						|
  to ease the manipulations, some helper templates are provided in
 | 
						|
  <code>interval/policies.hpp</code>.</p>
 | 
						|
  <pre>
 | 
						|
namespace boost {
 | 
						|
namespace numeric {
 | 
						|
namespace interval_lib {
 | 
						|
 | 
						|
template<class Rounding, class Checking>
 | 
						|
struct policies {
 | 
						|
  typedef Rounding rounding;
 | 
						|
  typedef Checking checking;
 | 
						|
};
 | 
						|
 | 
						|
template<class OldInterval, class NewRounding>
 | 
						|
struct change_rounding {
 | 
						|
  typedef ... type;
 | 
						|
};
 | 
						|
 | 
						|
template<class OldInterval, class NewChecking>
 | 
						|
struct change_checking {
 | 
						|
  typedef ... type;
 | 
						|
};
 | 
						|
 | 
						|
template<class OldInterval>
 | 
						|
struct unprotect {
 | 
						|
  typedef ... type;
 | 
						|
};
 | 
						|
 | 
						|
} // namespace interval_lib
 | 
						|
} // namespace numeric
 | 
						|
} // namespace boost
 | 
						|
</pre>
 | 
						|
 | 
						|
  <p>The <code>policies</code> template should be used whenever the user
 | 
						|
  needs to define a policy structure for an <code>interval</code> class.
 | 
						|
  <code>change_rounding</code> and <code>change_checking</code> can be used
 | 
						|
  to get the type of a new interval by changing one of the policies of an old
 | 
						|
  interval; the new type is available thanks to the type definition
 | 
						|
  <code>type</code>. Finally, <code>unprotect</code> looks like
 | 
						|
  <code>change_rounding</code> and directly changes the rounding of an
 | 
						|
  interval to its unprotected version (a better explanation is available
 | 
						|
  <a href="rounding.htm#perfexp">here</a>).</p>
 | 
						|
  <hr>
 | 
						|
 | 
						|
  <p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
 | 
						|
  "../../../../doc/images/valid-html401.png" alt="Valid HTML 4.01 Transitional"
 | 
						|
  height="31" width="88"></a></p>
 | 
						|
 | 
						|
  <p>Revised 
 | 
						|
  <!--webbot bot="Timestamp" s-type="EDITED" s-format="%Y-%m-%d" startspan -->2006-12-24<!--webbot bot="Timestamp" endspan i-checksum="12172" --></p>
 | 
						|
 | 
						|
  <p><i>Copyright © 2002 Guillaume Melquiond, Sylvain Pion, Hervé
 | 
						|
  Brönnimann, Polytechnic University</i></p>
 | 
						|
 | 
						|
  <p><i>Distributed under the Boost Software License, Version 1.0. (See
 | 
						|
  accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
 | 
						|
  or copy at <a href=
 | 
						|
  "http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
 | 
						|
</body>
 | 
						|
</html>
 |