Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > d5e74628f0e673bb8680aebce32b2c04 > files > 15375

itk-doc-3.12.0-1mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ITK: itkConceptChecking.h Source File</title>
<link href="DoxygenStyle.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">


<!--  Section customized for INSIGHT : Tue Jul 17 01:02:45 2001 -->
<center>
<a href="index.html" class="qindex">Main Page</a>&nbsp;&nbsp; 
<a href="modules.html" class="qindex">Groups</a>&nbsp;&nbsp;
<a href="namespaces.html" class="qindex">Namespace List</a>&nbsp;&nbsp;
<a href="hierarchy.html" class="qindex">Class Hierarchy</a>&nbsp;&nbsp;
<a href="classes.html" class="qindex">Alphabetical List</a>&nbsp;&nbsp;
<a href="annotated.html" class="qindex">Compound List</a>&nbsp;&nbsp; 
<a href="files.html" class="qindex">File
List</a>&nbsp;&nbsp; 
<a href="namespacemembers.html" class="qindex">Namespace Members</a>&nbsp;&nbsp; 
<a href="functions.html" class="qindex">Compound Members</a>&nbsp;&nbsp; 
<a href="globals.html" class="qindex">File Members</a>&nbsp;&nbsp;
<a href="pages.html" class="qindex">Concepts</a></center>


<!-- Generated by Doxygen 1.5.9 -->
  <div class="navpath"><a class="el" href="dir_02e23d841c198393a6e961e9a0678fff.html">Code</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_ea7fc529ede9a38b0438cf13831ae873.html">Common</a>
  </div>
<div class="contents">
<h1>itkConceptChecking.h</h1><a href="itkConceptChecking_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*=========================================================================</span>
<a name="l00002"></a>00002 <span class="comment"></span>
<a name="l00003"></a>00003 <span class="comment">  Program:   Insight Segmentation &amp; Registration Toolkit</span>
<a name="l00004"></a>00004 <span class="comment">  Module:    $RCSfile: itkConceptChecking.h,v $</span>
<a name="l00005"></a>00005 <span class="comment">  Language:  C++</span>
<a name="l00006"></a>00006 <span class="comment">  Date:      $Date: 2008-12-10 23:24:43 $</span>
<a name="l00007"></a>00007 <span class="comment">  Version:   $Revision: 1.34 $</span>
<a name="l00008"></a>00008 <span class="comment"></span>
<a name="l00009"></a>00009 <span class="comment">  Copyright (c) Insight Software Consortium. All rights reserved.</span>
<a name="l00010"></a>00010 <span class="comment">  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.</span>
<a name="l00011"></a>00011 <span class="comment"></span>
<a name="l00012"></a>00012 <span class="comment">  Portions of this code are covered under the VTK copyright.</span>
<a name="l00013"></a>00013 <span class="comment">  See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm for details.</span>
<a name="l00014"></a>00014 <span class="comment"></span>
<a name="l00015"></a>00015 <span class="comment">     This software is distributed WITHOUT ANY WARRANTY; without even </span>
<a name="l00016"></a>00016 <span class="comment">     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR </span>
<a name="l00017"></a>00017 <span class="comment">     PURPOSE.  See the above copyright notices for more information.</span>
<a name="l00018"></a>00018 <span class="comment"></span>
<a name="l00019"></a>00019 <span class="comment">=========================================================================*/</span>
<a name="l00020"></a>00020 <span class="preprocessor">#ifndef __itkConceptChecking_h</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define __itkConceptChecking_h</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "itkPixelTraits.h"</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "itkNumericTraits.h"</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;iostream&gt;</span>
<a name="l00026"></a>00026 
<a name="l00028"></a>00028 <span class="preprocessor">#ifndef ITK_CONCEPT_NO_CHECKING</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#  if defined(_MSC_VER) &amp;&amp; !defined(__ICL)</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#    define ITK_CONCEPT_IMPLEMENTATION_VTABLE</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#  elif defined(__BORLANDC__) &amp;&amp; (__BORLANDC__ &lt;= 0x551)</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#    define ITK_CONCEPT_IMPLEMENTATION_VTABLE</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#  elif defined(__MWERKS__) &amp;&amp; (__MWERKS__ &lt;= 0x3002)</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#    define ITK_CONCEPT_IMPLEMENTATION_VTABLE</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#  elif defined(__SUNPRO_CC)</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#    define ITK_CONCEPT_IMPLEMENTATION_VTABLE</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#  else</span>
<a name="l00038"></a><a class="code" href="itkConceptChecking_8h.html#5ad0ae53f041617e0b6bd4022c173987">00038</a> <span class="preprocessor"></span><span class="preprocessor">#    define ITK_CONCEPT_IMPLEMENTATION_STANDARD</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#  endif</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span>
<a name="l00043"></a>00043 <span class="preprocessor">#if defined(ITK_CONCEPT_IMPLEMENTATION_STANDARD)</span>
<a name="l00044"></a>00044 <span class="preprocessor"></span>
<a name="l00052"></a>00052 <span class="comment">// Leave ()'s off the sizeof to force the caller to pass them in the</span>
<a name="l00053"></a>00053 <span class="comment">// concept argument of the itkConceptMacro.  This is necessary because</span>
<a name="l00054"></a>00054 <span class="comment">// the argument may contain commas.</span>
<a name="l00055"></a><a class="code" href="itkConceptChecking_8h.html#03e74ea76574605f557c2253764df78d">00055</a> <span class="preprocessor">#  define itkConceptConstraintsMacro() \</span>
<a name="l00056"></a>00056 <span class="preprocessor">    template &lt;void (Constraints::*)()&gt; struct Enforcer {}; \</span>
<a name="l00057"></a>00057 <span class="preprocessor">    typedef Enforcer&lt;&amp;Constraints::constraints&gt; EnforcerInstantiation</span>
<a name="l00058"></a><a class="code" href="itkConceptChecking_8h.html#009eae6c305d9c390972159815e6a710">00058</a> <span class="preprocessor"></span><span class="preprocessor">#  define itkConceptMacro(name, concept) enum { name = sizeof concept }</span>
<a name="l00059"></a>00059 <span class="preprocessor"></span>
<a name="l00060"></a>00060 <span class="preprocessor">#elif defined(ITK_CONCEPT_IMPLEMENTATION_VTABLE)</span>
<a name="l00061"></a>00061 <span class="preprocessor"></span>
<a name="l00067"></a>00067 <span class="preprocessor">#  define itkConceptConstraintsMacro() \</span>
<a name="l00068"></a>00068 <span class="preprocessor">    virtual void Enforcer() { &amp;Constraints::constraints; }</span>
<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="preprocessor">#  define itkConceptMacro(name, concept) enum { name = sizeof concept }</span>
<a name="l00070"></a>00070 <span class="preprocessor"></span>
<a name="l00071"></a>00071 
<a name="l00072"></a>00072 <span class="preprocessor">#elif defined(ITK_CONCEPT_IMPLEMENTATION_CALL)</span>
<a name="l00073"></a>00073 <span class="preprocessor"></span>
<a name="l00075"></a>00075 <span class="preprocessor">#  define itkConceptConstraintsMacro()</span>
<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="preprocessor">#  define itkConceptMacro(name, concept) enum { name = 0 }</span>
<a name="l00077"></a>00077 <span class="preprocessor"></span>
<a name="l00078"></a>00078 <span class="preprocessor">#else</span>
<a name="l00079"></a>00079 <span class="preprocessor"></span>
<a name="l00081"></a>00081 <span class="preprocessor">#  define itkConceptConstraintsMacro()</span>
<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="preprocessor">#  define itkConceptMacro(name, concept) enum { name = 0 }</span>
<a name="l00083"></a>00083 <span class="preprocessor"></span>
<a name="l00084"></a>00084 <span class="preprocessor">#endif</span>
<a name="l00085"></a>00085 <span class="preprocessor"></span>
<a name="l00086"></a>00086 <span class="keyword">namespace </span>itk
<a name="l00087"></a>00087 {
<a name="l00088"></a>00088 
<a name="l00091"></a><a class="code" href="namespaceitk_1_1Concept.html">00091</a> <span class="keyword">namespace </span>Concept
<a name="l00092"></a>00092 {
<a name="l00093"></a>00093 
<a name="l00101"></a><a class="code" href="namespaceitk_1_1Concept_1_1Detail.html">00101</a> <span class="keyword">namespace </span>Detail
<a name="l00102"></a>00102 {
<a name="l00103"></a>00103 
<a name="l00104"></a><a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType.html">00104</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType.html">UniqueType</a> {};
<a name="l00105"></a><a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__int.html">00105</a> <span class="keyword">template</span> &lt;<span class="keywordtype">int</span>&gt; <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__int.html">UniqueType_int</a> {};
<a name="l00106"></a><a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__unsigned__int.html">00106</a> <span class="keyword">template</span> &lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&gt; <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__unsigned__int.html">UniqueType_unsigned_int</a> {};
<a name="l00107"></a><a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">00107</a> <span class="keyword">template</span> &lt;<span class="keywordtype">bool</span>&gt; <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">UniqueType_bool</a> {};
<a name="l00108"></a>00108 
<a name="l00109"></a>00109 
<a name="l00115"></a><a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">00115</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">IgnoreUnusedVariable</a>(T) {}
<a name="l00116"></a>00116 
<a name="l00122"></a>00122 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
<a name="l00123"></a><a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#3fee90cc093808c3c8a01144c8de0b68">00123</a> <span class="keywordtype">void</span> <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#3fee90cc093808c3c8a01144c8de0b68">RequireBooleanExpression</a>(<span class="keyword">const</span> T&amp; t)
<a name="l00124"></a>00124 {
<a name="l00125"></a>00125   <span class="keywordtype">bool</span> x = t;
<a name="l00126"></a>00126   <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">IgnoreUnusedVariable</a>(x);
<a name="l00127"></a>00127 }
<a name="l00129"></a>00129 
<a name="l00130"></a>00130 } <span class="comment">// namespace Detail</span>
<a name="l00131"></a>00131 
<a name="l00132"></a>00132 
<a name="l00134"></a>00134 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00135"></a><a class="code" href="structitk_1_1Concept_1_1DefaultConstructible.html">00135</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1DefaultConstructible.html">DefaultConstructible</a>
<a name="l00136"></a>00136 {
<a name="l00137"></a><a class="code" href="structitk_1_1Concept_1_1DefaultConstructible_1_1Constraints.html">00137</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1DefaultConstructible_1_1Constraints.html">Constraints</a>
<a name="l00138"></a>00138     {
<a name="l00139"></a><a class="code" href="structitk_1_1Concept_1_1DefaultConstructible_1_1Constraints.html#3f968337a83de38bd9987b648ef72968">00139</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1DefaultConstructible_1_1Constraints.html#3f968337a83de38bd9987b648ef72968">constraints</a>()
<a name="l00140"></a>00140       {
<a name="l00141"></a>00141       T a;
<a name="l00142"></a>00142       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">Detail::IgnoreUnusedVariable</a>(a);
<a name="l00143"></a>00143       }
<a name="l00144"></a>00144     };
<a name="l00146"></a>00146 
<a name="l00147"></a>00147   <a class="code" href="structitk_1_1Concept_1_1DefaultConstructible.html#13312ce01d30fd0a8d4b9a98372ffe52">itkConceptConstraintsMacro</a>();
<a name="l00148"></a>00148 };
<a name="l00149"></a>00149 
<a name="l00151"></a>00151 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00152"></a><a class="code" href="structitk_1_1Concept_1_1CopyConstructible.html">00152</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1CopyConstructible.html">CopyConstructible</a>
<a name="l00153"></a>00153 {
<a name="l00154"></a><a class="code" href="structitk_1_1Concept_1_1CopyConstructible_1_1Constraints.html">00154</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1CopyConstructible_1_1Constraints.html">Constraints</a>
<a name="l00155"></a>00155     {
<a name="l00156"></a><a class="code" href="structitk_1_1Concept_1_1CopyConstructible_1_1Constraints.html#bbeafd576de813b44a514c093aae0547">00156</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1CopyConstructible_1_1Constraints.html#bbeafd576de813b44a514c093aae0547">constraints</a>()
<a name="l00157"></a>00157       {
<a name="l00158"></a>00158       T a(<a class="code" href="structitk_1_1Concept_1_1CopyConstructible_1_1Constraints.html#713229357b5f8e2ea7ab75adb43a471a">b</a>);
<a name="l00159"></a>00159       T* p = &amp;a;
<a name="l00160"></a>00160       <a class="code" href="structitk_1_1Concept_1_1CopyConstructible_1_1Constraints.html#31da32dbb3b88665df8af85e892e9df9">const_constraints</a>(a);
<a name="l00161"></a>00161       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">Detail::IgnoreUnusedVariable</a>(p);
<a name="l00162"></a>00162       }
<a name="l00163"></a><a class="code" href="structitk_1_1Concept_1_1CopyConstructible_1_1Constraints.html#31da32dbb3b88665df8af85e892e9df9">00163</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1CopyConstructible_1_1Constraints.html#31da32dbb3b88665df8af85e892e9df9">const_constraints</a>(<span class="keyword">const</span> T&amp; a)
<a name="l00164"></a>00164       {
<a name="l00165"></a>00165       T c(a);
<a name="l00166"></a>00166       <span class="keyword">const</span> T* p = &amp;a;
<a name="l00167"></a>00167       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">Detail::IgnoreUnusedVariable</a>(c);
<a name="l00168"></a>00168       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">Detail::IgnoreUnusedVariable</a>(p);
<a name="l00169"></a>00169       }
<a name="l00170"></a><a class="code" href="structitk_1_1Concept_1_1CopyConstructible_1_1Constraints.html#713229357b5f8e2ea7ab75adb43a471a">00170</a>     T <a class="code" href="structitk_1_1Concept_1_1CopyConstructible_1_1Constraints.html#713229357b5f8e2ea7ab75adb43a471a">b</a>;
<a name="l00171"></a>00171     };
<a name="l00173"></a>00173 
<a name="l00174"></a>00174   <a class="code" href="structitk_1_1Concept_1_1CopyConstructible.html#a7e689570932949ac9fa1ffcef44c795">itkConceptConstraintsMacro</a>();
<a name="l00175"></a>00175 };
<a name="l00176"></a>00176 
<a name="l00178"></a>00178 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;
<a name="l00179"></a><a class="code" href="structitk_1_1Concept_1_1Convertible.html">00179</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1Convertible.html">Convertible</a>
<a name="l00180"></a>00180 {
<a name="l00181"></a><a class="code" href="structitk_1_1Concept_1_1Convertible_1_1Constraints.html">00181</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1Convertible_1_1Constraints.html">Constraints</a>
<a name="l00182"></a>00182     {
<a name="l00183"></a><a class="code" href="structitk_1_1Concept_1_1Convertible_1_1Constraints.html#e570f6b73d4df70561293cf56ce3f3d9">00183</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1Convertible_1_1Constraints.html#e570f6b73d4df70561293cf56ce3f3d9">constraints</a>()
<a name="l00184"></a>00184       {
<a name="l00185"></a>00185       T2 b = <span class="keyword">static_cast&lt;</span>T2<span class="keyword">&gt;</span>(<a class="code" href="structitk_1_1Concept_1_1Convertible_1_1Constraints.html#ff3a53e4c98705885cc5779d47e5824b">a</a>);
<a name="l00186"></a>00186       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">Detail::IgnoreUnusedVariable</a>(b);
<a name="l00187"></a>00187       }
<a name="l00188"></a><a class="code" href="structitk_1_1Concept_1_1Convertible_1_1Constraints.html#ff3a53e4c98705885cc5779d47e5824b">00188</a>     T1 <a class="code" href="structitk_1_1Concept_1_1Convertible_1_1Constraints.html#ff3a53e4c98705885cc5779d47e5824b">a</a>;
<a name="l00189"></a>00189     };
<a name="l00190"></a>00190   <a class="code" href="structitk_1_1Concept_1_1Convertible.html#095f84781f9c499e74bd68f681fb5fcc">itkConceptConstraintsMacro</a>();
<a name="l00191"></a>00191 };
<a name="l00193"></a>00193 
<a name="l00195"></a>00195 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00196"></a><a class="code" href="structitk_1_1Concept_1_1Assignable.html">00196</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1Assignable.html">Assignable</a>
<a name="l00197"></a>00197 {
<a name="l00198"></a><a class="code" href="structitk_1_1Concept_1_1Assignable_1_1Constraints.html">00198</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1Assignable_1_1Constraints.html">Constraints</a>
<a name="l00199"></a>00199     {
<a name="l00200"></a><a class="code" href="structitk_1_1Concept_1_1Assignable_1_1Constraints.html#0e0e1fceab99e15f3b9d1117c5e075a8">00200</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1Assignable_1_1Constraints.html#0e0e1fceab99e15f3b9d1117c5e075a8">constraints</a>()
<a name="l00201"></a>00201       {
<a name="l00202"></a>00202       <a class="code" href="structitk_1_1Concept_1_1Assignable_1_1Constraints.html#cca86da3be35b9c249b721c41c28375c">a</a> = <a class="code" href="structitk_1_1Concept_1_1Assignable_1_1Constraints.html#cca86da3be35b9c249b721c41c28375c">a</a>;
<a name="l00203"></a>00203       <a class="code" href="structitk_1_1Concept_1_1Assignable_1_1Constraints.html#d27ecc1841a681083c3c42f07148ba15">const_constraints</a>(<a class="code" href="structitk_1_1Concept_1_1Assignable_1_1Constraints.html#cca86da3be35b9c249b721c41c28375c">a</a>);
<a name="l00204"></a>00204       }
<a name="l00205"></a><a class="code" href="structitk_1_1Concept_1_1Assignable_1_1Constraints.html#d27ecc1841a681083c3c42f07148ba15">00205</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1Assignable_1_1Constraints.html#d27ecc1841a681083c3c42f07148ba15">const_constraints</a>(<span class="keyword">const</span> T&amp; b)
<a name="l00206"></a>00206       {
<a name="l00207"></a>00207       <a class="code" href="structitk_1_1Concept_1_1Assignable_1_1Constraints.html#cca86da3be35b9c249b721c41c28375c">a</a> = b;
<a name="l00208"></a>00208       }
<a name="l00209"></a><a class="code" href="structitk_1_1Concept_1_1Assignable_1_1Constraints.html#cca86da3be35b9c249b721c41c28375c">00209</a>     T <a class="code" href="structitk_1_1Concept_1_1Assignable_1_1Constraints.html#cca86da3be35b9c249b721c41c28375c">a</a>;
<a name="l00210"></a>00210     };
<a name="l00212"></a>00212 
<a name="l00213"></a>00213   <a class="code" href="structitk_1_1Concept_1_1Assignable.html#5f5d7916d4d6cf5db9a230e239883dc8">itkConceptConstraintsMacro</a>();
<a name="l00214"></a>00214 };
<a name="l00215"></a>00215 
<a name="l00218"></a>00218 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2=T1&gt;
<a name="l00219"></a><a class="code" href="structitk_1_1Concept_1_1LessThanComparable.html">00219</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1LessThanComparable.html">LessThanComparable</a>
<a name="l00220"></a>00220 {
<a name="l00221"></a><a class="code" href="structitk_1_1Concept_1_1LessThanComparable_1_1Constraints.html">00221</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1LessThanComparable_1_1Constraints.html">Constraints</a>
<a name="l00222"></a>00222   {
<a name="l00223"></a><a class="code" href="structitk_1_1Concept_1_1LessThanComparable_1_1Constraints.html#9f8801da538d0e3325bfa69010d88e78">00223</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1LessThanComparable_1_1Constraints.html#9f8801da538d0e3325bfa69010d88e78">constraints</a>()
<a name="l00224"></a>00224       {
<a name="l00225"></a>00225       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#3fee90cc093808c3c8a01144c8de0b68">Detail::RequireBooleanExpression</a>(<a class="code" href="structitk_1_1Concept_1_1LessThanComparable_1_1Constraints.html#cae47c81cd3855527096147a4730fa27">a</a> &lt; <a class="code" href="structitk_1_1Concept_1_1LessThanComparable_1_1Constraints.html#4b58f4cecd997b14fca4ce7c2a33e5e9">b</a>);
<a name="l00226"></a>00226       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#3fee90cc093808c3c8a01144c8de0b68">Detail::RequireBooleanExpression</a>(<a class="code" href="structitk_1_1Concept_1_1LessThanComparable_1_1Constraints.html#cae47c81cd3855527096147a4730fa27">a</a> &lt;= <a class="code" href="structitk_1_1Concept_1_1LessThanComparable_1_1Constraints.html#4b58f4cecd997b14fca4ce7c2a33e5e9">b</a>);
<a name="l00227"></a>00227       }
<a name="l00228"></a><a class="code" href="structitk_1_1Concept_1_1LessThanComparable_1_1Constraints.html#cae47c81cd3855527096147a4730fa27">00228</a>     T1 <a class="code" href="structitk_1_1Concept_1_1LessThanComparable_1_1Constraints.html#cae47c81cd3855527096147a4730fa27">a</a>;
<a name="l00229"></a><a class="code" href="structitk_1_1Concept_1_1LessThanComparable_1_1Constraints.html#4b58f4cecd997b14fca4ce7c2a33e5e9">00229</a>     T2 <a class="code" href="structitk_1_1Concept_1_1LessThanComparable_1_1Constraints.html#4b58f4cecd997b14fca4ce7c2a33e5e9">b</a>;
<a name="l00230"></a>00230   };
<a name="l00232"></a>00232 
<a name="l00233"></a>00233   <a class="code" href="structitk_1_1Concept_1_1LessThanComparable.html#940ecb605095f9e6ae95d0abeae6544b">itkConceptConstraintsMacro</a>();
<a name="l00234"></a>00234 };
<a name="l00235"></a>00235 
<a name="l00238"></a>00238 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2=T1&gt;
<a name="l00239"></a><a class="code" href="structitk_1_1Concept_1_1GreaterThanComparable.html">00239</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1GreaterThanComparable.html">GreaterThanComparable</a>
<a name="l00240"></a>00240 {
<a name="l00241"></a><a class="code" href="structitk_1_1Concept_1_1GreaterThanComparable_1_1Constraints.html">00241</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1GreaterThanComparable_1_1Constraints.html">Constraints</a>
<a name="l00242"></a>00242   {
<a name="l00243"></a><a class="code" href="structitk_1_1Concept_1_1GreaterThanComparable_1_1Constraints.html#38bb03b3425b25d968e735decc6d5df8">00243</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1GreaterThanComparable_1_1Constraints.html#38bb03b3425b25d968e735decc6d5df8">constraints</a>()
<a name="l00244"></a>00244       {
<a name="l00245"></a>00245       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#3fee90cc093808c3c8a01144c8de0b68">Detail::RequireBooleanExpression</a>(<a class="code" href="structitk_1_1Concept_1_1GreaterThanComparable_1_1Constraints.html#a22aa02f6a374867f0e4a47f065db44a">a</a> &gt; <a class="code" href="structitk_1_1Concept_1_1GreaterThanComparable_1_1Constraints.html#d6c8ea5cd2d7e7537dcefe6cb31d5cd6">b</a>);
<a name="l00246"></a>00246       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#3fee90cc093808c3c8a01144c8de0b68">Detail::RequireBooleanExpression</a>(<a class="code" href="structitk_1_1Concept_1_1GreaterThanComparable_1_1Constraints.html#a22aa02f6a374867f0e4a47f065db44a">a</a> &gt;= <a class="code" href="structitk_1_1Concept_1_1GreaterThanComparable_1_1Constraints.html#d6c8ea5cd2d7e7537dcefe6cb31d5cd6">b</a>);
<a name="l00247"></a>00247       }
<a name="l00248"></a><a class="code" href="structitk_1_1Concept_1_1GreaterThanComparable_1_1Constraints.html#a22aa02f6a374867f0e4a47f065db44a">00248</a>     T1 <a class="code" href="structitk_1_1Concept_1_1GreaterThanComparable_1_1Constraints.html#a22aa02f6a374867f0e4a47f065db44a">a</a>;
<a name="l00249"></a><a class="code" href="structitk_1_1Concept_1_1GreaterThanComparable_1_1Constraints.html#d6c8ea5cd2d7e7537dcefe6cb31d5cd6">00249</a>     T2 <a class="code" href="structitk_1_1Concept_1_1GreaterThanComparable_1_1Constraints.html#d6c8ea5cd2d7e7537dcefe6cb31d5cd6">b</a>;
<a name="l00250"></a>00250   };
<a name="l00252"></a>00252 
<a name="l00253"></a>00253   <a class="code" href="structitk_1_1Concept_1_1GreaterThanComparable.html#33dded9335c88b65bc31d3581b134863">itkConceptConstraintsMacro</a>();
<a name="l00254"></a>00254 };
<a name="l00255"></a>00255 
<a name="l00258"></a>00258 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2=T1&gt;
<a name="l00259"></a><a class="code" href="structitk_1_1Concept_1_1EqualityComparable.html">00259</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1EqualityComparable.html">EqualityComparable</a>
<a name="l00260"></a>00260 {
<a name="l00261"></a><a class="code" href="structitk_1_1Concept_1_1EqualityComparable_1_1Constraints.html">00261</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1EqualityComparable_1_1Constraints.html">Constraints</a>
<a name="l00262"></a>00262   {
<a name="l00263"></a><a class="code" href="structitk_1_1Concept_1_1EqualityComparable_1_1Constraints.html#69c69e6fe168b9381027ab318ac54cf2">00263</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1EqualityComparable_1_1Constraints.html#69c69e6fe168b9381027ab318ac54cf2">constraints</a>()
<a name="l00264"></a>00264       {
<a name="l00265"></a>00265       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#3fee90cc093808c3c8a01144c8de0b68">Detail::RequireBooleanExpression</a>(<a class="code" href="structitk_1_1Concept_1_1EqualityComparable_1_1Constraints.html#1442080e59385dc421a5542c111898fc">a</a> == <a class="code" href="structitk_1_1Concept_1_1EqualityComparable_1_1Constraints.html#6e4dc95683dc3d7c40a1e1c4fa7ef2b1">b</a>);
<a name="l00266"></a>00266       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#3fee90cc093808c3c8a01144c8de0b68">Detail::RequireBooleanExpression</a>(<a class="code" href="structitk_1_1Concept_1_1EqualityComparable_1_1Constraints.html#1442080e59385dc421a5542c111898fc">a</a> != <a class="code" href="structitk_1_1Concept_1_1EqualityComparable_1_1Constraints.html#6e4dc95683dc3d7c40a1e1c4fa7ef2b1">b</a>);
<a name="l00267"></a>00267       }
<a name="l00268"></a><a class="code" href="structitk_1_1Concept_1_1EqualityComparable_1_1Constraints.html#1442080e59385dc421a5542c111898fc">00268</a>     T1 <a class="code" href="structitk_1_1Concept_1_1EqualityComparable_1_1Constraints.html#1442080e59385dc421a5542c111898fc">a</a>;
<a name="l00269"></a><a class="code" href="structitk_1_1Concept_1_1EqualityComparable_1_1Constraints.html#6e4dc95683dc3d7c40a1e1c4fa7ef2b1">00269</a>     T2 <a class="code" href="structitk_1_1Concept_1_1EqualityComparable_1_1Constraints.html#6e4dc95683dc3d7c40a1e1c4fa7ef2b1">b</a>;
<a name="l00270"></a>00270   };
<a name="l00272"></a>00272 
<a name="l00273"></a>00273   <a class="code" href="structitk_1_1Concept_1_1EqualityComparable.html#a32c9adbd940e1a9980b9ebfe36a2744">itkConceptConstraintsMacro</a>();
<a name="l00274"></a>00274 };
<a name="l00275"></a>00275 
<a name="l00278"></a>00278 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2=T1&gt;
<a name="l00279"></a><a class="code" href="structitk_1_1Concept_1_1Comparable.html">00279</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1Comparable.html">Comparable</a>
<a name="l00280"></a>00280 {
<a name="l00281"></a><a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html">00281</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html">Constraints</a>
<a name="l00282"></a>00282   {
<a name="l00283"></a><a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html#7980050e6a679ad5c1d73fd6e5f985ab">00283</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html#7980050e6a679ad5c1d73fd6e5f985ab">constraints</a>()
<a name="l00284"></a>00284       {
<a name="l00285"></a>00285       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#3fee90cc093808c3c8a01144c8de0b68">Detail::RequireBooleanExpression</a>(<a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html#7357b6dde2710295a3b1f5ec16438591">a</a> &lt; <a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html#b3b0f8a94ffa6a402eed554d3e1707b2">b</a>);
<a name="l00286"></a>00286       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#3fee90cc093808c3c8a01144c8de0b68">Detail::RequireBooleanExpression</a>(<a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html#7357b6dde2710295a3b1f5ec16438591">a</a> &gt; <a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html#b3b0f8a94ffa6a402eed554d3e1707b2">b</a>);
<a name="l00287"></a>00287       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#3fee90cc093808c3c8a01144c8de0b68">Detail::RequireBooleanExpression</a>(<a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html#7357b6dde2710295a3b1f5ec16438591">a</a> &lt;= <a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html#b3b0f8a94ffa6a402eed554d3e1707b2">b</a>);
<a name="l00288"></a>00288       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#3fee90cc093808c3c8a01144c8de0b68">Detail::RequireBooleanExpression</a>(<a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html#7357b6dde2710295a3b1f5ec16438591">a</a> &gt;= <a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html#b3b0f8a94ffa6a402eed554d3e1707b2">b</a>);
<a name="l00289"></a>00289       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#3fee90cc093808c3c8a01144c8de0b68">Detail::RequireBooleanExpression</a>(<a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html#7357b6dde2710295a3b1f5ec16438591">a</a> == <a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html#b3b0f8a94ffa6a402eed554d3e1707b2">b</a>);
<a name="l00290"></a>00290       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#3fee90cc093808c3c8a01144c8de0b68">Detail::RequireBooleanExpression</a>(<a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html#7357b6dde2710295a3b1f5ec16438591">a</a> != <a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html#b3b0f8a94ffa6a402eed554d3e1707b2">b</a>);
<a name="l00291"></a>00291       }
<a name="l00292"></a><a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html#7357b6dde2710295a3b1f5ec16438591">00292</a>     T1 <a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html#7357b6dde2710295a3b1f5ec16438591">a</a>;
<a name="l00293"></a><a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html#b3b0f8a94ffa6a402eed554d3e1707b2">00293</a>     T2 <a class="code" href="structitk_1_1Concept_1_1Comparable_1_1Constraints.html#b3b0f8a94ffa6a402eed554d3e1707b2">b</a>;
<a name="l00294"></a>00294   };
<a name="l00296"></a>00296 
<a name="l00297"></a>00297   <a class="code" href="structitk_1_1Concept_1_1Comparable.html#2f0584680f97753aac5d7c20191c9f30">itkConceptConstraintsMacro</a>();
<a name="l00298"></a>00298 };
<a name="l00299"></a>00299 
<a name="l00302"></a>00302 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2=T1, <span class="keyword">typename</span> T3=T1&gt;
<a name="l00303"></a><a class="code" href="structitk_1_1Concept_1_1AdditiveOperators.html">00303</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1AdditiveOperators.html">AdditiveOperators</a>
<a name="l00304"></a>00304 {
<a name="l00305"></a><a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html">00305</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html">Constraints</a>
<a name="l00306"></a>00306   {
<a name="l00307"></a><a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#dc7632b89f3e64260fbd349ed44a1409">00307</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#dc7632b89f3e64260fbd349ed44a1409">constraints</a>()
<a name="l00308"></a>00308       {
<a name="l00309"></a>00309       <a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#4364635e1dbdfa8e0b519ae2b8e4fef0">a</a> = <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(<a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#9cfd31d8b404f5574a8ad267a460c4d1">b</a> + <a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#ee34f781d53930ec09e356907c5ee58b">c</a>);
<a name="l00310"></a>00310       <a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#4364635e1dbdfa8e0b519ae2b8e4fef0">a</a> = <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(<a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#9cfd31d8b404f5574a8ad267a460c4d1">b</a> - <a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#ee34f781d53930ec09e356907c5ee58b">c</a>);
<a name="l00311"></a>00311       <a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#4364635e1dbdfa8e0b519ae2b8e4fef0">a</a> += <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(<a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#ee34f781d53930ec09e356907c5ee58b">c</a>);
<a name="l00312"></a>00312       <a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#4364635e1dbdfa8e0b519ae2b8e4fef0">a</a> -= <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(<a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#ee34f781d53930ec09e356907c5ee58b">c</a>);
<a name="l00313"></a>00313       <a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#3de0e31ccdd8563a0eecc7ca6dc7616f">const_constraints</a>(<a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#9cfd31d8b404f5574a8ad267a460c4d1">b</a>, <a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#ee34f781d53930ec09e356907c5ee58b">c</a>);
<a name="l00314"></a>00314       }
<a name="l00315"></a><a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#3de0e31ccdd8563a0eecc7ca6dc7616f">00315</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#3de0e31ccdd8563a0eecc7ca6dc7616f">const_constraints</a>(<span class="keyword">const</span> T1&amp; d, <span class="keyword">const</span> T2&amp; e)
<a name="l00316"></a>00316       {
<a name="l00317"></a>00317       <a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#4364635e1dbdfa8e0b519ae2b8e4fef0">a</a> = <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(d + e);
<a name="l00318"></a>00318       <a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#4364635e1dbdfa8e0b519ae2b8e4fef0">a</a> = <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(d - e);
<a name="l00319"></a>00319       <a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#4364635e1dbdfa8e0b519ae2b8e4fef0">a</a> += <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(e);
<a name="l00320"></a>00320       <a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#4364635e1dbdfa8e0b519ae2b8e4fef0">a</a> -= <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(e);
<a name="l00321"></a>00321       }
<a name="l00322"></a><a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#4364635e1dbdfa8e0b519ae2b8e4fef0">00322</a>     T3 <a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#4364635e1dbdfa8e0b519ae2b8e4fef0">a</a>;
<a name="l00323"></a><a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#9cfd31d8b404f5574a8ad267a460c4d1">00323</a>     T1 <a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#9cfd31d8b404f5574a8ad267a460c4d1">b</a>;
<a name="l00324"></a><a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#ee34f781d53930ec09e356907c5ee58b">00324</a>     T2 <a class="code" href="structitk_1_1Concept_1_1AdditiveOperators_1_1Constraints.html#ee34f781d53930ec09e356907c5ee58b">c</a>;
<a name="l00325"></a>00325     };
<a name="l00327"></a>00327 
<a name="l00328"></a>00328   <a class="code" href="structitk_1_1Concept_1_1AdditiveOperators.html#68bf5ff2a677ebc0b25203295c4bba8a">itkConceptConstraintsMacro</a>();
<a name="l00329"></a>00329 };
<a name="l00330"></a>00330 
<a name="l00332"></a>00332 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2=T1, <span class="keyword">typename</span> T3=T1&gt;
<a name="l00333"></a><a class="code" href="structitk_1_1Concept_1_1MultiplyOperator.html">00333</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1MultiplyOperator.html">MultiplyOperator</a>
<a name="l00334"></a>00334 {
<a name="l00335"></a><a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html">00335</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html">Constraints</a>
<a name="l00336"></a>00336     {
<a name="l00337"></a><a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html#f0bb81d09b5151e7f3c4b7fc51f8213d">00337</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html#f0bb81d09b5151e7f3c4b7fc51f8213d">constraints</a>()
<a name="l00338"></a>00338       {
<a name="l00339"></a>00339       <a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html#9a0f86975fbf7cd590da5fb8fbb0747d">a</a> = <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(<a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html#941bf9fae402d8ff7ef85143b768b812">b</a> * <a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html#1caff7de2d9a4c5349a123c4759ceec2">c</a>);
<a name="l00340"></a>00340       <a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html#471685ed6110b07273a1c574fdc086ef">const_constraints</a>(<a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html#941bf9fae402d8ff7ef85143b768b812">b</a>, <a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html#1caff7de2d9a4c5349a123c4759ceec2">c</a>);
<a name="l00341"></a>00341       }
<a name="l00342"></a><a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html#471685ed6110b07273a1c574fdc086ef">00342</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html#471685ed6110b07273a1c574fdc086ef">const_constraints</a>(<span class="keyword">const</span> T1&amp; d, <span class="keyword">const</span> T2&amp; e)
<a name="l00343"></a>00343       {
<a name="l00344"></a>00344       <a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html#9a0f86975fbf7cd590da5fb8fbb0747d">a</a> = <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(d * e);
<a name="l00345"></a>00345       }
<a name="l00346"></a><a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html#9a0f86975fbf7cd590da5fb8fbb0747d">00346</a>     T3 <a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html#9a0f86975fbf7cd590da5fb8fbb0747d">a</a>;
<a name="l00347"></a><a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html#941bf9fae402d8ff7ef85143b768b812">00347</a>     T1 <a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html#941bf9fae402d8ff7ef85143b768b812">b</a>;
<a name="l00348"></a><a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html#1caff7de2d9a4c5349a123c4759ceec2">00348</a>     T2 <a class="code" href="structitk_1_1Concept_1_1MultiplyOperator_1_1Constraints.html#1caff7de2d9a4c5349a123c4759ceec2">c</a>;
<a name="l00349"></a>00349     }; 
<a name="l00350"></a>00350   <a class="code" href="structitk_1_1Concept_1_1MultiplyOperator.html#ca7cf2b89917f06c036c3156f24e95c3">itkConceptConstraintsMacro</a>();
<a name="l00351"></a>00351 };
<a name="l00353"></a>00353 
<a name="l00355"></a>00355 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2=T1&gt;
<a name="l00356"></a><a class="code" href="structitk_1_1Concept_1_1MultiplyAndAssignOperator.html">00356</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1MultiplyAndAssignOperator.html">MultiplyAndAssignOperator</a>
<a name="l00357"></a>00357 {
<a name="l00358"></a><a class="code" href="structitk_1_1Concept_1_1MultiplyAndAssignOperator_1_1Constraints.html">00358</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1MultiplyAndAssignOperator_1_1Constraints.html">Constraints</a>
<a name="l00359"></a>00359     {
<a name="l00360"></a><a class="code" href="structitk_1_1Concept_1_1MultiplyAndAssignOperator_1_1Constraints.html#a5b58d247afced90a1d53c1aeb623ef2">00360</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1MultiplyAndAssignOperator_1_1Constraints.html#a5b58d247afced90a1d53c1aeb623ef2">constraints</a>()
<a name="l00361"></a>00361       {
<a name="l00362"></a>00362       <a class="code" href="structitk_1_1Concept_1_1MultiplyAndAssignOperator_1_1Constraints.html#fdb7711885ef7a6c84cb94a785e56ed6">a</a> *= <span class="keyword">static_cast&lt;</span>T2<span class="keyword">&gt;</span>(<a class="code" href="structitk_1_1Concept_1_1MultiplyAndAssignOperator_1_1Constraints.html#41cdb39ea54747f8a6aa2d91b5b87118">b</a>);
<a name="l00363"></a>00363       <a class="code" href="structitk_1_1Concept_1_1MultiplyAndAssignOperator_1_1Constraints.html#9f45f75ea18409b1068e44f982c62913">const_constraints</a>(<a class="code" href="structitk_1_1Concept_1_1MultiplyAndAssignOperator_1_1Constraints.html#41cdb39ea54747f8a6aa2d91b5b87118">b</a>);
<a name="l00364"></a>00364       }
<a name="l00365"></a><a class="code" href="structitk_1_1Concept_1_1MultiplyAndAssignOperator_1_1Constraints.html#9f45f75ea18409b1068e44f982c62913">00365</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1MultiplyAndAssignOperator_1_1Constraints.html#9f45f75ea18409b1068e44f982c62913">const_constraints</a>(<span class="keyword">const</span> T1&amp; d)
<a name="l00366"></a>00366       {
<a name="l00367"></a>00367       <a class="code" href="structitk_1_1Concept_1_1MultiplyAndAssignOperator_1_1Constraints.html#fdb7711885ef7a6c84cb94a785e56ed6">a</a> *= <span class="keyword">static_cast&lt;</span>T2<span class="keyword">&gt;</span>(d);
<a name="l00368"></a>00368       }
<a name="l00369"></a><a class="code" href="structitk_1_1Concept_1_1MultiplyAndAssignOperator_1_1Constraints.html#fdb7711885ef7a6c84cb94a785e56ed6">00369</a>     T2 <a class="code" href="structitk_1_1Concept_1_1MultiplyAndAssignOperator_1_1Constraints.html#fdb7711885ef7a6c84cb94a785e56ed6">a</a>;
<a name="l00370"></a><a class="code" href="structitk_1_1Concept_1_1MultiplyAndAssignOperator_1_1Constraints.html#41cdb39ea54747f8a6aa2d91b5b87118">00370</a>     T1 <a class="code" href="structitk_1_1Concept_1_1MultiplyAndAssignOperator_1_1Constraints.html#41cdb39ea54747f8a6aa2d91b5b87118">b</a>;
<a name="l00371"></a>00371     };
<a name="l00373"></a>00373 
<a name="l00374"></a>00374   <a class="code" href="structitk_1_1Concept_1_1MultiplyAndAssignOperator.html#59604dcfb56c130d7f9626d0901e2dd4">itkConceptConstraintsMacro</a>();
<a name="l00375"></a>00375 };
<a name="l00376"></a>00376 
<a name="l00378"></a>00378 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2=T1, <span class="keyword">typename</span> T3=T1&gt;
<a name="l00379"></a><a class="code" href="structitk_1_1Concept_1_1DivisionOperators.html">00379</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1DivisionOperators.html">DivisionOperators</a>
<a name="l00380"></a>00380 {
<a name="l00381"></a><a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html">00381</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html">Constraints</a>
<a name="l00382"></a>00382     {
<a name="l00383"></a><a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#657f71ed02c49a3f3a0d429075a8c052">00383</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#657f71ed02c49a3f3a0d429075a8c052">constraints</a>()
<a name="l00384"></a>00384       {
<a name="l00385"></a>00385       <a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#99ee902067bb5be7f56ba10352ac6b9e">a</a> = <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(<a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#406619c4b07c7849b7e6734ce9ac0046">b</a> / <a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#6b2696c1ed66ea0bc36849aaf964f843">c</a>);
<a name="l00386"></a>00386       <a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#99ee902067bb5be7f56ba10352ac6b9e">a</a> /= <a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#6b2696c1ed66ea0bc36849aaf964f843">c</a>;
<a name="l00387"></a>00387       <a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#acb09369a938ecabc0ef2e7837848d2c">const_constraints</a>(<a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#406619c4b07c7849b7e6734ce9ac0046">b</a>, <a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#6b2696c1ed66ea0bc36849aaf964f843">c</a>);
<a name="l00388"></a>00388       }
<a name="l00389"></a><a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#acb09369a938ecabc0ef2e7837848d2c">00389</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#acb09369a938ecabc0ef2e7837848d2c">const_constraints</a>(<span class="keyword">const</span> T1&amp; d, <span class="keyword">const</span> T2&amp; e)
<a name="l00390"></a>00390       {
<a name="l00391"></a>00391       <a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#99ee902067bb5be7f56ba10352ac6b9e">a</a> = <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(d / e);
<a name="l00392"></a>00392       <a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#99ee902067bb5be7f56ba10352ac6b9e">a</a> /= e;
<a name="l00393"></a>00393       }
<a name="l00394"></a><a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#99ee902067bb5be7f56ba10352ac6b9e">00394</a>     T3 <a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#99ee902067bb5be7f56ba10352ac6b9e">a</a>;
<a name="l00395"></a><a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#406619c4b07c7849b7e6734ce9ac0046">00395</a>     T1 <a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#406619c4b07c7849b7e6734ce9ac0046">b</a>;
<a name="l00396"></a><a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#6b2696c1ed66ea0bc36849aaf964f843">00396</a>     T2 <a class="code" href="structitk_1_1Concept_1_1DivisionOperators_1_1Constraints.html#6b2696c1ed66ea0bc36849aaf964f843">c</a>;
<a name="l00397"></a>00397     };
<a name="l00399"></a>00399 
<a name="l00400"></a>00400   <a class="code" href="structitk_1_1Concept_1_1DivisionOperators.html#ee9d84bd1c56528a5b62a8a7673c7ba9">itkConceptConstraintsMacro</a>();
<a name="l00401"></a>00401 };
<a name="l00402"></a>00402 
<a name="l00405"></a>00405 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2=T1, <span class="keyword">typename</span> T3=T1&gt;
<a name="l00406"></a><a class="code" href="structitk_1_1Concept_1_1LogicalOperators.html">00406</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1LogicalOperators.html">LogicalOperators</a>
<a name="l00407"></a>00407 {
<a name="l00408"></a><a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html">00408</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html">Constraints</a>
<a name="l00409"></a>00409     {
<a name="l00410"></a><a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#59415911df47d8b6e47f14644ee3e4de">00410</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#59415911df47d8b6e47f14644ee3e4de">constraints</a>()
<a name="l00411"></a>00411       {
<a name="l00412"></a>00412       <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#dc01ddbac28f47badf8a1acbcbc00163">a</a> = <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(<a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#49e0507c2ae12ed0d22c429a2bfaa30d">b</a> &amp; <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#574a55609c4512be04fff02350e5a5c1">c</a>);
<a name="l00413"></a>00413       <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#dc01ddbac28f47badf8a1acbcbc00163">a</a> = <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(<a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#49e0507c2ae12ed0d22c429a2bfaa30d">b</a> | <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#574a55609c4512be04fff02350e5a5c1">c</a>);
<a name="l00414"></a>00414       <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#dc01ddbac28f47badf8a1acbcbc00163">a</a> = <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(<a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#49e0507c2ae12ed0d22c429a2bfaa30d">b</a> ^ <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#574a55609c4512be04fff02350e5a5c1">c</a>);
<a name="l00415"></a>00415       <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#dc01ddbac28f47badf8a1acbcbc00163">a</a> &amp;= <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(<a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#574a55609c4512be04fff02350e5a5c1">c</a>);
<a name="l00416"></a>00416       <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#dc01ddbac28f47badf8a1acbcbc00163">a</a> |= <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(<a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#574a55609c4512be04fff02350e5a5c1">c</a>);
<a name="l00417"></a>00417       <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#dc01ddbac28f47badf8a1acbcbc00163">a</a> ^= <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(<a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#574a55609c4512be04fff02350e5a5c1">c</a>);
<a name="l00418"></a>00418       <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#9de7a32a24149323918b33c201a4b9bd">const_constraints</a>(<a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#49e0507c2ae12ed0d22c429a2bfaa30d">b</a>, <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#574a55609c4512be04fff02350e5a5c1">c</a>);
<a name="l00419"></a>00419       }
<a name="l00420"></a><a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#9de7a32a24149323918b33c201a4b9bd">00420</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#9de7a32a24149323918b33c201a4b9bd">const_constraints</a>(<span class="keyword">const</span> T1&amp; d, <span class="keyword">const</span> T2&amp; e)
<a name="l00421"></a>00421       {
<a name="l00422"></a>00422       <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#dc01ddbac28f47badf8a1acbcbc00163">a</a> = <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(d &amp; e);
<a name="l00423"></a>00423       <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#dc01ddbac28f47badf8a1acbcbc00163">a</a> = <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(d | e);
<a name="l00424"></a>00424       <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#dc01ddbac28f47badf8a1acbcbc00163">a</a> = <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(d ^ e);
<a name="l00425"></a>00425       <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#dc01ddbac28f47badf8a1acbcbc00163">a</a> &amp;= <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(e);
<a name="l00426"></a>00426       <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#dc01ddbac28f47badf8a1acbcbc00163">a</a> |= <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(e);
<a name="l00427"></a>00427       <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#dc01ddbac28f47badf8a1acbcbc00163">a</a> ^= <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(e);
<a name="l00428"></a>00428       }
<a name="l00429"></a><a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#dc01ddbac28f47badf8a1acbcbc00163">00429</a>     T3 <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#dc01ddbac28f47badf8a1acbcbc00163">a</a>;
<a name="l00430"></a><a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#49e0507c2ae12ed0d22c429a2bfaa30d">00430</a>     T1 <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#49e0507c2ae12ed0d22c429a2bfaa30d">b</a>;
<a name="l00431"></a><a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#574a55609c4512be04fff02350e5a5c1">00431</a>     T2 <a class="code" href="structitk_1_1Concept_1_1LogicalOperators_1_1Constraints.html#574a55609c4512be04fff02350e5a5c1">c</a>;
<a name="l00432"></a>00432     };
<a name="l00434"></a>00434 
<a name="l00435"></a>00435   <a class="code" href="structitk_1_1Concept_1_1LogicalOperators.html#8ef67925a28200b85f3d2614ded40fb6">itkConceptConstraintsMacro</a>();
<a name="l00436"></a>00436 };
<a name="l00437"></a>00437 
<a name="l00439"></a>00439 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2=T1, <span class="keyword">typename</span> T3=T1&gt;
<a name="l00440"></a><a class="code" href="structitk_1_1Concept_1_1BracketOperator.html">00440</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1BracketOperator.html">BracketOperator</a>
<a name="l00441"></a>00441 {
<a name="l00442"></a><a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html">00442</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html">Constraints</a>
<a name="l00443"></a>00443     {
<a name="l00444"></a><a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html#cc7d9adfc4d335164a2d51f7232a4811">00444</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html#cc7d9adfc4d335164a2d51f7232a4811">constraints</a>()
<a name="l00445"></a>00445       {
<a name="l00446"></a>00446       <a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html#95e915b782c8d7848390f4f424391c89">a</a> = <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(<a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html#20f121432d3ee1b0665378babf5f5839">b</a> [ <a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html#dc92f7e7de5d3ec1f1427b1c3d9c3804">c</a> ]);
<a name="l00447"></a>00447       <a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html#ca37a404e917991a187254ef5c32f78f">const_constraints</a>(<a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html#20f121432d3ee1b0665378babf5f5839">b</a>, <a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html#dc92f7e7de5d3ec1f1427b1c3d9c3804">c</a>);
<a name="l00448"></a>00448       }
<a name="l00449"></a><a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html#ca37a404e917991a187254ef5c32f78f">00449</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html#ca37a404e917991a187254ef5c32f78f">const_constraints</a>(<span class="keyword">const</span> T1&amp; d, <span class="keyword">const</span> T2&amp; e)
<a name="l00450"></a>00450       {
<a name="l00451"></a>00451       <a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html#95e915b782c8d7848390f4f424391c89">a</a> = <span class="keyword">static_cast&lt;</span>T3<span class="keyword">&gt;</span>(d [ e ]);
<a name="l00452"></a>00452       }
<a name="l00453"></a><a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html#95e915b782c8d7848390f4f424391c89">00453</a>     T3 <a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html#95e915b782c8d7848390f4f424391c89">a</a>;
<a name="l00454"></a><a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html#20f121432d3ee1b0665378babf5f5839">00454</a>     T1 <a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html#20f121432d3ee1b0665378babf5f5839">b</a>;
<a name="l00455"></a><a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html#dc92f7e7de5d3ec1f1427b1c3d9c3804">00455</a>     T2 <a class="code" href="structitk_1_1Concept_1_1BracketOperator_1_1Constraints.html#dc92f7e7de5d3ec1f1427b1c3d9c3804">c</a>;
<a name="l00456"></a>00456     };
<a name="l00458"></a>00458 
<a name="l00459"></a>00459   <a class="code" href="structitk_1_1Concept_1_1BracketOperator.html#5123ef32fbb98167ea28d637af7aa64e">itkConceptConstraintsMacro</a>();
<a name="l00460"></a>00460 };
<a name="l00461"></a>00461 
<a name="l00462"></a>00462 
<a name="l00464"></a>00464 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00465"></a><a class="code" href="structitk_1_1Concept_1_1NotOperator.html">00465</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1NotOperator.html">NotOperator</a>
<a name="l00466"></a>00466 {
<a name="l00467"></a><a class="code" href="structitk_1_1Concept_1_1NotOperator_1_1Constraints.html">00467</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1NotOperator_1_1Constraints.html">Constraints</a>
<a name="l00468"></a>00468     {
<a name="l00469"></a><a class="code" href="structitk_1_1Concept_1_1NotOperator_1_1Constraints.html#31b0a757e0ac85d754f513f23df1fce8">00469</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1NotOperator_1_1Constraints.html#31b0a757e0ac85d754f513f23df1fce8">constraints</a>()
<a name="l00470"></a>00470       {
<a name="l00471"></a>00471       <a class="code" href="structitk_1_1Concept_1_1NotOperator_1_1Constraints.html#0ee9853c5f4247f414040dbdc5d5f74c">a</a> = !<a class="code" href="structitk_1_1Concept_1_1NotOperator_1_1Constraints.html#0ee9853c5f4247f414040dbdc5d5f74c">a</a>;
<a name="l00472"></a>00472       }
<a name="l00473"></a><a class="code" href="structitk_1_1Concept_1_1NotOperator_1_1Constraints.html#0ee9853c5f4247f414040dbdc5d5f74c">00473</a>     T <a class="code" href="structitk_1_1Concept_1_1NotOperator_1_1Constraints.html#0ee9853c5f4247f414040dbdc5d5f74c">a</a>;
<a name="l00474"></a>00474     };
<a name="l00475"></a>00475 
<a name="l00476"></a>00476   <a class="code" href="structitk_1_1Concept_1_1NotOperator.html#2209ea288fd1b65d9da7ee34acec502e">itkConceptConstraintsMacro</a>();
<a name="l00477"></a>00477 };
<a name="l00478"></a>00478 
<a name="l00480"></a>00480 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00481"></a><a class="code" href="structitk_1_1Concept_1_1IncrementDecrementOperators.html">00481</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1IncrementDecrementOperators.html">IncrementDecrementOperators</a>
<a name="l00482"></a>00482 {
<a name="l00483"></a><a class="code" href="structitk_1_1Concept_1_1IncrementDecrementOperators_1_1Constraints.html">00483</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1IncrementDecrementOperators_1_1Constraints.html">Constraints</a>
<a name="l00484"></a>00484     {
<a name="l00485"></a><a class="code" href="structitk_1_1Concept_1_1IncrementDecrementOperators_1_1Constraints.html#e312f22f4c63f8c50d26909ded87bee8">00485</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1IncrementDecrementOperators_1_1Constraints.html#e312f22f4c63f8c50d26909ded87bee8">constraints</a>()
<a name="l00486"></a>00486       {
<a name="l00487"></a>00487       <a class="code" href="structitk_1_1Concept_1_1IncrementDecrementOperators_1_1Constraints.html#584aaf35498d89e73bfa743d2523030c">a</a>++;
<a name="l00488"></a>00488       <a class="code" href="structitk_1_1Concept_1_1IncrementDecrementOperators_1_1Constraints.html#584aaf35498d89e73bfa743d2523030c">a</a>--;
<a name="l00489"></a>00489       ++<a class="code" href="structitk_1_1Concept_1_1IncrementDecrementOperators_1_1Constraints.html#584aaf35498d89e73bfa743d2523030c">a</a>;
<a name="l00490"></a>00490       --<a class="code" href="structitk_1_1Concept_1_1IncrementDecrementOperators_1_1Constraints.html#584aaf35498d89e73bfa743d2523030c">a</a>;
<a name="l00491"></a>00491       }
<a name="l00492"></a><a class="code" href="structitk_1_1Concept_1_1IncrementDecrementOperators_1_1Constraints.html#584aaf35498d89e73bfa743d2523030c">00492</a>     T <a class="code" href="structitk_1_1Concept_1_1IncrementDecrementOperators_1_1Constraints.html#584aaf35498d89e73bfa743d2523030c">a</a>;
<a name="l00493"></a>00493     };
<a name="l00494"></a>00494 
<a name="l00495"></a>00495   <a class="code" href="structitk_1_1Concept_1_1IncrementDecrementOperators.html#654bc149ec88287ff0d903ec543d089b">itkConceptConstraintsMacro</a>();
<a name="l00496"></a>00496 };
<a name="l00497"></a>00497 
<a name="l00499"></a>00499 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00500"></a><a class="code" href="structitk_1_1Concept_1_1OStreamWritable.html">00500</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1OStreamWritable.html">OStreamWritable</a>
<a name="l00501"></a>00501 {
<a name="l00502"></a><a class="code" href="structitk_1_1Concept_1_1OStreamWritable_1_1Constraints.html">00502</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1OStreamWritable_1_1Constraints.html">Constraints</a>
<a name="l00503"></a>00503     {
<a name="l00504"></a><a class="code" href="structitk_1_1Concept_1_1OStreamWritable_1_1Constraints.html#de1e2540e486abd2b43ab889aecd4d97">00504</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1OStreamWritable_1_1Constraints.html#de1e2540e486abd2b43ab889aecd4d97">constraints</a>()
<a name="l00505"></a>00505       {
<a name="l00506"></a>00506       std::cout &lt;&lt; <a class="code" href="structitk_1_1Concept_1_1OStreamWritable_1_1Constraints.html#70c3c0694b73d6755597fe56300ec613">a</a>;
<a name="l00507"></a>00507       }
<a name="l00508"></a><a class="code" href="structitk_1_1Concept_1_1OStreamWritable_1_1Constraints.html#70c3c0694b73d6755597fe56300ec613">00508</a>     T <a class="code" href="structitk_1_1Concept_1_1OStreamWritable_1_1Constraints.html#70c3c0694b73d6755597fe56300ec613">a</a>;
<a name="l00509"></a>00509     };
<a name="l00510"></a>00510 
<a name="l00511"></a>00511   <a class="code" href="structitk_1_1Concept_1_1OStreamWritable.html#0573d6d5446b24c71a6e0c19ba74fa34">itkConceptConstraintsMacro</a>();
<a name="l00512"></a>00512 };
<a name="l00513"></a>00513 
<a name="l00515"></a>00515 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00516"></a><a class="code" href="structitk_1_1Concept_1_1Signed.html">00516</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1Signed.html">Signed</a>
<a name="l00517"></a>00517 {
<a name="l00518"></a><a class="code" href="structitk_1_1Concept_1_1Signed.html#71fe2ec567971c4b70f595dfbe488e3d">00518</a>   <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1Signed.html">Signed</a> <a class="code" href="structitk_1_1Concept_1_1Signed.html">Self</a>;
<a name="l00519"></a>00519   <a class="code" href="structitk_1_1Concept_1_1Signed.html#afc05c1be253cd8e5a76a84ad8274044">itkStaticConstMacro</a>(IsSigned, <span class="keywordtype">bool</span>, NumericTraits&lt;T&gt;::is_signed);
<a name="l00520"></a><a class="code" href="structitk_1_1Concept_1_1Signed_1_1Constraints.html">00520</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1Signed_1_1Constraints.html">Constraints</a>
<a name="l00521"></a>00521     {
<a name="l00522"></a><a class="code" href="structitk_1_1Concept_1_1Signed_1_1Constraints.html#fbf0b7624ac3255667ddd77ea975b72b">00522</a>     <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">Detail::UniqueType_bool&lt;true&gt;</a> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">TrueT</a>;
<a name="l00523"></a><a class="code" href="structitk_1_1Concept_1_1Signed_1_1Constraints.html#8f3153db6d9446b0c99b04739778c9f3">00523</a>     <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">Detail::UniqueType_bool&lt;itkGetStaticConstMacro(IsSigned)&gt;</a> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">SignedT</a>;
<a name="l00524"></a><a class="code" href="structitk_1_1Concept_1_1Signed_1_1Constraints.html#591ea913a12d5b51977a7f267719ce43">00524</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1Signed_1_1Constraints.html#591ea913a12d5b51977a7f267719ce43">constraints</a>()
<a name="l00525"></a>00525       {
<a name="l00526"></a>00526       <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">SignedT</a> a = <a class="code" href="structitk_1_1Concept_1_1Signed_1_1Constraints.html#fbf0b7624ac3255667ddd77ea975b72b">TrueT</a>();
<a name="l00527"></a>00527       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">Detail::IgnoreUnusedVariable</a>(a);
<a name="l00528"></a>00528       }
<a name="l00529"></a>00529     };
<a name="l00531"></a>00531 
<a name="l00532"></a>00532   <a class="code" href="structitk_1_1Concept_1_1Signed.html#858c92bffbf1a207950ce4538b3c8474">itkConceptConstraintsMacro</a>();
<a name="l00533"></a>00533 };
<a name="l00534"></a>00534   
<a name="l00536"></a>00536 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;
<a name="l00537"></a><a class="code" href="structitk_1_1Concept_1_1SameType.html">00537</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1SameType.html">SameType</a>
<a name="l00538"></a>00538 {
<a name="l00539"></a><a class="code" href="structitk_1_1Concept_1_1SameType_1_1Constraints.html">00539</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1SameType_1_1Constraints.html">Constraints</a>
<a name="l00540"></a>00540     {
<a name="l00541"></a><a class="code" href="structitk_1_1Concept_1_1SameType_1_1Constraints.html#c45528d86e8f5e0d5b03c61086728fae">00541</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1SameType_1_1Constraints.html#c45528d86e8f5e0d5b03c61086728fae">constraints</a>()
<a name="l00542"></a>00542       {
<a name="l00543"></a>00543       <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType.html">Detail::UniqueType&lt;T1&gt;</a> a = <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType.html">Detail::UniqueType&lt;T2&gt;</a>();
<a name="l00544"></a>00544       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">Detail::IgnoreUnusedVariable</a>(a);
<a name="l00545"></a>00545       }
<a name="l00546"></a>00546     };
<a name="l00547"></a>00547   <a class="code" href="structitk_1_1Concept_1_1SameType.html#416e913ab0e0d7055e90fdc55e11fcc2">itkConceptConstraintsMacro</a>();
<a name="l00548"></a>00548 };
<a name="l00550"></a>00550 
<a name="l00552"></a>00552 <span class="keyword">template</span> &lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> D1, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> D2&gt;
<a name="l00553"></a><a class="code" href="structitk_1_1Concept_1_1SameDimension.html">00553</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1SameDimension.html">SameDimension</a>
<a name="l00554"></a>00554 {
<a name="l00555"></a><a class="code" href="structitk_1_1Concept_1_1SameDimension_1_1Constraints.html">00555</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1SameDimension_1_1Constraints.html">Constraints</a>
<a name="l00556"></a>00556     {
<a name="l00557"></a><a class="code" href="structitk_1_1Concept_1_1SameDimension_1_1Constraints.html#e53946a54201aafd48844f8d1ff127df">00557</a>     <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__unsigned__int.html">Detail::UniqueType_unsigned_int&lt;D1&gt;</a> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__unsigned__int.html">DT1</a>;
<a name="l00558"></a><a class="code" href="structitk_1_1Concept_1_1SameDimension_1_1Constraints.html#dac9e6b5d2fd2d6c731e6d500cbb5c71">00558</a>     <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__unsigned__int.html">Detail::UniqueType_unsigned_int&lt;D2&gt;</a> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__unsigned__int.html">DT2</a>;
<a name="l00559"></a><a class="code" href="structitk_1_1Concept_1_1SameDimension_1_1Constraints.html#d30e1f438eae6f95ec4fab6295b0dfd9">00559</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1SameDimension_1_1Constraints.html#d30e1f438eae6f95ec4fab6295b0dfd9">constraints</a>()
<a name="l00560"></a>00560       {
<a name="l00561"></a>00561       <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__unsigned__int.html">DT1</a> a = <a class="code" href="structitk_1_1Concept_1_1SameDimension_1_1Constraints.html#dac9e6b5d2fd2d6c731e6d500cbb5c71">DT2</a>();
<a name="l00562"></a>00562       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">Detail::IgnoreUnusedVariable</a>(a);
<a name="l00563"></a>00563       }
<a name="l00564"></a>00564     };
<a name="l00565"></a>00565   <a class="code" href="structitk_1_1Concept_1_1SameDimension.html#cede1efda1ab6b30b34dd7ac2936eede">itkConceptConstraintsMacro</a>();
<a name="l00566"></a>00566 };
<a name="l00568"></a>00568 
<a name="l00570"></a>00570 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00571"></a><a class="code" href="structitk_1_1Concept_1_1HasNumericTraits.html">00571</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1HasNumericTraits.html">HasNumericTraits</a>
<a name="l00572"></a>00572 {
<a name="l00573"></a><a class="code" href="structitk_1_1Concept_1_1HasNumericTraits_1_1Constraints.html">00573</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1HasNumericTraits_1_1Constraints.html">Constraints</a>
<a name="l00574"></a>00574     {
<a name="l00575"></a><a class="code" href="structitk_1_1Concept_1_1HasNumericTraits_1_1Constraints.html#db0b16ec714cd89c69d3e1252bfb84c4">00575</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1HasNumericTraits_1_1Constraints.html#db0b16ec714cd89c69d3e1252bfb84c4">constraints</a>()
<a name="l00576"></a>00576       { 
<a name="l00577"></a>00577       <span class="keyword">typedef</span> <span class="keyword">typename</span> NumericTraits&lt;T&gt;::ValueType        ValueType;
<a name="l00578"></a>00578       <span class="keyword">typedef</span> <span class="keyword">typename</span> NumericTraits&lt;T&gt;::PrintType        PrintType;
<a name="l00579"></a>00579       <span class="keyword">typedef</span> <span class="keyword">typename</span> NumericTraits&lt;T&gt;::AbsType          AbsType;
<a name="l00580"></a>00580       <span class="keyword">typedef</span> <span class="keyword">typename</span> NumericTraits&lt;T&gt;::AccumulateType   AccumulateType;
<a name="l00581"></a>00581       <span class="keyword">typedef</span> <span class="keyword">typename</span> NumericTraits&lt;T&gt;::RealType         RealType;
<a name="l00582"></a>00582       <span class="keyword">typedef</span> <span class="keyword">typename</span> NumericTraits&lt;T&gt;::ScalarRealType   ScalarRealType;
<a name="l00583"></a>00583       <span class="keyword">typedef</span> <span class="keyword">typename</span> NumericTraits&lt;T&gt;::FloatType        FloatType;
<a name="l00584"></a>00584       T a;
<a name="l00585"></a>00585       <span class="keywordtype">bool</span> b;
<a name="l00586"></a>00586       a = NumericTraits&lt;T&gt;::Zero;
<a name="l00587"></a>00587       a = NumericTraits&lt;T&gt;::One;
<a name="l00588"></a>00588       a = NumericTraits&lt;T&gt;::NonpositiveMin();
<a name="l00589"></a>00589       a = NumericTraits&lt;T&gt;::ZeroValue();
<a name="l00590"></a>00590       b = NumericTraits&lt;T&gt;::IsPositive(a);
<a name="l00591"></a>00591       b = NumericTraits&lt;T&gt;::IsNonpositive(a);
<a name="l00592"></a>00592       b = NumericTraits&lt;T&gt;::IsNegative(a);
<a name="l00593"></a>00593       b = NumericTraits&lt;T&gt;::IsNonnegative(a);
<a name="l00594"></a>00594       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">Detail::IgnoreUnusedVariable</a>(a);
<a name="l00595"></a>00595       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">Detail::IgnoreUnusedVariable</a>(b);
<a name="l00596"></a>00596       }
<a name="l00597"></a>00597     };
<a name="l00599"></a>00599 
<a name="l00600"></a>00600   <a class="code" href="structitk_1_1Concept_1_1HasNumericTraits.html#ac12c3afa245bea11a96f6bfb9a77faf">itkConceptConstraintsMacro</a>();
<a name="l00601"></a>00601 };
<a name="l00602"></a>00602 
<a name="l00604"></a>00604 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00605"></a><a class="code" href="structitk_1_1Concept_1_1HasPixelTraits.html">00605</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1HasPixelTraits.html">HasPixelTraits</a>
<a name="l00606"></a>00606 {
<a name="l00607"></a><a class="code" href="structitk_1_1Concept_1_1HasPixelTraits_1_1Constraints.html">00607</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1HasPixelTraits_1_1Constraints.html">Constraints</a>
<a name="l00608"></a>00608     {
<a name="l00609"></a><a class="code" href="structitk_1_1Concept_1_1HasPixelTraits_1_1Constraints.html#ebc7fe090077340e0ab06ecdb36c3b79">00609</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1HasPixelTraits_1_1Constraints.html#ebc7fe090077340e0ab06ecdb36c3b79">constraints</a>()
<a name="l00610"></a>00610       { 
<a name="l00611"></a>00611       <span class="keyword">typedef</span> <span class="keyword">typename</span> PixelTraits&lt;T&gt;::ValueType ValueType;
<a name="l00612"></a>00612       <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> a = PixelTraits&lt;T&gt;::Dimension;
<a name="l00613"></a>00613       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">Detail::IgnoreUnusedVariable</a>(a);
<a name="l00614"></a>00614       }
<a name="l00615"></a>00615     };
<a name="l00617"></a>00617 
<a name="l00618"></a>00618   <a class="code" href="structitk_1_1Concept_1_1HasPixelTraits.html#98c0136cb439144ab9fc44636b8473a3">itkConceptConstraintsMacro</a>();
<a name="l00619"></a>00619 };
<a name="l00620"></a>00620 
<a name="l00622"></a>00622 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00623"></a><a class="code" href="structitk_1_1Concept_1_1HasValueType.html">00623</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1HasValueType.html">HasValueType</a>
<a name="l00624"></a>00624 {
<a name="l00625"></a><a class="code" href="structitk_1_1Concept_1_1HasValueType_1_1Constraints.html">00625</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1HasValueType_1_1Constraints.html">Constraints</a>
<a name="l00626"></a>00626     {
<a name="l00627"></a><a class="code" href="structitk_1_1Concept_1_1HasValueType_1_1Constraints.html#7611c70f2965fc8c62f3c2ff1f2d1484">00627</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1HasValueType_1_1Constraints.html#7611c70f2965fc8c62f3c2ff1f2d1484">constraints</a>()
<a name="l00628"></a>00628       { 
<a name="l00629"></a>00629       <span class="keyword">typedef</span> <span class="keyword">typename</span> T::ValueType ValueType;
<a name="l00630"></a>00630       }
<a name="l00631"></a>00631     };
<a name="l00632"></a>00632 
<a name="l00633"></a>00633   <a class="code" href="structitk_1_1Concept_1_1HasValueType.html#e24ff2edf0779c2b519bbb5912f8d939">itkConceptConstraintsMacro</a>();
<a name="l00634"></a>00634 };
<a name="l00635"></a>00635 
<a name="l00636"></a>00636 
<a name="l00638"></a>00638 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00639"></a><a class="code" href="structitk_1_1Concept_1_1HasZero.html">00639</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1HasZero.html">HasZero</a>
<a name="l00640"></a>00640 {
<a name="l00641"></a><a class="code" href="structitk_1_1Concept_1_1HasZero_1_1Constraints.html">00641</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1HasZero_1_1Constraints.html">Constraints</a>
<a name="l00642"></a>00642     {
<a name="l00643"></a><a class="code" href="structitk_1_1Concept_1_1HasZero_1_1Constraints.html#74185979b8464985d35c9a222f949d2d">00643</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1HasZero_1_1Constraints.html#74185979b8464985d35c9a222f949d2d">constraints</a>()
<a name="l00644"></a>00644       { 
<a name="l00645"></a>00645       T a;
<a name="l00646"></a>00646       a = NumericTraits&lt;T&gt;::Zero;
<a name="l00647"></a>00647       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">Detail::IgnoreUnusedVariable</a>(a);
<a name="l00648"></a>00648       }
<a name="l00649"></a>00649     };
<a name="l00651"></a>00651 
<a name="l00652"></a>00652   <a class="code" href="structitk_1_1Concept_1_1HasZero.html#cb539c7979b466946dcb96be9599d19e">itkConceptConstraintsMacro</a>();
<a name="l00653"></a>00653 };
<a name="l00654"></a>00654 
<a name="l00656"></a>00656 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;
<a name="l00657"></a><a class="code" href="structitk_1_1Concept_1_1HasJoinTraits.html">00657</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1HasJoinTraits.html">HasJoinTraits</a>
<a name="l00658"></a>00658 {
<a name="l00659"></a><a class="code" href="structitk_1_1Concept_1_1HasJoinTraits_1_1Constraints.html">00659</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1HasJoinTraits_1_1Constraints.html">Constraints</a>
<a name="l00660"></a>00660     {
<a name="l00661"></a><a class="code" href="structitk_1_1Concept_1_1HasJoinTraits_1_1Constraints.html#f565d2035457851b5261d2e25eef52c2">00661</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1HasJoinTraits_1_1Constraints.html#f565d2035457851b5261d2e25eef52c2">constraints</a>()
<a name="l00662"></a>00662       { 
<a name="l00663"></a>00663       <span class="keyword">typedef</span> <span class="keyword">typename</span> JoinTraits&lt;T1, T2&gt;::ValueType ValueType;
<a name="l00664"></a>00664       }
<a name="l00665"></a>00665     };
<a name="l00666"></a>00666 
<a name="l00667"></a>00667   <a class="code" href="structitk_1_1Concept_1_1HasJoinTraits.html#8bd07aa8d96543665ba9a0b9574462f0">itkConceptConstraintsMacro</a>();
<a name="l00668"></a>00668 };
<a name="l00669"></a>00669 
<a name="l00671"></a>00671 <span class="keyword">template</span> &lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> D1, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> D2&gt;
<a name="l00672"></a><a class="code" href="structitk_1_1Concept_1_1SameDimensionOrMinusOne.html">00672</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1SameDimensionOrMinusOne.html">SameDimensionOrMinusOne</a>
<a name="l00673"></a>00673 {
<a name="l00674"></a><a class="code" href="structitk_1_1Concept_1_1SameDimensionOrMinusOne_1_1Constraints.html">00674</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1SameDimensionOrMinusOne_1_1Constraints.html">Constraints</a>
<a name="l00675"></a>00675     {
<a name="l00676"></a><a class="code" href="structitk_1_1Concept_1_1SameDimensionOrMinusOne_1_1Constraints.html#34d9c6c858109a1d733c878be0874fda">00676</a>     <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__unsigned__int.html">Detail::UniqueType_unsigned_int&lt; D1 &gt;</a>       <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__unsigned__int.html">Type1</a>;
<a name="l00677"></a><a class="code" href="structitk_1_1Concept_1_1SameDimensionOrMinusOne_1_1Constraints.html#0d5b8611d43d36ca05f217547fb1b087">00677</a>     <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__unsigned__int.html">Detail::UniqueType_unsigned_int</a>&lt; D1-1 &gt;     <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__unsigned__int.html">Type2</a>;
<a name="l00678"></a>00678 
<a name="l00679"></a><a class="code" href="structitk_1_1Concept_1_1SameDimensionOrMinusOne_1_1Constraints.html#3d049f08de61a13a6d08323e0a100284">00679</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1SameDimensionOrMinusOne_1_1Constraints.html#3d049f08de61a13a6d08323e0a100284">f</a>( <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__unsigned__int.html">Type1</a> ) {}
<a name="l00680"></a><a class="code" href="structitk_1_1Concept_1_1SameDimensionOrMinusOne_1_1Constraints.html#58a6197782966ffbb0679f51064feff7">00680</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1SameDimensionOrMinusOne_1_1Constraints.html#58a6197782966ffbb0679f51064feff7">f</a>( <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__unsigned__int.html">Type2</a>, <span class="keywordtype">int</span> = 0 ) {}
<a name="l00681"></a>00681 
<a name="l00682"></a><a class="code" href="structitk_1_1Concept_1_1SameDimensionOrMinusOne_1_1Constraints.html#65f78305b81261faa61e0c5a2e7c38b4">00682</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1SameDimensionOrMinusOne_1_1Constraints.html#65f78305b81261faa61e0c5a2e7c38b4">constraints</a>()
<a name="l00683"></a>00683       {
<a name="l00684"></a>00684       <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__unsigned__int.html">Detail::UniqueType_unsigned_int&lt; D2 &gt;</a> tt;
<a name="l00685"></a>00685       this-&gt;<a class="code" href="structitk_1_1Concept_1_1SameDimensionOrMinusOne_1_1Constraints.html#3d049f08de61a13a6d08323e0a100284">f</a>( tt );
<a name="l00686"></a>00686       }
<a name="l00687"></a>00687     };
<a name="l00688"></a>00688   <a class="code" href="structitk_1_1Concept_1_1SameDimensionOrMinusOne.html#2a489825ec68a83e814c002529cd13c4">itkConceptConstraintsMacro</a>();
<a name="l00689"></a>00689 };
<a name="l00690"></a>00690 
<a name="l00692"></a>00692 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00693"></a><a class="code" href="structitk_1_1Concept_1_1IsInteger.html">00693</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1IsInteger.html">IsInteger</a>
<a name="l00694"></a>00694 {
<a name="l00695"></a><a class="code" href="structitk_1_1Concept_1_1IsInteger.html#9811212aff22367b06ef4b9cc771e013">00695</a>   <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1IsInteger.html">IsInteger</a> <a class="code" href="structitk_1_1Concept_1_1IsInteger.html">Self</a>;
<a name="l00696"></a>00696   <a class="code" href="structitk_1_1Concept_1_1IsInteger.html#f46cbe285c0b7975a1e4895671d3cd90">itkStaticConstMacro</a>(Integral, <span class="keywordtype">bool</span>, NumericTraits&lt;T&gt;::is_integer);
<a name="l00697"></a><a class="code" href="structitk_1_1Concept_1_1IsInteger_1_1Constraints.html">00697</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1IsInteger_1_1Constraints.html">Constraints</a>
<a name="l00698"></a>00698     {
<a name="l00699"></a><a class="code" href="structitk_1_1Concept_1_1IsInteger_1_1Constraints.html#b48749307d21311fdb44c308f5c7b56b">00699</a>     <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">Detail::UniqueType_bool&lt;true&gt;</a> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">TrueT</a>;
<a name="l00700"></a><a class="code" href="structitk_1_1Concept_1_1IsInteger_1_1Constraints.html#c79490f03b1b50db152eca5c4295a5e8">00700</a>     <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">Detail::UniqueType_bool&lt;itkGetStaticConstMacro(Integral)&gt;</a> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">IntegralT</a>;
<a name="l00701"></a><a class="code" href="structitk_1_1Concept_1_1IsInteger_1_1Constraints.html#e575705a39127aded2f7e908ef7f3705">00701</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1IsInteger_1_1Constraints.html#e575705a39127aded2f7e908ef7f3705">constraints</a>()
<a name="l00702"></a>00702       {
<a name="l00703"></a>00703       <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">IntegralT</a> a = <a class="code" href="structitk_1_1Concept_1_1IsInteger_1_1Constraints.html#b48749307d21311fdb44c308f5c7b56b">TrueT</a>();
<a name="l00704"></a>00704       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">Detail::IgnoreUnusedVariable</a>(a);
<a name="l00705"></a>00705       }
<a name="l00706"></a>00706     };
<a name="l00708"></a>00708 
<a name="l00709"></a>00709   <a class="code" href="structitk_1_1Concept_1_1IsInteger.html#f82cb0087e8e0cb82ec3b3454741d008">itkConceptConstraintsMacro</a>();
<a name="l00710"></a>00710 };
<a name="l00711"></a>00711   
<a name="l00713"></a>00713 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00714"></a><a class="code" href="structitk_1_1Concept_1_1IsNonInteger.html">00714</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1IsNonInteger.html">IsNonInteger</a>
<a name="l00715"></a>00715 {
<a name="l00716"></a><a class="code" href="structitk_1_1Concept_1_1IsNonInteger.html#2182ef6c7b78024565454295cb6a77a4">00716</a>   <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1IsNonInteger.html">IsNonInteger</a> <a class="code" href="structitk_1_1Concept_1_1IsNonInteger.html">Self</a>;
<a name="l00717"></a>00717   <a class="code" href="structitk_1_1Concept_1_1IsNonInteger.html#2709beb564b2ea9e035aed9bc278723d">itkStaticConstMacro</a>(NonIntegral, <span class="keywordtype">bool</span>, NumericTraits&lt;T&gt;::is_integer);
<a name="l00718"></a><a class="code" href="structitk_1_1Concept_1_1IsNonInteger_1_1Constraints.html">00718</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1IsNonInteger_1_1Constraints.html">Constraints</a>
<a name="l00719"></a>00719     {
<a name="l00720"></a><a class="code" href="structitk_1_1Concept_1_1IsNonInteger_1_1Constraints.html#2dab3c070218665768a8a7c43f88ef31">00720</a>     <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">Detail::UniqueType_bool&lt;false&gt;</a> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">FalseT</a>;
<a name="l00721"></a><a class="code" href="structitk_1_1Concept_1_1IsNonInteger_1_1Constraints.html#b064649914bbd2157dbee3688a69b422">00721</a>     <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">Detail::UniqueType_bool&lt;itkGetStaticConstMacro(NonIntegral)&gt;</a> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">NonIntegralT</a>;
<a name="l00722"></a><a class="code" href="structitk_1_1Concept_1_1IsNonInteger_1_1Constraints.html#0c464e8067a061a9b2a4431828995081">00722</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1IsNonInteger_1_1Constraints.html#0c464e8067a061a9b2a4431828995081">constraints</a>()
<a name="l00723"></a>00723       {
<a name="l00724"></a>00724       <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">NonIntegralT</a> a = <a class="code" href="structitk_1_1Concept_1_1IsNonInteger_1_1Constraints.html#2dab3c070218665768a8a7c43f88ef31">FalseT</a>();
<a name="l00725"></a>00725       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">Detail::IgnoreUnusedVariable</a>(a);
<a name="l00726"></a>00726       }
<a name="l00727"></a>00727     };
<a name="l00729"></a>00729 
<a name="l00730"></a>00730   <a class="code" href="structitk_1_1Concept_1_1IsNonInteger.html#9cb2423682d2318f3164e61191d452b5">itkConceptConstraintsMacro</a>();
<a name="l00731"></a>00731 };
<a name="l00732"></a>00732   
<a name="l00734"></a>00734 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00735"></a><a class="code" href="structitk_1_1Concept_1_1IsFloatingPoint.html">00735</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1IsFloatingPoint.html">IsFloatingPoint</a>
<a name="l00736"></a>00736 {
<a name="l00737"></a><a class="code" href="structitk_1_1Concept_1_1IsFloatingPoint.html#93aa6df1adf50be2ac5d3fdadc889eb9">00737</a>   <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1IsFloatingPoint.html">IsFloatingPoint</a> <a class="code" href="structitk_1_1Concept_1_1IsFloatingPoint.html">Self</a>;
<a name="l00738"></a>00738   <a class="code" href="structitk_1_1Concept_1_1IsFloatingPoint.html#6d212e308d5cb580b453896513606677">itkStaticConstMacro</a>(Integral, <span class="keywordtype">bool</span>, NumericTraits&lt;T&gt;::is_integer);
<a name="l00739"></a>00739   <a class="code" href="structitk_1_1Concept_1_1IsFloatingPoint.html#6d212e308d5cb580b453896513606677">itkStaticConstMacro</a>(IsExact, <span class="keywordtype">bool</span>, NumericTraits&lt;T&gt;::is_exact);
<a name="l00740"></a><a class="code" href="structitk_1_1Concept_1_1IsFloatingPoint_1_1Constraints.html">00740</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1IsFloatingPoint_1_1Constraints.html">Constraints</a>
<a name="l00741"></a>00741     {
<a name="l00742"></a><a class="code" href="structitk_1_1Concept_1_1IsFloatingPoint_1_1Constraints.html#76e62fa83d866e8188ddb9db803d3e4a">00742</a>     <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">Detail::UniqueType_bool&lt;false&gt;</a> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">FalseT</a>;
<a name="l00743"></a><a class="code" href="structitk_1_1Concept_1_1IsFloatingPoint_1_1Constraints.html#30e2ecf9265e05fe9fd5938271392251">00743</a>     <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">Detail::UniqueType_bool&lt;itkGetStaticConstMacro(Integral)&gt;</a> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">IntegralT</a>;
<a name="l00744"></a><a class="code" href="structitk_1_1Concept_1_1IsFloatingPoint_1_1Constraints.html#878277844e839c48c4b59b8c81c1d1a0">00744</a>     <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">Detail::UniqueType_bool&lt;itkGetStaticConstMacro(IsExact)&gt;</a> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">ExactT</a>;
<a name="l00745"></a><a class="code" href="structitk_1_1Concept_1_1IsFloatingPoint_1_1Constraints.html#34e34deec3e787956e82183b0355bdf5">00745</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1IsFloatingPoint_1_1Constraints.html#34e34deec3e787956e82183b0355bdf5">constraints</a>()
<a name="l00746"></a>00746       {
<a name="l00747"></a>00747       <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">IntegralT</a> a = <a class="code" href="structitk_1_1Concept_1_1IsFloatingPoint_1_1Constraints.html#76e62fa83d866e8188ddb9db803d3e4a">FalseT</a>();
<a name="l00748"></a>00748       <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">ExactT</a> b = <a class="code" href="structitk_1_1Concept_1_1IsFloatingPoint_1_1Constraints.html#76e62fa83d866e8188ddb9db803d3e4a">FalseT</a>();
<a name="l00749"></a>00749       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">Detail::IgnoreUnusedVariable</a>(a);
<a name="l00750"></a>00750       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">Detail::IgnoreUnusedVariable</a>(b);
<a name="l00751"></a>00751       }
<a name="l00752"></a>00752     };
<a name="l00754"></a>00754 
<a name="l00755"></a>00755   <a class="code" href="structitk_1_1Concept_1_1IsFloatingPoint.html#8ce9f68301735da9f4115b7af003a099">itkConceptConstraintsMacro</a>();
<a name="l00756"></a>00756 };
<a name="l00757"></a>00757   
<a name="l00759"></a>00759 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00760"></a><a class="code" href="structitk_1_1Concept_1_1IsFixedPoint.html">00760</a> <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1IsFixedPoint.html">IsFixedPoint</a>
<a name="l00761"></a>00761 {
<a name="l00762"></a><a class="code" href="structitk_1_1Concept_1_1IsFixedPoint.html#c26c3954b791209b161b94ecb5e0e3bc">00762</a>   <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1IsFixedPoint.html">IsFixedPoint</a> <a class="code" href="structitk_1_1Concept_1_1IsFixedPoint.html">Self</a>;
<a name="l00763"></a>00763   <a class="code" href="structitk_1_1Concept_1_1IsFixedPoint.html#c98e96bce62124139ff5fbd47b810b15">itkStaticConstMacro</a>(Integral, <span class="keywordtype">bool</span>, NumericTraits&lt;T&gt;::is_integer);
<a name="l00764"></a>00764   <a class="code" href="structitk_1_1Concept_1_1IsFixedPoint.html#c98e96bce62124139ff5fbd47b810b15">itkStaticConstMacro</a>(IsExact, <span class="keywordtype">bool</span>, NumericTraits&lt;T&gt;::is_exact);
<a name="l00765"></a><a class="code" href="structitk_1_1Concept_1_1IsFixedPoint_1_1Constraints.html">00765</a>   <span class="keyword">struct </span><a class="code" href="structitk_1_1Concept_1_1IsFixedPoint_1_1Constraints.html">Constraints</a>
<a name="l00766"></a>00766     {
<a name="l00767"></a><a class="code" href="structitk_1_1Concept_1_1IsFixedPoint_1_1Constraints.html#00b8c2ad3723b6eac701bd4eb6bdcb72">00767</a>     <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">Detail::UniqueType_bool&lt;true&gt;</a>                               <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">TrueT</a>;
<a name="l00768"></a><a class="code" href="structitk_1_1Concept_1_1IsFixedPoint_1_1Constraints.html#dd66ba249237305bfac296556e33d5f2">00768</a>     <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">Detail::UniqueType_bool&lt;false&gt;</a>                              <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">FalseT</a>;
<a name="l00769"></a><a class="code" href="structitk_1_1Concept_1_1IsFixedPoint_1_1Constraints.html#78699f4729b5dd028c1d0848bd39134f">00769</a>     <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">Detail::UniqueType_bool&lt;itkGetStaticConstMacro(Integral)&gt;</a>   <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">IntegralT</a>;
<a name="l00770"></a><a class="code" href="structitk_1_1Concept_1_1IsFixedPoint_1_1Constraints.html#f76612e98d0d9bd53124fd4c8181054f">00770</a>     <span class="keyword">typedef</span> <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">Detail::UniqueType_bool&lt;itkGetStaticConstMacro(IsExact)&gt;</a>    <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">ExactT</a>;
<a name="l00771"></a><a class="code" href="structitk_1_1Concept_1_1IsFixedPoint_1_1Constraints.html#e48822fd022eb4a52d226c3f6fc55932">00771</a>     <span class="keywordtype">void</span> <a class="code" href="structitk_1_1Concept_1_1IsFixedPoint_1_1Constraints.html#e48822fd022eb4a52d226c3f6fc55932">constraints</a>()
<a name="l00772"></a>00772       {
<a name="l00773"></a>00773       <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">IntegralT</a> a = <a class="code" href="structitk_1_1Concept_1_1IsFixedPoint_1_1Constraints.html#dd66ba249237305bfac296556e33d5f2">FalseT</a>();
<a name="l00774"></a>00774       <a class="code" href="structitk_1_1Concept_1_1Detail_1_1UniqueType__bool.html">ExactT</a> b = <a class="code" href="structitk_1_1Concept_1_1IsFixedPoint_1_1Constraints.html#00b8c2ad3723b6eac701bd4eb6bdcb72">TrueT</a>();
<a name="l00775"></a>00775       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">Detail::IgnoreUnusedVariable</a>(a);
<a name="l00776"></a>00776       <a class="code" href="namespaceitk_1_1Concept_1_1Detail.html#df60b674b6bd04c3b29b4e26feec6e29">Detail::IgnoreUnusedVariable</a>(b);
<a name="l00777"></a>00777       }
<a name="l00778"></a>00778     };
<a name="l00780"></a>00780 
<a name="l00781"></a>00781   <a class="code" href="structitk_1_1Concept_1_1IsFixedPoint.html#e23ee826122bd211d7258761d23307d4">itkConceptConstraintsMacro</a>();
<a name="l00782"></a>00782 };
<a name="l00783"></a>00783   
<a name="l00784"></a>00784 } <span class="comment">// end namespace Concept</span>
<a name="l00785"></a>00785 
<a name="l00786"></a>00786 } <span class="comment">// end namespace itk</span>
<a name="l00787"></a>00787 
<a name="l00788"></a>00788 <span class="preprocessor">#endif</span>
<a name="l00789"></a>00789 <span class="preprocessor"></span>
</pre></div></div>
<hr><address><small>
Generated at Thu May 7 22:26:31 2009 for ITK  by <a href="http://www.stack.nl/~dimitri/doxygen/index.html"> <img 
src="http://www.stack.nl/~dimitri/doxygen/doxygen.png" alt="doxygen"
align="middle" border=0 width=110 height=53>
</a> 1.5.9 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
 &copy;&nbsp;1997-2000</small></address>
</body>
</html>