Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r52728 - trunk/libs/gil/doc/html
From: daniel_james_at_[hidden]
Date: 2009-05-02 08:44:28


Author: danieljames
Date: 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
New Revision: 52728
URL: http://svn.boost.org/trac/boost/changeset/52728

Log:
Regenerate gil documentation.
Added:
   trunk/libs/gil/doc/html/g_i_l_0032.png
      - copied, changed from r52727, /trunk/libs/gil/doc/html/g_i_l_0025.png
   trunk/libs/gil/doc/html/g_i_l_0033.png
      - copied, changed from r52727, /trunk/libs/gil/doc/html/g_i_l_0026.png
   trunk/libs/gil/doc/html/g_i_l_0034.png
      - copied, changed from r52727, /trunk/libs/gil/doc/html/g_i_l_0027.png
   trunk/libs/gil/doc/html/g_i_l_0035.png
      - copied, changed from r52727, /trunk/libs/gil/doc/html/g_i_l_0028.png
   trunk/libs/gil/doc/html/g_i_l_0036.png
      - copied, changed from r52727, /trunk/libs/gil/doc/html/g_i_l_0029.png
   trunk/libs/gil/doc/html/g_i_l_0037.png
      - copied, changed from r52727, /trunk/libs/gil/doc/html/g_i_l_0030.png
   trunk/libs/gil/doc/html/g_i_l_0038.png
      - copied, changed from r52727, /trunk/libs/gil/doc/html/g_i_l_0031.png
   trunk/libs/gil/doc/html/g_i_l_0640.html
      - copied, changed from r52727, /trunk/libs/gil/doc/html/g_i_l_0634.html
   trunk/libs/gil/doc/html/g_i_l_0641.html
      - copied, changed from r52727, /trunk/libs/gil/doc/html/g_i_l_0635.html
   trunk/libs/gil/doc/html/g_i_l_0642.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0643.html
      - copied, changed from r52727, /trunk/libs/gil/doc/html/g_i_l_0637.html
   trunk/libs/gil/doc/html/g_i_l_0644.html
      - copied, changed from r52727, /trunk/libs/gil/doc/html/g_i_l_0638.html
   trunk/libs/gil/doc/html/g_i_l_0645.html
      - copied, changed from r52727, /trunk/libs/gil/doc/html/g_i_l_0639.html
Binary files modified:
   trunk/libs/gil/doc/html/g_i_l_0001.png
   trunk/libs/gil/doc/html/g_i_l_0002.png
   trunk/libs/gil/doc/html/g_i_l_0003.png
   trunk/libs/gil/doc/html/g_i_l_0004.png
   trunk/libs/gil/doc/html/g_i_l_0005.png
   trunk/libs/gil/doc/html/g_i_l_0006.png
   trunk/libs/gil/doc/html/g_i_l_0007.png
   trunk/libs/gil/doc/html/g_i_l_0008.png
   trunk/libs/gil/doc/html/g_i_l_0009.png
   trunk/libs/gil/doc/html/g_i_l_0010.png
   trunk/libs/gil/doc/html/g_i_l_0011.png
   trunk/libs/gil/doc/html/g_i_l_0012.png
   trunk/libs/gil/doc/html/g_i_l_0013.png
   trunk/libs/gil/doc/html/g_i_l_0014.png
   trunk/libs/gil/doc/html/g_i_l_0015.png
   trunk/libs/gil/doc/html/g_i_l_0016.png
   trunk/libs/gil/doc/html/g_i_l_0017.png
   trunk/libs/gil/doc/html/g_i_l_0018.png
   trunk/libs/gil/doc/html/g_i_l_0019.png
   trunk/libs/gil/doc/html/g_i_l_0020.png
   trunk/libs/gil/doc/html/g_i_l_0021.png
   trunk/libs/gil/doc/html/g_i_l_0022.png
   trunk/libs/gil/doc/html/g_i_l_0023.png
   trunk/libs/gil/doc/html/g_i_l_0024.png
   trunk/libs/gil/doc/html/g_i_l_0025.png
   trunk/libs/gil/doc/html/g_i_l_0026.png
   trunk/libs/gil/doc/html/g_i_l_0027.png
   trunk/libs/gil/doc/html/g_i_l_0028.png
   trunk/libs/gil/doc/html/g_i_l_0029.png
   trunk/libs/gil/doc/html/g_i_l_0030.png
   trunk/libs/gil/doc/html/g_i_l_0031.png
Text files modified:
   trunk/libs/gil/doc/html/g_i_l_0001.html | 1527 ++++++++++++++++++++-------------------
   trunk/libs/gil/doc/html/g_i_l_0002.html | 95 +-
   trunk/libs/gil/doc/html/g_i_l_0003.html | 61
   trunk/libs/gil/doc/html/g_i_l_0004.html | 41
   trunk/libs/gil/doc/html/g_i_l_0005.html | 47
   trunk/libs/gil/doc/html/g_i_l_0006.html | 56
   trunk/libs/gil/doc/html/g_i_l_0007.html | 43
   trunk/libs/gil/doc/html/g_i_l_0008.html | 110 +-
   trunk/libs/gil/doc/html/g_i_l_0009.html | 27
   trunk/libs/gil/doc/html/g_i_l_0010.html | 320 ++++----
   trunk/libs/gil/doc/html/g_i_l_0011.html | 70
   trunk/libs/gil/doc/html/g_i_l_0012.html | 376 ++++----
   trunk/libs/gil/doc/html/g_i_l_0013.html | 83 +-
   trunk/libs/gil/doc/html/g_i_l_0014.html | 634 ++++++++-------
   trunk/libs/gil/doc/html/g_i_l_0015.html | 113 +-
   trunk/libs/gil/doc/html/g_i_l_0016.html | 109 +-
   trunk/libs/gil/doc/html/g_i_l_0017.html | 27
   trunk/libs/gil/doc/html/g_i_l_0018.html | 95 +-
   trunk/libs/gil/doc/html/g_i_l_0019.html | 27
   trunk/libs/gil/doc/html/g_i_l_0020.html | 82 +-
   trunk/libs/gil/doc/html/g_i_l_0021.html | 35
   trunk/libs/gil/doc/html/g_i_l_0022.html | 55
   trunk/libs/gil/doc/html/g_i_l_0023.html | 35
   trunk/libs/gil/doc/html/g_i_l_0024.html | 67
   trunk/libs/gil/doc/html/g_i_l_0025.html | 27
   trunk/libs/gil/doc/html/g_i_l_0026.html | 135 +-
   trunk/libs/gil/doc/html/g_i_l_0027.html | 25
   trunk/libs/gil/doc/html/g_i_l_0028.html | 49
   trunk/libs/gil/doc/html/g_i_l_0029.html | 25
   trunk/libs/gil/doc/html/g_i_l_0030.html | 51
   trunk/libs/gil/doc/html/g_i_l_0031.html | 25
   trunk/libs/gil/doc/html/g_i_l_0032.html | 51
   trunk/libs/gil/doc/html/g_i_l_0033.html | 25
   trunk/libs/gil/doc/html/g_i_l_0034.html | 51
   trunk/libs/gil/doc/html/g_i_l_0035.html | 25
   trunk/libs/gil/doc/html/g_i_l_0036.html | 85 +
   trunk/libs/gil/doc/html/g_i_l_0037.html | 39
   trunk/libs/gil/doc/html/g_i_l_0038.html | 127 +-
   trunk/libs/gil/doc/html/g_i_l_0039.html | 25
   trunk/libs/gil/doc/html/g_i_l_0040.html | 166 ++--
   trunk/libs/gil/doc/html/g_i_l_0041.html | 29
   trunk/libs/gil/doc/html/g_i_l_0042.html | 132 +-
   trunk/libs/gil/doc/html/g_i_l_0043.html | 63
   trunk/libs/gil/doc/html/g_i_l_0044.html | 167 ++--
   trunk/libs/gil/doc/html/g_i_l_0045.html | 39
   trunk/libs/gil/doc/html/g_i_l_0046.html | 121 +-
   trunk/libs/gil/doc/html/g_i_l_0047.html | 52 +
   trunk/libs/gil/doc/html/g_i_l_0048.html | 75 +
   trunk/libs/gil/doc/html/g_i_l_0049.html | 52 +
   trunk/libs/gil/doc/html/g_i_l_0050.html | 83 +-
   trunk/libs/gil/doc/html/g_i_l_0051.html | 25
   trunk/libs/gil/doc/html/g_i_l_0052.html | 67
   trunk/libs/gil/doc/html/g_i_l_0053.html | 52 +
   trunk/libs/gil/doc/html/g_i_l_0054.html | 71
   trunk/libs/gil/doc/html/g_i_l_0055.html | 52 +
   trunk/libs/gil/doc/html/g_i_l_0056.html | 95 +-
   trunk/libs/gil/doc/html/g_i_l_0057.html | 27
   trunk/libs/gil/doc/html/g_i_l_0058.html | 214 ++--
   trunk/libs/gil/doc/html/g_i_l_0059.html | 29
   trunk/libs/gil/doc/html/g_i_l_0060.html | 73
   trunk/libs/gil/doc/html/g_i_l_0061.html | 29
   trunk/libs/gil/doc/html/g_i_l_0062.html | 85 +-
   trunk/libs/gil/doc/html/g_i_l_0063.html | 73
   trunk/libs/gil/doc/html/g_i_l_0064.html | 129 +-
   trunk/libs/gil/doc/html/g_i_l_0065.html | 87 +-
   trunk/libs/gil/doc/html/g_i_l_0066.html | 732 +++++++++---------
   trunk/libs/gil/doc/html/g_i_l_0067.html | 128 +-
   trunk/libs/gil/doc/html/g_i_l_0068.html | 99 +-
   trunk/libs/gil/doc/html/g_i_l_0069.html | 252 +++---
   trunk/libs/gil/doc/html/g_i_l_0070.html | 494 ++++++------
   trunk/libs/gil/doc/html/g_i_l_0071.html | 125 +-
   trunk/libs/gil/doc/html/g_i_l_0072.html | 129 +-
   trunk/libs/gil/doc/html/g_i_l_0073.html | 29
   trunk/libs/gil/doc/html/g_i_l_0074.html | 126 +-
   trunk/libs/gil/doc/html/g_i_l_0075.html | 201 +---
   trunk/libs/gil/doc/html/g_i_l_0076.html | 117 --
   trunk/libs/gil/doc/html/g_i_l_0077.html | 109 +-
   trunk/libs/gil/doc/html/g_i_l_0078.html | 51
   trunk/libs/gil/doc/html/g_i_l_0079.html | 280 +++++--
   trunk/libs/gil/doc/html/g_i_l_0080.html | 172 +++-
   trunk/libs/gil/doc/html/g_i_l_0081.html | 260 ++----
   trunk/libs/gil/doc/html/g_i_l_0082.html | 131 --
   trunk/libs/gil/doc/html/g_i_l_0083.html | 225 -----
   trunk/libs/gil/doc/html/g_i_l_0084.html | 220 ++---
   trunk/libs/gil/doc/html/g_i_l_0085.html | 95 +-
   trunk/libs/gil/doc/html/g_i_l_0086.html | 1438 ++++---------------------------------
   trunk/libs/gil/doc/html/g_i_l_0087.html | 356 +-------
   trunk/libs/gil/doc/html/g_i_l_0088.html | 217 ++++-
   trunk/libs/gil/doc/html/g_i_l_0089.html | 153 +++
   trunk/libs/gil/doc/html/g_i_l_0090.html | 77 +
   trunk/libs/gil/doc/html/g_i_l_0091.html | 1330 +++++++++++++++++++++++++++++++++
   trunk/libs/gil/doc/html/g_i_l_0092.html | 320 +++++++
   trunk/libs/gil/doc/html/g_i_l_0093.html | 97 +-
   trunk/libs/gil/doc/html/g_i_l_0094.html | 74 -
   trunk/libs/gil/doc/html/g_i_l_0095.html | 84 +
   trunk/libs/gil/doc/html/g_i_l_0096.html | 60
   trunk/libs/gil/doc/html/g_i_l_0097.html | 87 -
   trunk/libs/gil/doc/html/g_i_l_0098.html | 64
   trunk/libs/gil/doc/html/g_i_l_0099.html | 65 +
   trunk/libs/gil/doc/html/g_i_l_0100.html | 91 -
   trunk/libs/gil/doc/html/g_i_l_0101.html | 75 -
   trunk/libs/gil/doc/html/g_i_l_0102.html | 102 +
   trunk/libs/gil/doc/html/g_i_l_0103.html | 67 +
   trunk/libs/gil/doc/html/g_i_l_0104.html | 56
   trunk/libs/gil/doc/html/g_i_l_0105.html | 160 +--
   trunk/libs/gil/doc/html/g_i_l_0106.html | 79 +
   trunk/libs/gil/doc/html/g_i_l_0107.html | 54
   trunk/libs/gil/doc/html/g_i_l_0108.html | 65 -
   trunk/libs/gil/doc/html/g_i_l_0109.html | 74 -
   trunk/libs/gil/doc/html/g_i_l_0110.html | 110 ++
   trunk/libs/gil/doc/html/g_i_l_0111.html | 83 -
   trunk/libs/gil/doc/html/g_i_l_0112.html | 60
   trunk/libs/gil/doc/html/g_i_l_0113.html | 91 +-
   trunk/libs/gil/doc/html/g_i_l_0114.html | 88 +-
   trunk/libs/gil/doc/html/g_i_l_0115.html | 40
   trunk/libs/gil/doc/html/g_i_l_0116.html | 77 +
   trunk/libs/gil/doc/html/g_i_l_0117.html | 53
   trunk/libs/gil/doc/html/g_i_l_0118.html | 64 +
   trunk/libs/gil/doc/html/g_i_l_0119.html | 59 +
   trunk/libs/gil/doc/html/g_i_l_0120.html | 69 -
   trunk/libs/gil/doc/html/g_i_l_0121.html | 65 -
   trunk/libs/gil/doc/html/g_i_l_0122.html | 39
   trunk/libs/gil/doc/html/g_i_l_0123.html | 44
   trunk/libs/gil/doc/html/g_i_l_0124.html | 45
   trunk/libs/gil/doc/html/g_i_l_0125.html | 82 +-
   trunk/libs/gil/doc/html/g_i_l_0126.html | 69 +
   trunk/libs/gil/doc/html/g_i_l_0127.html | 46
   trunk/libs/gil/doc/html/g_i_l_0128.html | 52
   trunk/libs/gil/doc/html/g_i_l_0129.html | 49
   trunk/libs/gil/doc/html/g_i_l_0130.html | 94 +-
   trunk/libs/gil/doc/html/g_i_l_0131.html | 56
   trunk/libs/gil/doc/html/g_i_l_0132.html | 45
   trunk/libs/gil/doc/html/g_i_l_0133.html | 58
   trunk/libs/gil/doc/html/g_i_l_0134.html | 53
   trunk/libs/gil/doc/html/g_i_l_0135.html | 131 +--
   trunk/libs/gil/doc/html/g_i_l_0136.html | 51
   trunk/libs/gil/doc/html/g_i_l_0137.html | 39
   trunk/libs/gil/doc/html/g_i_l_0138.html | 103 --
   trunk/libs/gil/doc/html/g_i_l_0139.html | 84 -
   trunk/libs/gil/doc/html/g_i_l_0140.html | 119 ++
   trunk/libs/gil/doc/html/g_i_l_0141.html | 42
   trunk/libs/gil/doc/html/g_i_l_0142.html | 44
   trunk/libs/gil/doc/html/g_i_l_0143.html | 124 ++
   trunk/libs/gil/doc/html/g_i_l_0144.html | 74 +
   trunk/libs/gil/doc/html/g_i_l_0145.html | 52
   trunk/libs/gil/doc/html/g_i_l_0146.html | 40
   trunk/libs/gil/doc/html/g_i_l_0147.html | 41
   trunk/libs/gil/doc/html/g_i_l_0148.html | 58
   trunk/libs/gil/doc/html/g_i_l_0149.html | 49
   trunk/libs/gil/doc/html/g_i_l_0150.html | 41
   trunk/libs/gil/doc/html/g_i_l_0151.html | 38
   trunk/libs/gil/doc/html/g_i_l_0152.html | 100 --
   trunk/libs/gil/doc/html/g_i_l_0153.html | 49
   trunk/libs/gil/doc/html/g_i_l_0154.html | 52
   trunk/libs/gil/doc/html/g_i_l_0155.html | 47
   trunk/libs/gil/doc/html/g_i_l_0156.html | 89 -
   trunk/libs/gil/doc/html/g_i_l_0157.html | 103 ++
   trunk/libs/gil/doc/html/g_i_l_0158.html | 43
   trunk/libs/gil/doc/html/g_i_l_0159.html | 50
   trunk/libs/gil/doc/html/g_i_l_0160.html | 52
   trunk/libs/gil/doc/html/g_i_l_0161.html | 98 +
   trunk/libs/gil/doc/html/g_i_l_0162.html | 53
   trunk/libs/gil/doc/html/g_i_l_0163.html | 44
   trunk/libs/gil/doc/html/g_i_l_0164.html | 140 ---
   trunk/libs/gil/doc/html/g_i_l_0165.html | 80 -
   trunk/libs/gil/doc/html/g_i_l_0166.html | 53
   trunk/libs/gil/doc/html/g_i_l_0167.html | 57
   trunk/libs/gil/doc/html/g_i_l_0168.html | 53
   trunk/libs/gil/doc/html/g_i_l_0169.html | 157 ++--
   trunk/libs/gil/doc/html/g_i_l_0170.html | 89 +-
   trunk/libs/gil/doc/html/g_i_l_0171.html | 62 -
   trunk/libs/gil/doc/html/g_i_l_0172.html | 47
   trunk/libs/gil/doc/html/g_i_l_0173.html | 52
   trunk/libs/gil/doc/html/g_i_l_0174.html | 150 +++
   trunk/libs/gil/doc/html/g_i_l_0175.html | 69 +
   trunk/libs/gil/doc/html/g_i_l_0176.html | 62 +
   trunk/libs/gil/doc/html/g_i_l_0177.html | 86 -
   trunk/libs/gil/doc/html/g_i_l_0178.html | 61
   trunk/libs/gil/doc/html/g_i_l_0179.html | 46
   trunk/libs/gil/doc/html/g_i_l_0180.html | 46
   trunk/libs/gil/doc/html/g_i_l_0181.html | 53
   trunk/libs/gil/doc/html/g_i_l_0182.html | 80 +
   trunk/libs/gil/doc/html/g_i_l_0183.html | 60
   trunk/libs/gil/doc/html/g_i_l_0184.html | 51
   trunk/libs/gil/doc/html/g_i_l_0185.html | 41
   trunk/libs/gil/doc/html/g_i_l_0186.html | 53
   trunk/libs/gil/doc/html/g_i_l_0187.html | 42
   trunk/libs/gil/doc/html/g_i_l_0188.html | 70 -
   trunk/libs/gil/doc/html/g_i_l_0189.html | 55
   trunk/libs/gil/doc/html/g_i_l_0190.html | 38
   trunk/libs/gil/doc/html/g_i_l_0191.html | 38
   trunk/libs/gil/doc/html/g_i_l_0192.html | 44
   trunk/libs/gil/doc/html/g_i_l_0193.html | 74 +
   trunk/libs/gil/doc/html/g_i_l_0194.html | 43
   trunk/libs/gil/doc/html/g_i_l_0195.html | 37
   trunk/libs/gil/doc/html/g_i_l_0196.html | 35
   trunk/libs/gil/doc/html/g_i_l_0197.html | 44
   trunk/libs/gil/doc/html/g_i_l_0198.html | 38
   trunk/libs/gil/doc/html/g_i_l_0199.html | 58
   trunk/libs/gil/doc/html/g_i_l_0200.html | 43
   trunk/libs/gil/doc/html/g_i_l_0201.html | 54
   trunk/libs/gil/doc/html/g_i_l_0202.html | 59
   trunk/libs/gil/doc/html/g_i_l_0203.html | 46
   trunk/libs/gil/doc/html/g_i_l_0204.html | 54
   trunk/libs/gil/doc/html/g_i_l_0205.html | 70 -
   trunk/libs/gil/doc/html/g_i_l_0206.html | 62
   trunk/libs/gil/doc/html/g_i_l_0207.html | 52
   trunk/libs/gil/doc/html/g_i_l_0208.html | 91 -
   trunk/libs/gil/doc/html/g_i_l_0209.html | 157 ---
   trunk/libs/gil/doc/html/g_i_l_0210.html | 78 +
   trunk/libs/gil/doc/html/g_i_l_0211.html | 153 ---
   trunk/libs/gil/doc/html/g_i_l_0212.html | 55
   trunk/libs/gil/doc/html/g_i_l_0213.html | 99 +
   trunk/libs/gil/doc/html/g_i_l_0214.html | 156 +++
   trunk/libs/gil/doc/html/g_i_l_0215.html | 71 -
   trunk/libs/gil/doc/html/g_i_l_0216.html | 138 +++
   trunk/libs/gil/doc/html/g_i_l_0217.html | 80 -
   trunk/libs/gil/doc/html/g_i_l_0218.html | 315 +-------
   trunk/libs/gil/doc/html/g_i_l_0219.html | 227 +----
   trunk/libs/gil/doc/html/g_i_l_0220.html | 80 +
   trunk/libs/gil/doc/html/g_i_l_0221.html | 477 -----------
   trunk/libs/gil/doc/html/g_i_l_0222.html | 205 +----
   trunk/libs/gil/doc/html/g_i_l_0223.html | 311 ++++++-
   trunk/libs/gil/doc/html/g_i_l_0224.html | 321 ++++---
   trunk/libs/gil/doc/html/g_i_l_0225.html | 58
   trunk/libs/gil/doc/html/g_i_l_0226.html | 545 +++++++++++--
   trunk/libs/gil/doc/html/g_i_l_0227.html | 191 +++-
   trunk/libs/gil/doc/html/g_i_l_0228.html | 203 +---
   trunk/libs/gil/doc/html/g_i_l_0229.html | 375 +++-----
   trunk/libs/gil/doc/html/g_i_l_0230.html | 54
   trunk/libs/gil/doc/html/g_i_l_0231.html | 374 ++------
   trunk/libs/gil/doc/html/g_i_l_0232.html | 423 +---------
   trunk/libs/gil/doc/html/g_i_l_0233.html | 337 ++++----
   trunk/libs/gil/doc/html/g_i_l_0234.html | 371 +++++---
   trunk/libs/gil/doc/html/g_i_l_0235.html | 68 -
   trunk/libs/gil/doc/html/g_i_l_0236.html | 428 ++++++----
   trunk/libs/gil/doc/html/g_i_l_0237.html | 461 ++++++++---
   trunk/libs/gil/doc/html/g_i_l_0238.html | 207 ++++-
   trunk/libs/gil/doc/html/g_i_l_0239.html | 319 +++----
   trunk/libs/gil/doc/html/g_i_l_0240.html | 94 -
   trunk/libs/gil/doc/html/g_i_l_0241.html | 355 ++++-----
   trunk/libs/gil/doc/html/g_i_l_0242.html | 204 +++-
   trunk/libs/gil/doc/html/g_i_l_0243.html | 228 +----
   trunk/libs/gil/doc/html/g_i_l_0244.html | 275 +++++--
   trunk/libs/gil/doc/html/g_i_l_0245.html | 210 +---
   trunk/libs/gil/doc/html/g_i_l_0246.html | 272 +++++-
   trunk/libs/gil/doc/html/g_i_l_0247.html | 243 +----
   trunk/libs/gil/doc/html/g_i_l_0248.html | 523 ++++---------
   trunk/libs/gil/doc/html/g_i_l_0249.html | 90 +
   trunk/libs/gil/doc/html/g_i_l_0250.html | 223 +++--
   trunk/libs/gil/doc/html/g_i_l_0251.html | 75 +
   trunk/libs/gil/doc/html/g_i_l_0252.html | 773 ++++----------------
   trunk/libs/gil/doc/html/g_i_l_0253.html | 402 +++++++++-
   trunk/libs/gil/doc/html/g_i_l_0254.html | 317 +-------
   trunk/libs/gil/doc/html/g_i_l_0255.html | 232 +++---
   trunk/libs/gil/doc/html/g_i_l_0256.html | 54 +
   trunk/libs/gil/doc/html/g_i_l_0257.html | 669 ++++++++++++++++-
   trunk/libs/gil/doc/html/g_i_l_0258.html | 77 +
   trunk/libs/gil/doc/html/g_i_l_0259.html | 326 +++++++-
   trunk/libs/gil/doc/html/g_i_l_0260.html | 133 +++
   trunk/libs/gil/doc/html/g_i_l_0261.html | 61 -
   trunk/libs/gil/doc/html/g_i_l_0262.html | 53
   trunk/libs/gil/doc/html/g_i_l_0263.html | 55 -
   trunk/libs/gil/doc/html/g_i_l_0264.html | 69 +
   trunk/libs/gil/doc/html/g_i_l_0265.html | 54
   trunk/libs/gil/doc/html/g_i_l_0266.html | 61 +
   trunk/libs/gil/doc/html/g_i_l_0267.html | 54 -
   trunk/libs/gil/doc/html/g_i_l_0268.html | 55 +
   trunk/libs/gil/doc/html/g_i_l_0269.html | 78 -
   trunk/libs/gil/doc/html/g_i_l_0270.html | 52
   trunk/libs/gil/doc/html/g_i_l_0271.html | 53 -
   trunk/libs/gil/doc/html/g_i_l_0272.html | 54 +
   trunk/libs/gil/doc/html/g_i_l_0273.html | 58 -
   trunk/libs/gil/doc/html/g_i_l_0274.html | 78 +
   trunk/libs/gil/doc/html/g_i_l_0275.html | 54 -
   trunk/libs/gil/doc/html/g_i_l_0276.html | 53
   trunk/libs/gil/doc/html/g_i_l_0277.html | 54 -
   trunk/libs/gil/doc/html/g_i_l_0278.html | 57 +
   trunk/libs/gil/doc/html/g_i_l_0279.html | 49
   trunk/libs/gil/doc/html/g_i_l_0280.html | 54 +
   trunk/libs/gil/doc/html/g_i_l_0281.html | 52
   trunk/libs/gil/doc/html/g_i_l_0282.html | 54 +
   trunk/libs/gil/doc/html/g_i_l_0283.html | 53 -
   trunk/libs/gil/doc/html/g_i_l_0284.html | 49
   trunk/libs/gil/doc/html/g_i_l_0285.html | 55 -
   trunk/libs/gil/doc/html/g_i_l_0286.html | 52
   trunk/libs/gil/doc/html/g_i_l_0287.html | 55 -
   trunk/libs/gil/doc/html/g_i_l_0288.html | 53
   trunk/libs/gil/doc/html/g_i_l_0289.html | 55 -
   trunk/libs/gil/doc/html/g_i_l_0290.html | 56 +
   trunk/libs/gil/doc/html/g_i_l_0291.html | 60 -
   trunk/libs/gil/doc/html/g_i_l_0292.html | 55 +
   trunk/libs/gil/doc/html/g_i_l_0293.html | 53 -
   trunk/libs/gil/doc/html/g_i_l_0294.html | 55 +
   trunk/libs/gil/doc/html/g_i_l_0295.html | 57 -
   trunk/libs/gil/doc/html/g_i_l_0296.html | 61 +
   trunk/libs/gil/doc/html/g_i_l_0297.html | 58 -
   trunk/libs/gil/doc/html/g_i_l_0298.html | 53
   trunk/libs/gil/doc/html/g_i_l_0299.html | 54 -
   trunk/libs/gil/doc/html/g_i_l_0300.html | 57 +
   trunk/libs/gil/doc/html/g_i_l_0301.html | 60 -
   trunk/libs/gil/doc/html/g_i_l_0302.html | 59 +
   trunk/libs/gil/doc/html/g_i_l_0303.html | 65 -
   trunk/libs/gil/doc/html/g_i_l_0304.html | 55 +
   trunk/libs/gil/doc/html/g_i_l_0305.html | 74 -
   trunk/libs/gil/doc/html/g_i_l_0306.html | 59 +
   trunk/libs/gil/doc/html/g_i_l_0307.html | 60 -
   trunk/libs/gil/doc/html/g_i_l_0308.html | 65 +
   trunk/libs/gil/doc/html/g_i_l_0309.html | 53
   trunk/libs/gil/doc/html/g_i_l_0310.html | 73 +
   trunk/libs/gil/doc/html/g_i_l_0311.html | 52
   trunk/libs/gil/doc/html/g_i_l_0312.html | 60 +
   trunk/libs/gil/doc/html/g_i_l_0313.html | 63 -
   trunk/libs/gil/doc/html/g_i_l_0314.html | 53
   trunk/libs/gil/doc/html/g_i_l_0315.html | 58 -
   trunk/libs/gil/doc/html/g_i_l_0316.html | 53
   trunk/libs/gil/doc/html/g_i_l_0317.html | 59 -
   trunk/libs/gil/doc/html/g_i_l_0318.html | 63 +
   trunk/libs/gil/doc/html/g_i_l_0319.html | 53
   trunk/libs/gil/doc/html/g_i_l_0320.html | 58 +
   trunk/libs/gil/doc/html/g_i_l_0321.html | 53
   trunk/libs/gil/doc/html/g_i_l_0322.html | 58 +
   trunk/libs/gil/doc/html/g_i_l_0323.html | 54 -
   trunk/libs/gil/doc/html/g_i_l_0324.html | 52
   trunk/libs/gil/doc/html/g_i_l_0325.html | 52
   trunk/libs/gil/doc/html/g_i_l_0326.html | 52
   trunk/libs/gil/doc/html/g_i_l_0327.html | 52
   trunk/libs/gil/doc/html/g_i_l_0328.html | 54 +
   trunk/libs/gil/doc/html/g_i_l_0329.html | 52
   trunk/libs/gil/doc/html/g_i_l_0330.html | 52
   trunk/libs/gil/doc/html/g_i_l_0331.html | 52
   trunk/libs/gil/doc/html/g_i_l_0332.html | 52
   trunk/libs/gil/doc/html/g_i_l_0333.html | 54 -
   trunk/libs/gil/doc/html/g_i_l_0334.html | 52
   trunk/libs/gil/doc/html/g_i_l_0335.html | 54 -
   trunk/libs/gil/doc/html/g_i_l_0336.html | 52
   trunk/libs/gil/doc/html/g_i_l_0337.html | 52
   trunk/libs/gil/doc/html/g_i_l_0338.html | 54 +
   trunk/libs/gil/doc/html/g_i_l_0339.html | 62 -
   trunk/libs/gil/doc/html/g_i_l_0340.html | 54 +
   trunk/libs/gil/doc/html/g_i_l_0341.html | 68 -
   trunk/libs/gil/doc/html/g_i_l_0342.html | 54
   trunk/libs/gil/doc/html/g_i_l_0343.html | 62 -
   trunk/libs/gil/doc/html/g_i_l_0344.html | 63 +
   trunk/libs/gil/doc/html/g_i_l_0345.html | 65 -
   trunk/libs/gil/doc/html/g_i_l_0346.html | 71 +
   trunk/libs/gil/doc/html/g_i_l_0347.html | 73 -
   trunk/libs/gil/doc/html/g_i_l_0348.html | 63 +
   trunk/libs/gil/doc/html/g_i_l_0349.html | 64 -
   trunk/libs/gil/doc/html/g_i_l_0350.html | 65 +
   trunk/libs/gil/doc/html/g_i_l_0351.html | 57 -
   trunk/libs/gil/doc/html/g_i_l_0352.html | 71 +
   trunk/libs/gil/doc/html/g_i_l_0353.html | 56 -
   trunk/libs/gil/doc/html/g_i_l_0354.html | 64 +
   trunk/libs/gil/doc/html/g_i_l_0355.html | 66 -
   trunk/libs/gil/doc/html/g_i_l_0356.html | 55 +
   trunk/libs/gil/doc/html/g_i_l_0357.html | 65 -
   trunk/libs/gil/doc/html/g_i_l_0358.html | 56 +
   trunk/libs/gil/doc/html/g_i_l_0359.html | 69 -
   trunk/libs/gil/doc/html/g_i_l_0360.html | 67 +
   trunk/libs/gil/doc/html/g_i_l_0361.html | 89 -
   trunk/libs/gil/doc/html/g_i_l_0362.html | 66 +
   trunk/libs/gil/doc/html/g_i_l_0363.html | 90 -
   trunk/libs/gil/doc/html/g_i_l_0364.html | 69 +
   trunk/libs/gil/doc/html/g_i_l_0365.html | 73 -
   trunk/libs/gil/doc/html/g_i_l_0366.html | 89 +
   trunk/libs/gil/doc/html/g_i_l_0367.html | 101 --
   trunk/libs/gil/doc/html/g_i_l_0368.html | 90 +
   trunk/libs/gil/doc/html/g_i_l_0369.html | 98 --
   trunk/libs/gil/doc/html/g_i_l_0370.html | 72 +
   trunk/libs/gil/doc/html/g_i_l_0371.html | 52
   trunk/libs/gil/doc/html/g_i_l_0372.html | 100 ++
   trunk/libs/gil/doc/html/g_i_l_0373.html | 51
   trunk/libs/gil/doc/html/g_i_l_0374.html | 98 ++
   trunk/libs/gil/doc/html/g_i_l_0375.html | 58 -
   trunk/libs/gil/doc/html/g_i_l_0376.html | 53
   trunk/libs/gil/doc/html/g_i_l_0377.html | 59 -
   trunk/libs/gil/doc/html/g_i_l_0378.html | 50
   trunk/libs/gil/doc/html/g_i_l_0379.html | 55 -
   trunk/libs/gil/doc/html/g_i_l_0380.html | 59
   trunk/libs/gil/doc/html/g_i_l_0381.html | 34
   trunk/libs/gil/doc/html/g_i_l_0382.html | 72
   trunk/libs/gil/doc/html/g_i_l_0383.html | 29
   trunk/libs/gil/doc/html/g_i_l_0384.html | 59
   trunk/libs/gil/doc/html/g_i_l_0385.html | 40
   trunk/libs/gil/doc/html/g_i_l_0386.html | 53
   trunk/libs/gil/doc/html/g_i_l_0387.html | 64 +
   trunk/libs/gil/doc/html/g_i_l_0388.html | 50
   trunk/libs/gil/doc/html/g_i_l_0389.html | 54 +
   trunk/libs/gil/doc/html/g_i_l_0390.html | 50
   trunk/libs/gil/doc/html/g_i_l_0391.html | 54 +
   trunk/libs/gil/doc/html/g_i_l_0392.html | 50
   trunk/libs/gil/doc/html/g_i_l_0393.html | 54 +
   trunk/libs/gil/doc/html/g_i_l_0394.html | 52
   trunk/libs/gil/doc/html/g_i_l_0395.html | 67 +
   trunk/libs/gil/doc/html/g_i_l_0396.html | 118 --
   trunk/libs/gil/doc/html/g_i_l_0397.html | 76 +
   trunk/libs/gil/doc/html/g_i_l_0398.html | 127 --
   trunk/libs/gil/doc/html/g_i_l_0399.html | 54
   trunk/libs/gil/doc/html/g_i_l_0400.html | 55
   trunk/libs/gil/doc/html/g_i_l_0401.html | 112 ++
   trunk/libs/gil/doc/html/g_i_l_0402.html | 51
   trunk/libs/gil/doc/html/g_i_l_0403.html | 130 ++
   trunk/libs/gil/doc/html/g_i_l_0404.html | 40
   trunk/libs/gil/doc/html/g_i_l_0405.html | 51
   trunk/libs/gil/doc/html/g_i_l_0406.html | 41
   trunk/libs/gil/doc/html/g_i_l_0407.html | 49
   trunk/libs/gil/doc/html/g_i_l_0408.html | 49
   trunk/libs/gil/doc/html/g_i_l_0409.html | 49
   trunk/libs/gil/doc/html/g_i_l_0410.html | 54 +
   trunk/libs/gil/doc/html/g_i_l_0411.html | 49
   trunk/libs/gil/doc/html/g_i_l_0412.html | 49
   trunk/libs/gil/doc/html/g_i_l_0413.html | 50
   trunk/libs/gil/doc/html/g_i_l_0414.html | 49
   trunk/libs/gil/doc/html/g_i_l_0415.html | 49
   trunk/libs/gil/doc/html/g_i_l_0416.html | 49
   trunk/libs/gil/doc/html/g_i_l_0417.html | 49
   trunk/libs/gil/doc/html/g_i_l_0418.html | 50
   trunk/libs/gil/doc/html/g_i_l_0419.html | 49
   trunk/libs/gil/doc/html/g_i_l_0420.html | 49
   trunk/libs/gil/doc/html/g_i_l_0421.html | 49
   trunk/libs/gil/doc/html/g_i_l_0422.html | 49
   trunk/libs/gil/doc/html/g_i_l_0423.html | 49
   trunk/libs/gil/doc/html/g_i_l_0424.html | 65
   trunk/libs/gil/doc/html/g_i_l_0425.html | 29
   trunk/libs/gil/doc/html/g_i_l_0426.html | 54
   trunk/libs/gil/doc/html/g_i_l_0427.html | 50
   trunk/libs/gil/doc/html/g_i_l_0428.html | 51
   trunk/libs/gil/doc/html/g_i_l_0429.html | 59 +
   trunk/libs/gil/doc/html/g_i_l_0430.html | 51
   trunk/libs/gil/doc/html/g_i_l_0431.html | 51
   trunk/libs/gil/doc/html/g_i_l_0432.html | 57
   trunk/libs/gil/doc/html/g_i_l_0433.html | 32
   trunk/libs/gil/doc/html/g_i_l_0434.html | 54
   trunk/libs/gil/doc/html/g_i_l_0435.html | 31
   trunk/libs/gil/doc/html/g_i_l_0436.html | 59
   trunk/libs/gil/doc/html/g_i_l_0437.html | 30
   trunk/libs/gil/doc/html/g_i_l_0438.html | 61
   trunk/libs/gil/doc/html/g_i_l_0439.html | 31
   trunk/libs/gil/doc/html/g_i_l_0440.html | 60
   trunk/libs/gil/doc/html/g_i_l_0441.html | 47
   trunk/libs/gil/doc/html/g_i_l_0442.html | 55
   trunk/libs/gil/doc/html/g_i_l_0443.html | 30
   trunk/libs/gil/doc/html/g_i_l_0444.html | 60
   trunk/libs/gil/doc/html/g_i_l_0445.html | 49
   trunk/libs/gil/doc/html/g_i_l_0446.html | 47
   trunk/libs/gil/doc/html/g_i_l_0447.html | 45
   trunk/libs/gil/doc/html/g_i_l_0448.html | 40
   trunk/libs/gil/doc/html/g_i_l_0449.html | 50
   trunk/libs/gil/doc/html/g_i_l_0450.html | 47
   trunk/libs/gil/doc/html/g_i_l_0451.html | 50
   trunk/libs/gil/doc/html/g_i_l_0452.html | 47
   trunk/libs/gil/doc/html/g_i_l_0453.html | 52
   trunk/libs/gil/doc/html/g_i_l_0454.html | 29
   trunk/libs/gil/doc/html/g_i_l_0455.html | 49
   trunk/libs/gil/doc/html/g_i_l_0456.html | 29
   trunk/libs/gil/doc/html/g_i_l_0457.html | 47
   trunk/libs/gil/doc/html/g_i_l_0458.html | 29
   trunk/libs/gil/doc/html/g_i_l_0459.html | 45
   trunk/libs/gil/doc/html/g_i_l_0460.html | 29
   trunk/libs/gil/doc/html/g_i_l_0461.html | 47
   trunk/libs/gil/doc/html/g_i_l_0462.html | 29
   trunk/libs/gil/doc/html/g_i_l_0463.html | 45
   trunk/libs/gil/doc/html/g_i_l_0464.html | 29
   trunk/libs/gil/doc/html/g_i_l_0465.html | 49
   trunk/libs/gil/doc/html/g_i_l_0466.html | 29
   trunk/libs/gil/doc/html/g_i_l_0467.html | 45
   trunk/libs/gil/doc/html/g_i_l_0468.html | 33
   trunk/libs/gil/doc/html/g_i_l_0469.html | 65 -
   trunk/libs/gil/doc/html/g_i_l_0470.html | 29
   trunk/libs/gil/doc/html/g_i_l_0471.html | 51
   trunk/libs/gil/doc/html/g_i_l_0472.html | 29
   trunk/libs/gil/doc/html/g_i_l_0473.html | 51
   trunk/libs/gil/doc/html/g_i_l_0474.html | 34
   trunk/libs/gil/doc/html/g_i_l_0475.html | 74 +
   trunk/libs/gil/doc/html/g_i_l_0476.html | 30
   trunk/libs/gil/doc/html/g_i_l_0477.html | 53
   trunk/libs/gil/doc/html/g_i_l_0478.html | 30
   trunk/libs/gil/doc/html/g_i_l_0479.html | 50
   trunk/libs/gil/doc/html/g_i_l_0480.html | 30
   trunk/libs/gil/doc/html/g_i_l_0481.html | 52
   trunk/libs/gil/doc/html/g_i_l_0482.html | 30
   trunk/libs/gil/doc/html/g_i_l_0483.html | 51
   trunk/libs/gil/doc/html/g_i_l_0484.html | 30
   trunk/libs/gil/doc/html/g_i_l_0485.html | 50
   trunk/libs/gil/doc/html/g_i_l_0486.html | 29
   trunk/libs/gil/doc/html/g_i_l_0487.html | 47
   trunk/libs/gil/doc/html/g_i_l_0488.html | 29
   trunk/libs/gil/doc/html/g_i_l_0489.html | 45
   trunk/libs/gil/doc/html/g_i_l_0490.html | 46
   trunk/libs/gil/doc/html/g_i_l_0491.html | 46
   trunk/libs/gil/doc/html/g_i_l_0492.html | 35
   trunk/libs/gil/doc/html/g_i_l_0493.html | 73 -
   trunk/libs/gil/doc/html/g_i_l_0494.html | 61
   trunk/libs/gil/doc/html/g_i_l_0495.html | 100 --
   trunk/libs/gil/doc/html/g_i_l_0496.html | 61
   trunk/libs/gil/doc/html/g_i_l_0497.html | 109 --
   trunk/libs/gil/doc/html/g_i_l_0498.html | 52
   trunk/libs/gil/doc/html/g_i_l_0499.html | 121 --
   trunk/libs/gil/doc/html/g_i_l_0500.html | 61
   trunk/libs/gil/doc/html/g_i_l_0501.html | 135 +--
   trunk/libs/gil/doc/html/g_i_l_0502.html | 44
   trunk/libs/gil/doc/html/g_i_l_0503.html | 115 ++
   trunk/libs/gil/doc/html/g_i_l_0504.html | 46
   trunk/libs/gil/doc/html/g_i_l_0505.html | 120 ++
   trunk/libs/gil/doc/html/g_i_l_0506.html | 57
   trunk/libs/gil/doc/html/g_i_l_0507.html | 154 ++-
   trunk/libs/gil/doc/html/g_i_l_0508.html | 39
   trunk/libs/gil/doc/html/g_i_l_0509.html | 99 -
   trunk/libs/gil/doc/html/g_i_l_0510.html | 29
   trunk/libs/gil/doc/html/g_i_l_0511.html | 47
   trunk/libs/gil/doc/html/g_i_l_0512.html | 38
   trunk/libs/gil/doc/html/g_i_l_0513.html | 83 +
   trunk/libs/gil/doc/html/g_i_l_0514.html | 39
   trunk/libs/gil/doc/html/g_i_l_0515.html | 90 +
   trunk/libs/gil/doc/html/g_i_l_0516.html | 42
   trunk/libs/gil/doc/html/g_i_l_0517.html | 50
   trunk/libs/gil/doc/html/g_i_l_0518.html | 30
   trunk/libs/gil/doc/html/g_i_l_0519.html | 55
   trunk/libs/gil/doc/html/g_i_l_0520.html | 45
   trunk/libs/gil/doc/html/g_i_l_0521.html | 48
   trunk/libs/gil/doc/html/g_i_l_0522.html | 44
   trunk/libs/gil/doc/html/g_i_l_0523.html | 43
   trunk/libs/gil/doc/html/g_i_l_0524.html | 46
   trunk/libs/gil/doc/html/g_i_l_0525.html | 59
   trunk/libs/gil/doc/html/g_i_l_0526.html | 45
   trunk/libs/gil/doc/html/g_i_l_0527.html | 45
   trunk/libs/gil/doc/html/g_i_l_0528.html | 45
   trunk/libs/gil/doc/html/g_i_l_0529.html | 45
   trunk/libs/gil/doc/html/g_i_l_0530.html | 44
   trunk/libs/gil/doc/html/g_i_l_0531.html | 53
   trunk/libs/gil/doc/html/g_i_l_0532.html | 54
   trunk/libs/gil/doc/html/g_i_l_0533.html | 43
   trunk/libs/gil/doc/html/g_i_l_0534.html | 52
   trunk/libs/gil/doc/html/g_i_l_0535.html | 44
   trunk/libs/gil/doc/html/g_i_l_0536.html | 43
   trunk/libs/gil/doc/html/g_i_l_0537.html | 44
   trunk/libs/gil/doc/html/g_i_l_0538.html | 45
   trunk/libs/gil/doc/html/g_i_l_0539.html | 30
   trunk/libs/gil/doc/html/g_i_l_0540.html | 57
   trunk/libs/gil/doc/html/g_i_l_0541.html | 41
   trunk/libs/gil/doc/html/g_i_l_0542.html | 56
   trunk/libs/gil/doc/html/g_i_l_0543.html | 45
   trunk/libs/gil/doc/html/g_i_l_0544.html | 45
   trunk/libs/gil/doc/html/g_i_l_0545.html | 46
   trunk/libs/gil/doc/html/g_i_l_0546.html | 57
   trunk/libs/gil/doc/html/g_i_l_0547.html | 58
   trunk/libs/gil/doc/html/g_i_l_0548.html | 32
   trunk/libs/gil/doc/html/g_i_l_0549.html | 59
   trunk/libs/gil/doc/html/g_i_l_0550.html | 45
   trunk/libs/gil/doc/html/g_i_l_0551.html | 57
   trunk/libs/gil/doc/html/g_i_l_0552.html | 44
   trunk/libs/gil/doc/html/g_i_l_0553.html | 58
   trunk/libs/gil/doc/html/g_i_l_0554.html | 33
   trunk/libs/gil/doc/html/g_i_l_0555.html | 65
   trunk/libs/gil/doc/html/g_i_l_0556.html | 33
   trunk/libs/gil/doc/html/g_i_l_0557.html | 65
   trunk/libs/gil/doc/html/g_i_l_0558.html | 31
   trunk/libs/gil/doc/html/g_i_l_0559.html | 62
   trunk/libs/gil/doc/html/g_i_l_0560.html | 32
   trunk/libs/gil/doc/html/g_i_l_0561.html | 74 +
   trunk/libs/gil/doc/html/g_i_l_0562.html | 47
   trunk/libs/gil/doc/html/g_i_l_0563.html | 74 +
   trunk/libs/gil/doc/html/g_i_l_0564.html | 51
   trunk/libs/gil/doc/html/g_i_l_0565.html | 69 +
   trunk/libs/gil/doc/html/g_i_l_0566.html | 30
   trunk/libs/gil/doc/html/g_i_l_0567.html | 57
   trunk/libs/gil/doc/html/g_i_l_0568.html | 46
   trunk/libs/gil/doc/html/g_i_l_0569.html | 57
   trunk/libs/gil/doc/html/g_i_l_0570.html | 76 -
   trunk/libs/gil/doc/html/g_i_l_0571.html | 53
   trunk/libs/gil/doc/html/g_i_l_0572.html | 54 -
   trunk/libs/gil/doc/html/g_i_l_0573.html | 52
   trunk/libs/gil/doc/html/g_i_l_0574.html | 52
   trunk/libs/gil/doc/html/g_i_l_0575.html | 50
   trunk/libs/gil/doc/html/g_i_l_0576.html | 65 +
   trunk/libs/gil/doc/html/g_i_l_0577.html | 51
   trunk/libs/gil/doc/html/g_i_l_0578.html | 54 +
   trunk/libs/gil/doc/html/g_i_l_0579.html | 50
   trunk/libs/gil/doc/html/g_i_l_0580.html | 52
   trunk/libs/gil/doc/html/g_i_l_0581.html | 52
   trunk/libs/gil/doc/html/g_i_l_0582.html | 29
   trunk/libs/gil/doc/html/g_i_l_0583.html | 59
   trunk/libs/gil/doc/html/g_i_l_0584.html | 29
   trunk/libs/gil/doc/html/g_i_l_0585.html | 59
   trunk/libs/gil/doc/html/g_i_l_0586.html | 29
   trunk/libs/gil/doc/html/g_i_l_0587.html | 62
   trunk/libs/gil/doc/html/g_i_l_0588.html | 48
   trunk/libs/gil/doc/html/g_i_l_0589.html | 120 --
   trunk/libs/gil/doc/html/g_i_l_0590.html | 29
   trunk/libs/gil/doc/html/g_i_l_0591.html | 66
   trunk/libs/gil/doc/html/g_i_l_0592.html | 49
   trunk/libs/gil/doc/html/g_i_l_0593.html | 122 --
   trunk/libs/gil/doc/html/g_i_l_0594.html | 64
   trunk/libs/gil/doc/html/g_i_l_0595.html | 111 ++
   trunk/libs/gil/doc/html/g_i_l_0596.html | 47
   trunk/libs/gil/doc/html/g_i_l_0597.html | 61
   trunk/libs/gil/doc/html/g_i_l_0598.html | 65
   trunk/libs/gil/doc/html/g_i_l_0599.html | 117 ++
   trunk/libs/gil/doc/html/g_i_l_0600.html | 51
   trunk/libs/gil/doc/html/g_i_l_0601.html | 47
   trunk/libs/gil/doc/html/g_i_l_0602.html | 61
   trunk/libs/gil/doc/html/g_i_l_0603.html | 159 ---
   trunk/libs/gil/doc/html/g_i_l_0604.html | 61
   trunk/libs/gil/doc/html/g_i_l_0605.html | 118 --
   trunk/libs/gil/doc/html/g_i_l_0606.html | 52
   trunk/libs/gil/doc/html/g_i_l_0607.html | 60
   trunk/libs/gil/doc/html/g_i_l_0608.html | 48
   trunk/libs/gil/doc/html/g_i_l_0609.html | 144 ++
   trunk/libs/gil/doc/html/g_i_l_0610.html | 62
   trunk/libs/gil/doc/html/g_i_l_0611.html | 167 ++--
   trunk/libs/gil/doc/html/g_i_l_0612.html | 45
   trunk/libs/gil/doc/html/g_i_l_0613.html | 78 +
   trunk/libs/gil/doc/html/g_i_l_0614.html | 115 --
   trunk/libs/gil/doc/html/g_i_l_0615.html | 60
   trunk/libs/gil/doc/html/g_i_l_0616.html | 46
   trunk/libs/gil/doc/html/g_i_l_0617.html | 126 ++
   trunk/libs/gil/doc/html/g_i_l_0618.html | 43
   trunk/libs/gil/doc/html/g_i_l_0619.html | 78 -
   trunk/libs/gil/doc/html/g_i_l_0620.html | 114 ++
   trunk/libs/gil/doc/html/g_i_l_0621.html | 59
   trunk/libs/gil/doc/html/g_i_l_0622.html | 47
   trunk/libs/gil/doc/html/g_i_l_0623.html | 62
   trunk/libs/gil/doc/html/g_i_l_0624.html | 54
   trunk/libs/gil/doc/html/g_i_l_0625.html | 66
   trunk/libs/gil/doc/html/g_i_l_0626.html | 31
   trunk/libs/gil/doc/html/g_i_l_0627.html | 64
   trunk/libs/gil/doc/html/g_i_l_0628.html | 43
   trunk/libs/gil/doc/html/g_i_l_0629.html | 63
   trunk/libs/gil/doc/html/g_i_l_0630.html | 59
   trunk/libs/gil/doc/html/g_i_l_0631.html | 54
   trunk/libs/gil/doc/html/g_i_l_0632.html | 145 ---
   trunk/libs/gil/doc/html/g_i_l_0633.html | 86 -
   trunk/libs/gil/doc/html/g_i_l_0634.html | 464 -----------
   trunk/libs/gil/doc/html/g_i_l_0635.html | 241 -----
   trunk/libs/gil/doc/html/g_i_l_0636.html | 297 ------
   trunk/libs/gil/doc/html/g_i_l_0637.html | 190 ----
   trunk/libs/gil/doc/html/g_i_l_0638.html | 224 ++--
   trunk/libs/gil/doc/html/g_i_l_0639.html | 72 +
   trunk/libs/gil/doc/html/g_i_l_0640.html | 107 +-
   trunk/libs/gil/doc/html/g_i_l_0641.html | 43
   trunk/libs/gil/doc/html/g_i_l_0643.html | 283 +++---
   trunk/libs/gil/doc/html/g_i_l_0644.html | 77 -
   trunk/libs/gil/doc/html/g_i_l_0645.html | 41
   644 files changed, 29002 insertions(+), 30203 deletions(-)

Modified: trunk/libs/gil/doc/html/g_i_l_0001.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0001.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0001.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : algorithm.hpp Source File</TITLE>
+ <TITLE>Generic Image Library: algorithm.hpp Source File</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,13 +31,13 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="dir_000000.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">gil</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="g_i_l_0076.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0079.html">gil</a>
+ </div>
+<div class="contents">
 <h1>algorithm.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
 <a name="l00002"></a>00002 <span class="comment"> Copyright 2005-2007 Adobe Systems Incorporated</span>
 <a name="l00003"></a>00003 <span class="comment"> </span>
@@ -58,776 +56,779 @@
 <a name="l00016"></a>00016 <span class="preprocessor"></span>
 <a name="l00017"></a>00017 <span class="preprocessor">#include &lt;cassert&gt;</span>
 <a name="l00018"></a>00018 <span class="preprocessor">#include &lt;cstddef&gt;</span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;algorithm&gt;</span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;iterator&gt;</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;memory&gt;</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="code" href="g_i_l_0089.html">gil_config.hpp</a>"</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="g_i_l_0087.html">gil_concept.hpp</a>"</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="g_i_l_0069.html">color_base_algorithm.hpp</a>"</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="g_i_l_0220.html">image_view.hpp</a>"</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="g_i_l_0222.html">image_view_factory.hpp</a>"</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="g_i_l_0011.html">bit_aligned_pixel_iterator.hpp</a>"</span>
-<a name="l00028"></a>00028
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 <span class="preprocessor">#ifdef _MSC_VER</span>
-<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#pragma warning(push)</span>
-<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#pragma warning(disable : 4244) // conversion from 'gil::image&lt;V,Alloc&gt;::coord_t' to 'int', possible loss of data (visual studio compiler doesn't realize that the two types are the same)</span>
-<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00042"></a>00042 <span class="preprocessor"></span>
-<a name="l00043"></a><a class="code" href="namespaceboost.html">00043</a> <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;cstring&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;algorithm&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;iterator&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;memory&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;typeinfo&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="g_i_l_0094.html" title="GIL configuration file.">gil_config.hpp</a>"</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="g_i_l_0092.html" title="Concept check classes for GIL concepts.">gil_concept.hpp</a>"</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="g_i_l_0069.html" title="pixel related algorithms">color_base_algorithm.hpp</a>"</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="g_i_l_0225.html" title="image view class">image_view.hpp</a>"</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="g_i_l_0227.html" title="Methods for constructing image views from raw data or other image views /.">image_view_factory.hpp</a>"</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="g_i_l_0011.html" title="A model of a heterogeneous pixel that is not byte aligned. Examples are bitmap (1-bit...">bit_aligned_pixel_iterator.hpp</a>"</span>
+<a name="l00030"></a>00030
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="comment">//#ifdef _MSC_VER</span>
+<a name="l00041"></a>00041 <span class="comment">//#pragma warning(push)</span>
+<a name="l00042"></a>00042 <span class="comment">//#pragma warning(disable : 4244) // conversion from 'gil::image&lt;V,Alloc&gt;::coord_t' to 'int', possible loss of data (visual studio compiler doesn't realize that the two types are the same)</span>
+<a name="l00043"></a>00043 <span class="comment">//#endif</span>
 <a name="l00044"></a>00044
-<a name="l00045"></a>00045 <span class="comment">//forward declarations</span>
-<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> ChannelPtr, <span class="keyword">typename</span> ColorSpace&gt;
-<a name="l00047"></a>00047 <span class="keyword">struct </span>planar_pixel_iterator;
-<a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Iterator&gt;
-<a name="l00049"></a>00049 <span class="keyword">class </span>memory_based_step_iterator;
-<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> StepIterator&gt;
-<a name="l00051"></a>00051 <span class="keyword">class </span>memory_based_2d_locator;
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 <span class="comment">// a tag denoting incompatible arguments</span>
-<a name="l00054"></a>00054 <span class="keyword">struct </span>error_t {};
-<a name="l00055"></a>00055
-<a name="l00080"></a>00080
-<a name="l00081"></a>00081
-<a name="l00085"></a>00085
-<a name="l00094"></a>00094 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Derived, <span class="keyword">typename</span> Result=<span class="keywordtype">void</span>&gt;
-<a name="l00095"></a><a class="code" href="g_i_l_0382.html">00095</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0382.html">binary_operation_obj</a> {
-<a name="l00096"></a>00096 <span class="keyword">typedef</span> Result result_type;
-<a name="l00097"></a>00097
-<a name="l00098"></a>00098 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V1, <span class="keyword">typename</span> V2&gt; GIL_FORCEINLINE
-<a name="l00099"></a>00099 result_type operator()(<span class="keyword">const</span> std::pair&lt;const V1*,const V2*&gt;&amp; p)<span class="keyword"> const </span>{
-<a name="l00100"></a>00100 <span class="keywordflow">return</span> apply(*p.first, *p.second, <span class="keyword">typename</span> <a class="code" href="g_i_l_0630.html">views_are_compatible&lt;V1,V2&gt;</a>::type());
-<a name="l00101"></a>00101 }
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V1, <span class="keyword">typename</span> V2&gt; GIL_FORCEINLINE
-<a name="l00104"></a>00104 result_type operator()(<span class="keyword">const</span> V1&amp; v1, <span class="keyword">const</span> V2&amp; v2)<span class="keyword"> const </span>{
-<a name="l00105"></a>00105 <span class="keywordflow">return</span> apply(v1, v2, <span class="keyword">typename</span> <a class="code" href="g_i_l_0630.html">views_are_compatible&lt;V1,V2&gt;</a>::type());
-<a name="l00106"></a>00106 }
-<a name="l00107"></a>00107
-<a name="l00108"></a>00108 result_type operator()(<span class="keyword">const</span> error_t&amp;)<span class="keyword"> const </span>{ <span class="keywordflow">throw</span> std::bad_cast(); }
-<a name="l00109"></a>00109 <span class="keyword">private</span>:
-<a name="l00110"></a>00110
-<a name="l00111"></a>00111 <span class="comment">// dispatch from apply overload to a function with distinct name</span>
-<a name="l00112"></a>00112 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V1, <span class="keyword">typename</span> V2&gt;
-<a name="l00113"></a>00113 GIL_FORCEINLINE result_type apply(<span class="keyword">const</span> V1&amp; v1, <span class="keyword">const</span> V2&amp; v2, mpl::false_)<span class="keyword"> const </span>{
-<a name="l00114"></a>00114 <span class="keywordflow">return</span> ((<span class="keyword">const</span> Derived*)<span class="keyword">this</span>)-&gt;apply_incompatible(v1,v2);
-<a name="l00115"></a>00115 }
-<a name="l00116"></a>00116
-<a name="l00117"></a>00117 <span class="comment">// dispatch from apply overload to a function with distinct name</span>
-<a name="l00118"></a>00118 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V1, <span class="keyword">typename</span> V2&gt;
-<a name="l00119"></a>00119 GIL_FORCEINLINE result_type apply(<span class="keyword">const</span> V1&amp; v1, <span class="keyword">const</span> V2&amp; v2, mpl::true_)<span class="keyword"> const </span>{
-<a name="l00120"></a>00120 <span class="keywordflow">return</span> ((<span class="keyword">const</span> Derived*)<span class="keyword">this</span>)-&gt;apply_compatible(v1,v2);
-<a name="l00121"></a>00121 }
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 <span class="comment">// function with distinct name - it can be overloaded by subclasses</span>
-<a name="l00124"></a>00124 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V1, <span class="keyword">typename</span> V2&gt;
-<a name="l00125"></a>00125 GIL_FORCEINLINE result_type apply_incompatible(<span class="keyword">const</span> V1&amp; v1, <span class="keyword">const</span> V2&amp; v2)<span class="keyword"> const </span>{
-<a name="l00126"></a>00126 <span class="keywordflow">throw</span> std::bad_cast();
-<a name="l00127"></a>00127 }
-<a name="l00128"></a>00128 };
-<a name="l00129"></a>00129 } } <span class="comment">// namespace boost::gil</span>
-<a name="l00130"></a>00130
-<a name="l00136"></a>00136
-<a name="l00140"></a>00140
-<a name="l00141"></a>00141 <span class="keyword">namespace </span>std {
+<a name="l00045"></a><a class="code" href="namespaceboost.html">00045</a> <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="comment">//forward declarations</span>
+<a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> ChannelPtr, <span class="keyword">typename</span> ColorSpace&gt;
+<a name="l00049"></a>00049 <span class="keyword">struct </span>planar_pixel_iterator;
+<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Iterator&gt;
+<a name="l00051"></a>00051 <span class="keyword">class </span>memory_based_step_iterator;
+<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> StepIterator&gt;
+<a name="l00053"></a>00053 <span class="keyword">class </span>memory_based_2d_locator;
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="comment">// a tag denoting incompatible arguments</span>
+<a name="l00056"></a>00056 <span class="keyword">struct </span>error_t {};
+<a name="l00057"></a>00057
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083
+<a name="l00087"></a>00087
+<a name="l00096"></a>00096 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Derived, <span class="keyword">typename</span> Result=<span class="keywordtype">void</span>&gt;
+<a name="l00097"></a><a class="code" href="g_i_l_0387.html">00097</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0387.html" title="A generic binary operation on viewsUse this class as a convenience superclass when...">binary_operation_obj</a> {
+<a name="l00098"></a>00098 <span class="keyword">typedef</span> Result result_type;
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V1, <span class="keyword">typename</span> V2&gt; GIL_FORCEINLINE
+<a name="l00101"></a>00101 result_type operator()(<span class="keyword">const</span> std::pair&lt;const V1*,const V2*&gt;&amp; p)<span class="keyword"> const </span>{
+<a name="l00102"></a>00102 <span class="keywordflow">return</span> apply(*p.first, *p.second, <span class="keyword">typename</span> <a class="code" href="g_i_l_0636.html" title="Returns whether two views are compatible.">views_are_compatible&lt;V1,V2&gt;::type</a>());
+<a name="l00103"></a>00103 }
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V1, <span class="keyword">typename</span> V2&gt; GIL_FORCEINLINE
+<a name="l00106"></a>00106 result_type operator()(<span class="keyword">const</span> V1&amp; v1, <span class="keyword">const</span> V2&amp; v2)<span class="keyword"> const </span>{
+<a name="l00107"></a>00107 <span class="keywordflow">return</span> apply(v1, v2, <span class="keyword">typename</span> <a class="code" href="g_i_l_0636.html" title="Returns whether two views are compatible.">views_are_compatible&lt;V1,V2&gt;::type</a>());
+<a name="l00108"></a>00108 }
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 result_type operator()(<span class="keyword">const</span> error_t&amp;)<span class="keyword"> const </span>{ <span class="keywordflow">throw</span> std::bad_cast(); }
+<a name="l00111"></a>00111 <span class="keyword">private</span>:
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="comment">// dispatch from apply overload to a function with distinct name</span>
+<a name="l00114"></a>00114 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V1, <span class="keyword">typename</span> V2&gt;
+<a name="l00115"></a>00115 GIL_FORCEINLINE result_type apply(<span class="keyword">const</span> V1&amp; v1, <span class="keyword">const</span> V2&amp; v2, mpl::false_)<span class="keyword"> const </span>{
+<a name="l00116"></a>00116 <span class="keywordflow">return</span> ((<span class="keyword">const</span> Derived*)<span class="keyword">this</span>)-&gt;apply_incompatible(v1,v2);
+<a name="l00117"></a>00117 }
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="comment">// dispatch from apply overload to a function with distinct name</span>
+<a name="l00120"></a>00120 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V1, <span class="keyword">typename</span> V2&gt;
+<a name="l00121"></a>00121 GIL_FORCEINLINE result_type apply(<span class="keyword">const</span> V1&amp; v1, <span class="keyword">const</span> V2&amp; v2, mpl::true_)<span class="keyword"> const </span>{
+<a name="l00122"></a>00122 <span class="keywordflow">return</span> ((<span class="keyword">const</span> Derived*)<span class="keyword">this</span>)-&gt;apply_compatible(v1,v2);
+<a name="l00123"></a>00123 }
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="comment">// function with distinct name - it can be overloaded by subclasses</span>
+<a name="l00126"></a>00126 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V1, <span class="keyword">typename</span> V2&gt;
+<a name="l00127"></a>00127 GIL_FORCEINLINE result_type apply_incompatible(<span class="keyword">const</span> V1&amp; v1, <span class="keyword">const</span> V2&amp; v2)<span class="keyword"> const </span>{
+<a name="l00128"></a>00128 <span class="keywordflow">throw</span> std::bad_cast();
+<a name="l00129"></a>00129 }
+<a name="l00130"></a>00130 };
+<a name="l00131"></a>00131 } } <span class="comment">// namespace boost::gil</span>
+<a name="l00132"></a>00132
+<a name="l00138"></a>00138
 <a name="l00142"></a>00142
-<a name="l00145"></a>00145 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Cs&gt;
-<a name="l00146"></a>00146 GIL_FORCEINLINE <a class="code" href="g_i_l_0593.html">boost::gil::pixel&lt;T,Cs&gt;</a>*
-<a name="l00147"></a><a class="code" href="g_i_l_0209.html#ga0">00147</a> <a class="code" href="g_i_l_0209.html#ga0">copy</a>(<a class="code" href="g_i_l_0593.html">boost::gil::pixel&lt;T,Cs&gt;</a>* first, <a class="code" href="g_i_l_0593.html">boost::gil::pixel&lt;T,Cs&gt;</a>* last,
-<a name="l00148"></a>00148 <a class="code" href="g_i_l_0593.html">boost::gil::pixel&lt;T,Cs&gt;</a>* dst) {
-<a name="l00149"></a>00149 <span class="keywordflow">return</span> (<a class="code" href="g_i_l_0593.html">boost::gil::pixel&lt;T,Cs&gt;</a>*)<a class="code" href="g_i_l_0209.html#ga0">std::copy</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)first,(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)last, (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)dst);
-<a name="l00150"></a>00150 }
-<a name="l00151"></a>00151
-<a name="l00154"></a>00154 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Cs&gt;
-<a name="l00155"></a>00155 GIL_FORCEINLINE <a class="code" href="g_i_l_0593.html">boost::gil::pixel&lt;T,Cs&gt;</a>*
-<a name="l00156"></a><a class="code" href="g_i_l_0209.html#ga1">00156</a> <a class="code" href="g_i_l_0209.html#ga0">copy</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0593.html">boost::gil::pixel&lt;T,Cs&gt;</a>* first, <span class="keyword">const</span> <a class="code" href="g_i_l_0593.html">boost::gil::pixel&lt;T,Cs&gt;</a>* last,
-<a name="l00157"></a>00157 <a class="code" href="g_i_l_0593.html">boost::gil::pixel&lt;T,Cs&gt;</a>* dst) {
-<a name="l00158"></a>00158 <span class="keywordflow">return</span> (<a class="code" href="g_i_l_0593.html">boost::gil::pixel&lt;T,Cs&gt;</a>*)<a class="code" href="g_i_l_0209.html#ga0">std::copy</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)first,(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)last, (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)dst);
-<a name="l00159"></a>00159 }
-<a name="l00160"></a>00160 } <span class="comment">// namespace std</span>
-<a name="l00161"></a>00161
-<a name="l00162"></a>00162 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
-<a name="l00163"></a>00163 <span class="keyword">namespace </span>detail {
-<a name="l00164"></a>00164 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> I, <span class="keyword">typename</span> O&gt; <span class="keyword">struct </span>copy_fn {
-<a name="l00165"></a>00165 GIL_FORCEINLINE I operator()(I first, I last, O dst)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="g_i_l_0209.html#ga0">std::copy</a>(first,last,dst); }
-<a name="l00166"></a>00166 };
-<a name="l00167"></a>00167 } <span class="comment">// namespace detail</span>
-<a name="l00168"></a>00168 } } <span class="comment">// namespace boost::gil</span>
-<a name="l00169"></a>00169
-<a name="l00170"></a>00170 <span class="keyword">namespace </span>std {
-<a name="l00173"></a>00173 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Cs, <span class="keyword">typename</span> IC1, <span class="keyword">typename</span> IC2&gt; GIL_FORCEINLINE
-<a name="l00174"></a><a class="code" href="g_i_l_0209.html#ga2">00174</a> <a class="code" href="g_i_l_0603.html">boost::gil::planar_pixel_iterator&lt;IC2,Cs&gt;</a> <a class="code" href="g_i_l_0209.html#ga0">copy</a>(<a class="code" href="g_i_l_0603.html">boost::gil::planar_pixel_iterator&lt;IC1,Cs&gt;</a> first, <a class="code" href="g_i_l_0603.html">boost::gil::planar_pixel_iterator&lt;IC1,Cs&gt;</a> last, <a class="code" href="g_i_l_0603.html">boost::gil::planar_pixel_iterator&lt;IC2,Cs&gt;</a> dst) {
-<a name="l00175"></a>00175 boost::gil::gil_function_requires&lt;boost::gil::ChannelsCompatibleConcept&lt;typename std::iterator_traits&lt;IC1&gt;::value_type,<span class="keyword">typename</span> std::iterator_traits&lt;IC2&gt;::value_type&gt; &gt;();
-<a name="l00176"></a>00176 static_for_each(first,last,dst,boost::gil::detail::copy_fn&lt;IC1,IC2&gt;());
-<a name="l00177"></a>00177 <span class="keywordflow">return</span> dst+(last-first);
-<a name="l00178"></a>00178 }
-<a name="l00179"></a>00179 } <span class="comment">// namespace std</span>
-<a name="l00180"></a>00180
-<a name="l00181"></a>00181 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
-<a name="l00182"></a>00182 <span class="keyword">namespace </span>detail {
-<a name="l00185"></a>00185 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> I, <span class="keyword">typename</span> O&gt;
-<a name="l00186"></a><a class="code" href="g_i_l_0473.html">00186</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0473.html">copier_n</a> {
-<a name="l00187"></a>00187 GIL_FORCEINLINE <span class="keywordtype">void</span> operator()(I src, <span class="keyword">typename</span> std::iterator_traits&lt;I&gt;::difference_type n, O dst)<span class="keyword"> const </span>{ <a class="code" href="g_i_l_0209.html#ga0">std::copy</a>(src,src+n, dst); }
-<a name="l00188"></a>00188 };
-<a name="l00189"></a>00189
-<a name="l00191"></a>00191 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IL, <span class="keyword">typename</span> O&gt; <span class="comment">// IL Models ConstPixelLocatorConcept, O Models PixelIteratorConcept</span>
-<a name="l00192"></a><a class="code" href="g_i_l_0477.html">00192</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0473.html">copier_n</a>&lt;iterator_from_2d&lt;IL&gt;,O&gt; {
-<a name="l00193"></a>00193 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::iterator_traits&lt;iterator_from_2d&lt;IL&gt; &gt;::difference_type diff_t;
-<a name="l00194"></a>00194 GIL_FORCEINLINE <span class="keywordtype">void</span> operator()(<a class="code" href="g_i_l_0042.html">iterator_from_2d&lt;IL&gt;</a> src, diff_t n, O dst)<span class="keyword"> const </span>{
-<a name="l00195"></a>00195 gil_function_requires&lt;PixelLocatorConcept&lt;IL&gt; &gt;();
-<a name="l00196"></a>00196 gil_function_requires&lt;MutablePixelIteratorConcept&lt;O&gt; &gt;();
-<a name="l00197"></a>00197 <span class="keywordflow">while</span> (n&gt;0) {
-<a name="l00198"></a>00198 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="g_i_l_0042.html">iterator_from_2d&lt;IL&gt;</a>::difference_type diff_t;
-<a name="l00199"></a>00199 diff_t l=src.<a class="code" href="g_i_l_0042.html#a0">width</a>()-src.<a class="code" href="g_i_l_0042.html#a1">x_pos</a>();
-<a name="l00200"></a>00200 diff_t numToCopy=(n&lt;l ? n:l);
-<a name="l00201"></a>00201 detail::copy_n(src.<a class="code" href="g_i_l_0042.html#a5">x</a>(), numToCopy, dst);
-<a name="l00202"></a>00202 dst+=numToCopy;
-<a name="l00203"></a>00203 src+=numToCopy;
-<a name="l00204"></a>00204 n-=numToCopy;
-<a name="l00205"></a>00205 }
-<a name="l00206"></a>00206 }
-<a name="l00207"></a>00207 };
-<a name="l00208"></a>00208
-<a name="l00210"></a>00210 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> I, <span class="keyword">typename</span> OL&gt; <span class="comment">// I Models ConstPixelIteratorConcept, OL Models PixelLocatorConcept</span>
-<a name="l00211"></a><a class="code" href="g_i_l_0475.html">00211</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0473.html">copier_n</a>&lt;I,iterator_from_2d&lt;OL&gt; &gt; {
-<a name="l00212"></a>00212 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::iterator_traits&lt;I&gt;::difference_type diff_t;
-<a name="l00213"></a>00213 GIL_FORCEINLINE <span class="keywordtype">void</span> operator()(I src, diff_t n, <a class="code" href="g_i_l_0042.html">iterator_from_2d&lt;OL&gt;</a> dst)<span class="keyword"> const </span>{
-<a name="l00214"></a>00214 gil_function_requires&lt;PixelIteratorConcept&lt;I&gt; &gt;();
-<a name="l00215"></a>00215 gil_function_requires&lt;MutablePixelLocatorConcept&lt;OL&gt; &gt;();
-<a name="l00216"></a>00216 <span class="keywordflow">while</span> (n&gt;0) {
-<a name="l00217"></a>00217 diff_t l=dst.<a class="code" href="g_i_l_0042.html#a0">width</a>()-dst.<a class="code" href="g_i_l_0042.html#a1">x_pos</a>();
-<a name="l00218"></a>00218 diff_t numToCopy=(n&lt;l ? n:l);
-<a name="l00219"></a>00219 detail::copy_n(src, numToCopy, dst.<a class="code" href="g_i_l_0042.html#a5">x</a>());
-<a name="l00220"></a>00220 dst+=numToCopy;
-<a name="l00221"></a>00221 src+=numToCopy;
-<a name="l00222"></a>00222 n-=numToCopy;
-<a name="l00223"></a>00223 }
-<a name="l00224"></a>00224 }
-<a name="l00225"></a>00225 };
-<a name="l00226"></a>00226
-<a name="l00228"></a>00228 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IL, <span class="keyword">typename</span> OL&gt;
-<a name="l00229"></a><a class="code" href="g_i_l_0479.html">00229</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0473.html">copier_n</a>&lt;iterator_from_2d&lt;IL&gt;,iterator_from_2d&lt;OL&gt; &gt; {
-<a name="l00230"></a>00230 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="g_i_l_0042.html">iterator_from_2d&lt;IL&gt;</a>::difference_type diff_t;
-<a name="l00231"></a>00231 GIL_FORCEINLINE <span class="keywordtype">void</span> operator()(<a class="code" href="g_i_l_0042.html">iterator_from_2d&lt;IL&gt;</a> src, diff_t n, <a class="code" href="g_i_l_0042.html">iterator_from_2d&lt;OL&gt;</a> dst)<span class="keyword"> const </span>{
-<a name="l00232"></a>00232 gil_function_requires&lt;PixelLocatorConcept&lt;IL&gt; &gt;();
-<a name="l00233"></a>00233 gil_function_requires&lt;MutablePixelLocatorConcept&lt;OL&gt; &gt;();
-<a name="l00234"></a>00234 <span class="keywordflow">if</span> (src.<a class="code" href="g_i_l_0042.html#a1">x_pos</a>()!=dst.<a class="code" href="g_i_l_0042.html#a1">x_pos</a>() || src.<a class="code" href="g_i_l_0042.html#a0">width</a>()!=dst.<a class="code" href="g_i_l_0042.html#a0">width</a>()) {
-<a name="l00235"></a>00235 <span class="keywordflow">while</span>(n--&gt;0) {
-<a name="l00236"></a>00236 *dst++=*src++;
-<a name="l00237"></a>00237 }
-<a name="l00238"></a>00238 }
-<a name="l00239"></a>00239 <span class="keywordflow">while</span> (n&gt;0) {
-<a name="l00240"></a>00240 diff_t l=dst.<a class="code" href="g_i_l_0042.html#a0">width</a>()-dst.<a class="code" href="g_i_l_0042.html#a1">x_pos</a>();
-<a name="l00241"></a>00241 diff_t numToCopy=(n&lt;l ? n : l);
-<a name="l00242"></a>00242 detail::copy_n(src.<a class="code" href="g_i_l_0042.html#a5">x</a>(), numToCopy, dst.<a class="code" href="g_i_l_0042.html#a5">x</a>());
-<a name="l00243"></a>00243 dst+=numToCopy;
-<a name="l00244"></a>00244 src+=numToCopy;
-<a name="l00245"></a>00245 n-=numToCopy;
-<a name="l00246"></a>00246 }
-<a name="l00247"></a>00247 }
-<a name="l00248"></a>00248 };
-<a name="l00249"></a>00249
-<a name="l00250"></a>00250 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> SrcIterator, <span class="keyword">typename</span> DstIterator&gt;
-<a name="l00251"></a>00251 GIL_FORCEINLINE DstIterator copy_with_2d_iterators(SrcIterator first, SrcIterator last, DstIterator dst) {
-<a name="l00252"></a>00252 <span class="keyword">typedef</span> <span class="keyword">typename</span> SrcIterator::x_iterator src_x_iterator;
-<a name="l00253"></a>00253 <span class="keyword">typedef</span> <span class="keyword">typename</span> DstIterator::x_iterator dst_x_iterator;
-<a name="l00254"></a>00254
-<a name="l00255"></a>00255 <span class="keyword">typename</span> SrcIterator::difference_type n = last - first;
+<a name="l00143"></a>00143 <span class="keyword">namespace </span>std {
+<a name="l00144"></a>00144
+<a name="l00147"></a>00147 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Cs&gt;
+<a name="l00148"></a>00148 GIL_FORCEINLINE <a class="code" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">boost::gil::pixel&lt;T,Cs&gt;</a>*
+<a name="l00149"></a><a class="code" href="g_i_l_0214.html#gc2faa90ab27d7fb0253d19839c75d341">00149</a> <a class="code" href="g_i_l_0214.html#g4e8a9e1bb08e76c93dc56a4626231ee1" title="Copy when both src and dst are planar pointers is copy for each channel.">copy</a>(<a class="code" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">boost::gil::pixel&lt;T,Cs&gt;</a>* first, <a class="code" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">boost::gil::pixel&lt;T,Cs&gt;</a>* last,
+<a name="l00150"></a>00150 <a class="code" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">boost::gil::pixel&lt;T,Cs&gt;</a>* dst) {
+<a name="l00151"></a>00151 <span class="keywordflow">return</span> (<a class="code" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">boost::gil::pixel&lt;T,Cs&gt;</a>*)<a class="code" href="g_i_l_0214.html#g4e8a9e1bb08e76c93dc56a4626231ee1" title="Copy when both src and dst are planar pointers is copy for each channel.">std::copy</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)first,(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)last, (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)dst);
+<a name="l00152"></a>00152 }
+<a name="l00153"></a>00153
+<a name="l00156"></a>00156 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Cs&gt;
+<a name="l00157"></a>00157 GIL_FORCEINLINE <a class="code" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">boost::gil::pixel&lt;T,Cs&gt;</a>*
+<a name="l00158"></a><a class="code" href="g_i_l_0214.html#g85354afb86367e7d21162317463e8743">00158</a> <a class="code" href="g_i_l_0214.html#g4e8a9e1bb08e76c93dc56a4626231ee1" title="Copy when both src and dst are planar pointers is copy for each channel.">copy</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">boost::gil::pixel&lt;T,Cs&gt;</a>* first, <span class="keyword">const</span> <a class="code" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">boost::gil::pixel&lt;T,Cs&gt;</a>* last,
+<a name="l00159"></a>00159 <a class="code" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">boost::gil::pixel&lt;T,Cs&gt;</a>* dst) {
+<a name="l00160"></a>00160 <span class="keywordflow">return</span> (<a class="code" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">boost::gil::pixel&lt;T,Cs&gt;</a>*)<a class="code" href="g_i_l_0214.html#g4e8a9e1bb08e76c93dc56a4626231ee1" title="Copy when both src and dst are planar pointers is copy for each channel.">std::copy</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)first,(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)last, (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)dst);
+<a name="l00161"></a>00161 }
+<a name="l00162"></a>00162 } <span class="comment">// namespace std</span>
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
+<a name="l00165"></a>00165 <span class="keyword">namespace </span>detail {
+<a name="l00166"></a>00166 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> I, <span class="keyword">typename</span> O&gt; <span class="keyword">struct </span>copy_fn {
+<a name="l00167"></a>00167 GIL_FORCEINLINE I operator()(I first, I last, O dst)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="g_i_l_0214.html#g4e8a9e1bb08e76c93dc56a4626231ee1" title="Copy when both src and dst are planar pointers is copy for each channel.">std::copy</a>(first,last,dst); }
+<a name="l00168"></a>00168 };
+<a name="l00169"></a>00169 } <span class="comment">// namespace detail</span>
+<a name="l00170"></a>00170 } } <span class="comment">// namespace boost::gil</span>
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172 <span class="keyword">namespace </span>std {
+<a name="l00175"></a>00175 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Cs, <span class="keyword">typename</span> IC1, <span class="keyword">typename</span> IC2&gt; GIL_FORCEINLINE
+<a name="l00176"></a><a class="code" href="g_i_l_0214.html#g4e8a9e1bb08e76c93dc56a4626231ee1">00176</a> <a class="code" href="g_i_l_0609.html" title="An iterator over planar pixels. Models HomogeneousColorBaseConcept, PixelIteratorConcept...">boost::gil::planar_pixel_iterator&lt;IC2,Cs&gt;</a> <a class="code" href="g_i_l_0214.html#g4e8a9e1bb08e76c93dc56a4626231ee1" title="Copy when both src and dst are planar pointers is copy for each channel.">copy</a>(<a class="code" href="g_i_l_0609.html" title="An iterator over planar pixels. Models HomogeneousColorBaseConcept, PixelIteratorConcept...">boost::gil::planar_pixel_iterator&lt;IC1,Cs&gt;</a> first, <a class="code" href="g_i_l_0609.html" title="An iterator over planar pixels. Models HomogeneousColorBaseConcept, PixelIteratorConcept...">boost::gil::planar_pixel_iterator&lt;IC1,Cs&gt;</a> last, <a class="code" href="g_i_l_0609.html" title="An iterator over planar pixels. Models HomogeneousColorBaseConcept, PixelIteratorConcept...">boost::gil::planar_pixel_itera
tor&lt;IC2,Cs&gt;</a> dst) {
+<a name="l00177"></a>00177 boost::gil::gil_function_requires&lt;boost::gil::ChannelsCompatibleConcept&lt;typename std::iterator_traits&lt;IC1&gt;::value_type,<span class="keyword">typename</span> std::iterator_traits&lt;IC2&gt;::value_type&gt; &gt;();
+<a name="l00178"></a>00178 static_for_each(first,last,dst,boost::gil::detail::copy_fn&lt;IC1,IC2&gt;());
+<a name="l00179"></a>00179 <span class="keywordflow">return</span> dst+(last-first);
+<a name="l00180"></a>00180 }
+<a name="l00181"></a>00181 } <span class="comment">// namespace std</span>
+<a name="l00182"></a>00182
+<a name="l00183"></a>00183 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
+<a name="l00184"></a>00184 <span class="keyword">namespace </span>detail {
+<a name="l00187"></a>00187 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> I, <span class="keyword">typename</span> O&gt;
+<a name="l00188"></a><a class="code" href="g_i_l_0479.html">00188</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0479.html">copier_n</a> {
+<a name="l00189"></a>00189 GIL_FORCEINLINE <span class="keywordtype">void</span> operator()(I src, <span class="keyword">typename</span> std::iterator_traits&lt;I&gt;::difference_type n, O dst)<span class="keyword"> const </span>{ <a class="code" href="g_i_l_0214.html#g4e8a9e1bb08e76c93dc56a4626231ee1" title="Copy when both src and dst are planar pointers is copy for each channel.">std::copy</a>(src,src+n, dst); }
+<a name="l00190"></a>00190 };
+<a name="l00191"></a>00191
+<a name="l00193"></a>00193 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IL, <span class="keyword">typename</span> O&gt; <span class="comment">// IL Models ConstPixelLocatorConcept, O Models PixelIteratorConcept</span>
+<a name="l00194"></a><a class="code" href="g_i_l_0483.html">00194</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0479.html">copier_n</a>&lt;<a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">iterator_from_2d</a>&lt;IL&gt;,O&gt; {
+<a name="l00195"></a>00195 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::iterator_traits&lt;iterator_from_2d&lt;IL&gt; &gt;::difference_type diff_t;
+<a name="l00196"></a>00196 GIL_FORCEINLINE <span class="keywordtype">void</span> operator()(<a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">iterator_from_2d&lt;IL&gt;</a> src, diff_t n, O dst)<span class="keyword"> const </span>{
+<a name="l00197"></a>00197 gil_function_requires&lt;PixelLocatorConcept&lt;IL&gt; &gt;();
+<a name="l00198"></a>00198 gil_function_requires&lt;MutablePixelIteratorConcept&lt;O&gt; &gt;();
+<a name="l00199"></a>00199 <span class="keywordflow">while</span> (n&gt;0) {
+<a name="l00200"></a>00200 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">iterator_from_2d&lt;IL&gt;::difference_type</a> diff_t;
+<a name="l00201"></a>00201 diff_t l=src.<a class="code" href="g_i_l_0042.html#379c24f2d0a75769afc06dff7b569b8f">width</a>()-src.<a class="code" href="g_i_l_0042.html#cb3204f0b17472894a99939821d597be">x_pos</a>();
+<a name="l00202"></a>00202 diff_t numToCopy=(n&lt;l ? n:l);
+<a name="l00203"></a>00203 detail::copy_n(src.<a class="code" href="g_i_l_0042.html#72169bdc650ac7eda288398e4ce1d7f8">x</a>(), numToCopy, dst);
+<a name="l00204"></a>00204 dst+=numToCopy;
+<a name="l00205"></a>00205 src+=numToCopy;
+<a name="l00206"></a>00206 n-=numToCopy;
+<a name="l00207"></a>00207 }
+<a name="l00208"></a>00208 }
+<a name="l00209"></a>00209 };
+<a name="l00210"></a>00210
+<a name="l00212"></a>00212 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> I, <span class="keyword">typename</span> OL&gt; <span class="comment">// I Models ConstPixelIteratorConcept, OL Models PixelLocatorConcept</span>
+<a name="l00213"></a><a class="code" href="g_i_l_0481.html">00213</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0479.html">copier_n</a>&lt;I,<a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">iterator_from_2d</a>&lt;OL&gt; &gt; {
+<a name="l00214"></a>00214 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::iterator_traits&lt;I&gt;::difference_type diff_t;
+<a name="l00215"></a>00215 GIL_FORCEINLINE <span class="keywordtype">void</span> operator()(I src, diff_t n, <a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">iterator_from_2d&lt;OL&gt;</a> dst)<span class="keyword"> const </span>{
+<a name="l00216"></a>00216 gil_function_requires&lt;PixelIteratorConcept&lt;I&gt; &gt;();
+<a name="l00217"></a>00217 gil_function_requires&lt;MutablePixelLocatorConcept&lt;OL&gt; &gt;();
+<a name="l00218"></a>00218 <span class="keywordflow">while</span> (n&gt;0) {
+<a name="l00219"></a>00219 diff_t l=dst.<a class="code" href="g_i_l_0042.html#379c24f2d0a75769afc06dff7b569b8f">width</a>()-dst.<a class="code" href="g_i_l_0042.html#cb3204f0b17472894a99939821d597be">x_pos</a>();
+<a name="l00220"></a>00220 diff_t numToCopy=(n&lt;l ? n:l);
+<a name="l00221"></a>00221 detail::copy_n(src, numToCopy, dst.<a class="code" href="g_i_l_0042.html#72169bdc650ac7eda288398e4ce1d7f8">x</a>());
+<a name="l00222"></a>00222 dst+=numToCopy;
+<a name="l00223"></a>00223 src+=numToCopy;
+<a name="l00224"></a>00224 n-=numToCopy;
+<a name="l00225"></a>00225 }
+<a name="l00226"></a>00226 }
+<a name="l00227"></a>00227 };
+<a name="l00228"></a>00228
+<a name="l00230"></a>00230 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IL, <span class="keyword">typename</span> OL&gt;
+<a name="l00231"></a><a class="code" href="g_i_l_0485.html">00231</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0479.html">copier_n</a>&lt;<a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">iterator_from_2d</a>&lt;IL&gt;,<a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">iterator_from_2d</a>&lt;OL&gt; &gt; {
+<a name="l00232"></a>00232 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">iterator_from_2d&lt;IL&gt;::difference_type</a> diff_t;
+<a name="l00233"></a>00233 GIL_FORCEINLINE <span class="keywordtype">void</span> operator()(<a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">iterator_from_2d&lt;IL&gt;</a> src, diff_t n, <a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">iterator_from_2d&lt;OL&gt;</a> dst)<span class="keyword"> const </span>{
+<a name="l00234"></a>00234 gil_function_requires&lt;PixelLocatorConcept&lt;IL&gt; &gt;();
+<a name="l00235"></a>00235 gil_function_requires&lt;MutablePixelLocatorConcept&lt;OL&gt; &gt;();
+<a name="l00236"></a>00236 <span class="keywordflow">if</span> (src.<a class="code" href="g_i_l_0042.html#cb3204f0b17472894a99939821d597be">x_pos</a>()!=dst.<a class="code" href="g_i_l_0042.html#cb3204f0b17472894a99939821d597be">x_pos</a>() || src.<a class="code" href="g_i_l_0042.html#379c24f2d0a75769afc06dff7b569b8f">width</a>()!=dst.<a class="code" href="g_i_l_0042.html#379c24f2d0a75769afc06dff7b569b8f">width</a>()) {
+<a name="l00237"></a>00237 <span class="keywordflow">while</span>(n--&gt;0) {
+<a name="l00238"></a>00238 *dst++=*src++;
+<a name="l00239"></a>00239 }
+<a name="l00240"></a>00240 }
+<a name="l00241"></a>00241 <span class="keywordflow">while</span> (n&gt;0) {
+<a name="l00242"></a>00242 diff_t l=dst.<a class="code" href="g_i_l_0042.html#379c24f2d0a75769afc06dff7b569b8f">width</a>()-dst.<a class="code" href="g_i_l_0042.html#cb3204f0b17472894a99939821d597be">x_pos</a>();
+<a name="l00243"></a>00243 diff_t numToCopy=(n&lt;l ? n : l);
+<a name="l00244"></a>00244 detail::copy_n(src.<a class="code" href="g_i_l_0042.html#72169bdc650ac7eda288398e4ce1d7f8">x</a>(), numToCopy, dst.<a class="code" href="g_i_l_0042.html#72169bdc650ac7eda288398e4ce1d7f8">x</a>());
+<a name="l00245"></a>00245 dst+=numToCopy;
+<a name="l00246"></a>00246 src+=numToCopy;
+<a name="l00247"></a>00247 n-=numToCopy;
+<a name="l00248"></a>00248 }
+<a name="l00249"></a>00249 }
+<a name="l00250"></a>00250 };
+<a name="l00251"></a>00251
+<a name="l00252"></a>00252 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> SrcIterator, <span class="keyword">typename</span> DstIterator&gt;
+<a name="l00253"></a>00253 GIL_FORCEINLINE DstIterator copy_with_2d_iterators(SrcIterator first, SrcIterator last, DstIterator dst) {
+<a name="l00254"></a>00254 <span class="keyword">typedef</span> <span class="keyword">typename</span> SrcIterator::x_iterator src_x_iterator;
+<a name="l00255"></a>00255 <span class="keyword">typedef</span> <span class="keyword">typename</span> DstIterator::x_iterator dst_x_iterator;
 <a name="l00256"></a>00256
-<a name="l00257"></a>00257 <span class="keywordflow">if</span> (first.is_1d_traversable()) {
-<a name="l00258"></a>00258 <span class="keywordflow">if</span> (dst.is_1d_traversable())
-<a name="l00259"></a>00259 <a class="code" href="g_i_l_0473.html">copier_n&lt;src_x_iterator,dst_x_iterator&gt;</a>()(first.x(),n, dst.x());
-<a name="l00260"></a>00260 <span class="keywordflow">else</span>
-<a name="l00261"></a>00261 <a class="code" href="g_i_l_0473.html">copier_n&lt;src_x_iterator,DstIterator &gt;</a>()(first.x(),n, dst);
-<a name="l00262"></a>00262 } <span class="keywordflow">else</span> {
-<a name="l00263"></a>00263 <span class="keywordflow">if</span> (dst.is_1d_traversable())
-<a name="l00264"></a>00264 copier_n&lt;SrcIterator,dst_x_iterator&gt;()(first,n, dst.x());
-<a name="l00265"></a>00265 <span class="keywordflow">else</span>
-<a name="l00266"></a>00266 copier_n&lt;SrcIterator,DstIterator&gt;()(first,n,dst);
-<a name="l00267"></a>00267 }
-<a name="l00268"></a>00268 <span class="keywordflow">return</span> dst+n;
-<a name="l00269"></a>00269 }
-<a name="l00270"></a>00270
-<a name="l00271"></a>00271 } <span class="comment">// namespace detail</span>
-<a name="l00272"></a>00272 } } <span class="comment">// namespace boost::gil</span>
-<a name="l00273"></a>00273
-<a name="l00274"></a>00274 <span class="keyword">namespace </span>std {
-<a name="l00277"></a>00277 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IL, <span class="keyword">typename</span> OL&gt;
-<a name="l00278"></a><a class="code" href="g_i_l_0209.html#ga3">00278</a> GIL_FORCEINLINE <a class="code" href="g_i_l_0042.html">boost::gil::iterator_from_2d&lt;OL&gt;</a> <a class="code" href="g_i_l_0209.html#ga3">copy1</a>(<a class="code" href="g_i_l_0042.html">boost::gil::iterator_from_2d&lt;IL&gt;</a> first, <a class="code" href="g_i_l_0042.html">boost::gil::iterator_from_2d&lt;IL&gt;</a> last, <a class="code" href="g_i_l_0042.html">boost::gil::iterator_from_2d&lt;OL&gt;</a> dst) {
-<a name="l00279"></a>00279 <span class="keywordflow">return</span> boost::gil::detail::copy_with_2d_iterators(first,last,dst);
-<a name="l00280"></a>00280 }
-<a name="l00281"></a>00281
-<a name="l00282"></a>00282 } <span class="comment">// namespace std</span>
+<a name="l00257"></a>00257 <span class="keyword">typename</span> SrcIterator::difference_type n = last - first;
+<a name="l00258"></a>00258
+<a name="l00259"></a>00259 <span class="keywordflow">if</span> (first.is_1d_traversable()) {
+<a name="l00260"></a>00260 <span class="keywordflow">if</span> (dst.is_1d_traversable())
+<a name="l00261"></a>00261 <a class="code" href="g_i_l_0479.html">copier_n&lt;src_x_iterator,dst_x_iterator&gt;</a>()(first.x(),n, dst.x());
+<a name="l00262"></a>00262 <span class="keywordflow">else</span>
+<a name="l00263"></a>00263 <a class="code" href="g_i_l_0479.html">copier_n&lt;src_x_iterator,DstIterator &gt;</a>()(first.x(),n, dst);
+<a name="l00264"></a>00264 } <span class="keywordflow">else</span> {
+<a name="l00265"></a>00265 <span class="keywordflow">if</span> (dst.is_1d_traversable())
+<a name="l00266"></a>00266 copier_n&lt;SrcIterator,dst_x_iterator&gt;()(first,n, dst.x());
+<a name="l00267"></a>00267 <span class="keywordflow">else</span>
+<a name="l00268"></a>00268 copier_n&lt;SrcIterator,DstIterator&gt;()(first,n,dst);
+<a name="l00269"></a>00269 }
+<a name="l00270"></a>00270 <span class="keywordflow">return</span> dst+n;
+<a name="l00271"></a>00271 }
+<a name="l00272"></a>00272
+<a name="l00273"></a>00273 } <span class="comment">// namespace detail</span>
+<a name="l00274"></a>00274 } } <span class="comment">// namespace boost::gil</span>
+<a name="l00275"></a>00275
+<a name="l00276"></a>00276 <span class="keyword">namespace </span>std {
+<a name="l00279"></a>00279 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IL, <span class="keyword">typename</span> OL&gt;
+<a name="l00280"></a><a class="code" href="g_i_l_0214.html#g12594bf8bdb7b27c070987a3d30293ba">00280</a> GIL_FORCEINLINE <a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">boost::gil::iterator_from_2d&lt;OL&gt;</a> <a class="code" href="g_i_l_0214.html#g12594bf8bdb7b27c070987a3d30293ba" title="std::copy(I1,I1,I2) with I1 and I2 being a iterator_from_2d">copy1</a>(<a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">boost::gil::iterator_from_2d&lt;IL&gt;</a> first, <a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">boost::gil::iterator_from_2d&lt;IL&gt;</a> last, <a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">boost::gil::iterator_from_2d&lt;O
L&gt;</a> dst) {
+<a name="l00281"></a>00281 <span class="keywordflow">return</span> boost::gil::detail::copy_with_2d_iterators(first,last,dst);
+<a name="l00282"></a>00282 }
 <a name="l00283"></a>00283
-<a name="l00284"></a>00284 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
+<a name="l00284"></a>00284 } <span class="comment">// namespace std</span>
 <a name="l00285"></a>00285
-<a name="l00286"></a>00286
-<a name="l00289"></a>00289 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1, <span class="keyword">typename</span> View2&gt; GIL_FORCEINLINE
-<a name="l00290"></a><a class="code" href="g_i_l_0140.html#ga0">00290</a> <span class="keywordtype">void</span> <a class="code" href="g_i_l_0140.html#ga0">copy_pixels</a>(<span class="keyword">const</span> View1&amp; src, <span class="keyword">const</span> View2&amp; dst) {
-<a name="l00291"></a>00291 assert(src.dimensions()==dst.dimensions());
-<a name="l00292"></a>00292 detail::copy_with_2d_iterators(src.begin(),src.end(),dst.begin());
-<a name="l00293"></a>00293 }
-<a name="l00294"></a>00294
-<a name="l00300"></a>00300
-<a name="l00306"></a>00306
-<a name="l00307"></a>00307 <span class="keyword">namespace </span>detail {
-<a name="l00308"></a>00308 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CC&gt;
-<a name="l00309"></a>00309 <span class="keyword">class </span>copy_and_convert_pixels_fn : <span class="keyword">public</span> binary_operation_obj&lt;copy_and_convert_pixels_fn&lt;CC&gt; &gt; {
-<a name="l00310"></a>00310 <span class="keyword">private</span>:
-<a name="l00311"></a>00311 CC _cc;
-<a name="l00312"></a>00312 <span class="keyword">public</span>:
-<a name="l00313"></a>00313 <span class="keyword">typedef</span> <span class="keyword">typename</span> binary_operation_obj&lt;copy_and_convert_pixels_fn&lt;CC&gt; &gt;::result_type result_type;
-<a name="l00314"></a>00314 copy_and_convert_pixels_fn() {}
-<a name="l00315"></a>00315 copy_and_convert_pixels_fn(CC cc_in) : _cc(cc_in) {}
-<a name="l00316"></a>00316 <span class="comment">// when the two color spaces are incompatible, a color conversion is performed</span>
-<a name="l00317"></a>00317 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V1, <span class="keyword">typename</span> V2&gt; GIL_FORCEINLINE
-<a name="l00318"></a>00318 result_type apply_incompatible(<span class="keyword">const</span> V1&amp; src, <span class="keyword">const</span> V2&amp; dst)<span class="keyword"> const </span>{
-<a name="l00319"></a>00319 <a class="code" href="g_i_l_0140.html#ga0">copy_pixels</a>(color_converted_view&lt;typename V2::value_type&gt;(src,_cc),dst);
-<a name="l00320"></a>00320 }
-<a name="l00321"></a>00321
-<a name="l00322"></a>00322 <span class="comment">// If the two color spaces are compatible, copy_and_convert is just copy</span>
-<a name="l00323"></a>00323 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V1, <span class="keyword">typename</span> V2&gt; GIL_FORCEINLINE
-<a name="l00324"></a>00324 result_type apply_compatible(<span class="keyword">const</span> V1&amp; src, <span class="keyword">const</span> V2&amp; dst)<span class="keyword"> const </span>{
-<a name="l00325"></a>00325 <a class="code" href="g_i_l_0140.html#ga0">copy_pixels</a>(src,dst);
-<a name="l00326"></a>00326 }
-<a name="l00327"></a>00327 };
-<a name="l00328"></a>00328 } <span class="comment">// namespace detail</span>
-<a name="l00329"></a>00329
-<a name="l00331"></a>00331 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V1, <span class="keyword">typename</span> V2,<span class="keyword">typename</span> CC&gt;
-<a name="l00332"></a>00332 GIL_FORCEINLINE
-<a name="l00333"></a>00333 <span class="keywordtype">void</span> copy_and_convert_pixels(<span class="keyword">const</span> V1&amp; src, <span class="keyword">const</span> V2&amp; dst,CC cc) {
-<a name="l00334"></a>00334 detail::copy_and_convert_pixels_fn&lt;CC&gt; ccp(cc);
-<a name="l00335"></a>00335 ccp(src,dst);
-<a name="l00336"></a>00336 }
-<a name="l00337"></a>00337
-<a name="l00338"></a>00338 <span class="keyword">struct </span>default_color_converter;
+<a name="l00286"></a>00286 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
+<a name="l00287"></a>00287
+<a name="l00288"></a>00288
+<a name="l00291"></a>00291 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1, <span class="keyword">typename</span> View2&gt; GIL_FORCEINLINE
+<a name="l00292"></a><a class="code" href="g_i_l_0145.html#g16f18749152217a2b84733c330a2b415">00292</a> <span class="keywordtype">void</span> <a class="code" href="g_i_l_0145.html#g16f18749152217a2b84733c330a2b415" title="std::copy for image views">copy_pixels</a>(<span class="keyword">const</span> View1&amp; src, <span class="keyword">const</span> View2&amp; dst) {
+<a name="l00293"></a>00293 assert(src.dimensions()==dst.dimensions());
+<a name="l00294"></a>00294 detail::copy_with_2d_iterators(src.begin(),src.end(),dst.begin());
+<a name="l00295"></a>00295 }
+<a name="l00296"></a>00296
+<a name="l00302"></a>00302
+<a name="l00308"></a>00308
+<a name="l00309"></a>00309 <span class="keyword">namespace </span>detail {
+<a name="l00310"></a>00310 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CC&gt;
+<a name="l00311"></a>00311 <span class="keyword">class </span>copy_and_convert_pixels_fn : <span class="keyword">public</span> binary_operation_obj&lt;copy_and_convert_pixels_fn&lt;CC&gt; &gt; {
+<a name="l00312"></a>00312 <span class="keyword">private</span>:
+<a name="l00313"></a>00313 CC _cc;
+<a name="l00314"></a>00314 <span class="keyword">public</span>:
+<a name="l00315"></a>00315 <span class="keyword">typedef</span> <span class="keyword">typename</span> binary_operation_obj&lt;copy_and_convert_pixels_fn&lt;CC&gt; &gt;::result_type result_type;
+<a name="l00316"></a>00316 copy_and_convert_pixels_fn() {}
+<a name="l00317"></a>00317 copy_and_convert_pixels_fn(CC cc_in) : _cc(cc_in) {}
+<a name="l00318"></a>00318 <span class="comment">// when the two color spaces are incompatible, a color conversion is performed</span>
+<a name="l00319"></a>00319 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V1, <span class="keyword">typename</span> V2&gt; GIL_FORCEINLINE
+<a name="l00320"></a>00320 result_type apply_incompatible(<span class="keyword">const</span> V1&amp; src, <span class="keyword">const</span> V2&amp; dst)<span class="keyword"> const </span>{
+<a name="l00321"></a>00321 <a class="code" href="g_i_l_0145.html#g16f18749152217a2b84733c330a2b415" title="std::copy for image views">copy_pixels</a>(color_converted_view&lt;typename V2::value_type&gt;(src,_cc),dst);
+<a name="l00322"></a>00322 }
+<a name="l00323"></a>00323
+<a name="l00324"></a>00324 <span class="comment">// If the two color spaces are compatible, copy_and_convert is just copy</span>
+<a name="l00325"></a>00325 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V1, <span class="keyword">typename</span> V2&gt; GIL_FORCEINLINE
+<a name="l00326"></a>00326 result_type apply_compatible(<span class="keyword">const</span> V1&amp; src, <span class="keyword">const</span> V2&amp; dst)<span class="keyword"> const </span>{
+<a name="l00327"></a>00327 <a class="code" href="g_i_l_0145.html#g16f18749152217a2b84733c330a2b415" title="std::copy for image views">copy_pixels</a>(src,dst);
+<a name="l00328"></a>00328 }
+<a name="l00329"></a>00329 };
+<a name="l00330"></a>00330 } <span class="comment">// namespace detail</span>
+<a name="l00331"></a>00331
+<a name="l00333"></a>00333 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V1, <span class="keyword">typename</span> V2,<span class="keyword">typename</span> CC&gt;
+<a name="l00334"></a>00334 GIL_FORCEINLINE
+<a name="l00335"></a>00335 <span class="keywordtype">void</span> copy_and_convert_pixels(<span class="keyword">const</span> V1&amp; src, <span class="keyword">const</span> V2&amp; dst,CC cc) {
+<a name="l00336"></a>00336 detail::copy_and_convert_pixels_fn&lt;CC&gt; ccp(cc);
+<a name="l00337"></a>00337 ccp(src,dst);
+<a name="l00338"></a>00338 }
 <a name="l00339"></a>00339
-<a name="l00341"></a>00341 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1, <span class="keyword">typename</span> View2&gt;
-<a name="l00342"></a>00342 GIL_FORCEINLINE
-<a name="l00343"></a>00343 <span class="keywordtype">void</span> copy_and_convert_pixels(<span class="keyword">const</span> View1&amp; src, <span class="keyword">const</span> View2&amp; dst) {
-<a name="l00344"></a>00344 detail::copy_and_convert_pixels_fn&lt;default_color_converter&gt; ccp;
-<a name="l00345"></a>00345 ccp(src,dst);
-<a name="l00346"></a>00346 }
-<a name="l00347"></a>00347
-<a name="l00348"></a>00348 } } <span class="comment">// namespace boost::gil</span>
+<a name="l00340"></a>00340 <span class="keyword">struct </span>default_color_converter;
+<a name="l00341"></a>00341
+<a name="l00343"></a>00343 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1, <span class="keyword">typename</span> View2&gt;
+<a name="l00344"></a>00344 GIL_FORCEINLINE
+<a name="l00345"></a>00345 <span class="keywordtype">void</span> copy_and_convert_pixels(<span class="keyword">const</span> View1&amp; src, <span class="keyword">const</span> View2&amp; dst) {
+<a name="l00346"></a>00346 detail::copy_and_convert_pixels_fn&lt;default_color_converter&gt; ccp;
+<a name="l00347"></a>00347 ccp(src,dst);
+<a name="l00348"></a>00348 }
 <a name="l00349"></a>00349
-<a name="l00351"></a>00351 <span class="comment">//</span>
-<a name="l00352"></a>00352 <span class="comment">// std::fill and gil::fill_pixels</span>
+<a name="l00350"></a>00350 } } <span class="comment">// namespace boost::gil</span>
+<a name="l00351"></a>00351
 <a name="l00353"></a>00353 <span class="comment">//</span>
-<a name="l00355"></a>00355 <span class="comment"></span>
-<a name="l00359"></a>00359
-<a name="l00360"></a>00360
-<a name="l00361"></a>00361 <span class="keyword">namespace </span>std {
-<a name="l00370"></a>00370 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IL, <span class="keyword">typename</span> V&gt;
-<a name="l00371"></a><a class="code" href="g_i_l_0209.html#ga4">00371</a> <span class="keywordtype">void</span> <a class="code" href="g_i_l_0209.html#ga4">fill</a>(<a class="code" href="g_i_l_0042.html">boost::gil::iterator_from_2d&lt;IL&gt;</a> first, <a class="code" href="g_i_l_0042.html">boost::gil::iterator_from_2d&lt;IL&gt;</a> last, <span class="keyword">const</span> V&amp; val) {
-<a name="l00372"></a>00372 boost::gil::gil_function_requires&lt;boost::gil::MutablePixelLocatorConcept&lt;IL&gt; &gt;();
-<a name="l00373"></a>00373 <span class="keywordflow">if</span> (first.<a class="code" href="g_i_l_0042.html#a4">is_1d_traversable</a>()) {
-<a name="l00374"></a>00374 <a class="code" href="g_i_l_0209.html#ga4">std::fill</a>(first.<a class="code" href="g_i_l_0042.html#a5">x</a>(), last.<a class="code" href="g_i_l_0042.html#a5">x</a>(), val);
-<a name="l00375"></a>00375 } <span class="keywordflow">else</span> {
-<a name="l00376"></a>00376 <span class="comment">// fill row by row</span>
-<a name="l00377"></a>00377 std::ptrdiff_t n=last-first;
-<a name="l00378"></a>00378 <span class="keywordflow">while</span> (n&gt;0) {
-<a name="l00379"></a>00379 std::ptrdiff_t numToDo=std::min&lt;const std::ptrdiff_t&gt;(n,(std::ptrdiff_t)(first.width()-first.x_pos()));
-<a name="l00380"></a>00380 fill_n(first.x(), numToDo, val);
-<a name="l00381"></a>00381 first+=numToDo;
-<a name="l00382"></a>00382 n-=numToDo;
-<a name="l00383"></a>00383 }
-<a name="l00384"></a>00384 }
-<a name="l00385"></a>00385 }
-<a name="l00386"></a>00386 } <span class="comment">// namespace std</span>
-<a name="l00387"></a>00387
-<a name="l00388"></a>00388 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
+<a name="l00354"></a>00354 <span class="comment">// std::fill and gil::fill_pixels</span>
+<a name="l00355"></a>00355 <span class="comment">//</span>
+<a name="l00357"></a>00357 <span class="comment"></span>
+<a name="l00361"></a>00361
+<a name="l00362"></a>00362
+<a name="l00363"></a>00363 <span class="keyword">namespace </span>std {
+<a name="l00372"></a>00372 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IL, <span class="keyword">typename</span> V&gt;
+<a name="l00373"></a><a class="code" href="g_i_l_0214.html#g718772a47188f4e2ecfce2f28fa3dc4f">00373</a> <span class="keywordtype">void</span> <a class="code" href="g_i_l_0214.html#g718772a47188f4e2ecfce2f28fa3dc4f" title="std::fill(I,I,V) with I being a iterator_from_2d">fill</a>(<a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">boost::gil::iterator_from_2d&lt;IL&gt;</a> first, <a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">boost::gil::iterator_from_2d&lt;IL&gt;</a> last, <span class="keyword">const</span> V&amp; val) {
+<a name="l00374"></a>00374 boost::gil::gil_function_requires&lt;boost::gil::MutablePixelLocatorConcept&lt;IL&gt; &gt;();
+<a name="l00375"></a>00375 <span class="keywordflow">if</span> (first.<a class="code" href="g_i_l_0042.html#90ccf75aa2deb01fbce509842191cad2">is_1d_traversable</a>()) {
+<a name="l00376"></a>00376 <a class="code" href="g_i_l_0214.html#g718772a47188f4e2ecfce2f28fa3dc4f" title="std::fill(I,I,V) with I being a iterator_from_2d">std::fill</a>(first.<a class="code" href="g_i_l_0042.html#72169bdc650ac7eda288398e4ce1d7f8">x</a>(), last.<a class="code" href="g_i_l_0042.html#72169bdc650ac7eda288398e4ce1d7f8">x</a>(), val);
+<a name="l00377"></a>00377 } <span class="keywordflow">else</span> {
+<a name="l00378"></a>00378 <span class="comment">// fill row by row</span>
+<a name="l00379"></a>00379 std::ptrdiff_t n=last-first;
+<a name="l00380"></a>00380 <span class="keywordflow">while</span> (n&gt;0) {
+<a name="l00381"></a>00381 std::ptrdiff_t numToDo=std::min&lt;const std::ptrdiff_t&gt;(n,(std::ptrdiff_t)(first.width()-first.x_pos()));
+<a name="l00382"></a>00382 fill_n(first.x(), numToDo, val);
+<a name="l00383"></a>00383 first+=numToDo;
+<a name="l00384"></a>00384 n-=numToDo;
+<a name="l00385"></a>00385 }
+<a name="l00386"></a>00386 }
+<a name="l00387"></a>00387 }
+<a name="l00388"></a>00388 } <span class="comment">// namespace std</span>
 <a name="l00389"></a>00389
-<a name="l00390"></a>00390 <span class="keyword">namespace </span>detail {
-<a name="l00392"></a><a class="code" href="g_i_l_0515.html">00392</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0515.html">std_fill_t</a> {
-<a name="l00393"></a>00393 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It, <span class="keyword">typename</span> P&gt;
-<a name="l00394"></a>00394 <span class="keywordtype">void</span> operator()(It first, It last, <span class="keyword">const</span> P&amp; p_in) {
-<a name="l00395"></a>00395 <a class="code" href="g_i_l_0209.html#ga4">std::fill</a>(first,last,p_in);
-<a name="l00396"></a>00396 }
-<a name="l00397"></a>00397 };
-<a name="l00399"></a>00399 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It, <span class="keyword">typename</span> P&gt;
-<a name="l00400"></a>00400 GIL_FORCEINLINE
-<a name="l00401"></a>00401 <span class="keywordtype">void</span> fill_aux(It first, It last, <span class="keyword">const</span> P&amp; p, mpl::true_) {
-<a name="l00402"></a>00402 static_for_each(first,last,p,<a class="code" href="g_i_l_0515.html">std_fill_t</a>());
-<a name="l00403"></a>00403 }
-<a name="l00405"></a>00405 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It, <span class="keyword">typename</span> P&gt;
-<a name="l00406"></a>00406 GIL_FORCEINLINE
-<a name="l00407"></a>00407 <span class="keywordtype">void</span> fill_aux(It first, It last, <span class="keyword">const</span> P&amp; p,mpl::false_) {
-<a name="l00408"></a>00408 <a class="code" href="g_i_l_0209.html#ga4">std::fill</a>(first,last,p);
-<a name="l00409"></a>00409 }
-<a name="l00410"></a>00410 } <span class="comment">// namespace detail</span>
-<a name="l00411"></a>00411
-<a name="l00414"></a>00414 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View, <span class="keyword">typename</span> Value&gt; GIL_FORCEINLINE
-<a name="l00415"></a><a class="code" href="g_i_l_0144.html#ga0">00415</a> <span class="keywordtype">void</span> <a class="code" href="g_i_l_0144.html#ga0">fill_pixels</a>(<span class="keyword">const</span> View&amp; img_view, <span class="keyword">const</span> Value&amp; val) {
-<a name="l00416"></a>00416 <span class="keywordflow">if</span> (img_view.is_1d_traversable())
-<a name="l00417"></a>00417 detail::fill_aux(img_view.begin().x(), img_view.end().x(),
-<a name="l00418"></a>00418 val,is_planar&lt;View&gt;());
-<a name="l00419"></a>00419 <span class="keywordflow">else</span>
-<a name="l00420"></a>00420 <span class="keywordflow">for</span> (std::ptrdiff_t y=0; y&lt;img_view.height(); ++y)
-<a name="l00421"></a>00421 detail::fill_aux(img_view.row_begin(y),img_view.row_end(y),
-<a name="l00422"></a>00422 val,is_planar&lt;View&gt;());
-<a name="l00423"></a>00423 }
-<a name="l00424"></a>00424
-<a name="l00430"></a>00430
-<a name="l00434"></a>00434
-<a name="l00435"></a>00435
-<a name="l00436"></a>00436 <span class="keyword">namespace </span>detail {
+<a name="l00390"></a>00390 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
+<a name="l00391"></a>00391
+<a name="l00392"></a>00392 <span class="keyword">namespace </span>detail {
+<a name="l00394"></a><a class="code" href="g_i_l_0521.html">00394</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0521.html" title="struct to do std::fill">std_fill_t</a> {
+<a name="l00395"></a>00395 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It, <span class="keyword">typename</span> P&gt;
+<a name="l00396"></a>00396 <span class="keywordtype">void</span> operator()(It first, It last, <span class="keyword">const</span> P&amp; p_in) {
+<a name="l00397"></a>00397 <a class="code" href="g_i_l_0214.html#g718772a47188f4e2ecfce2f28fa3dc4f" title="std::fill(I,I,V) with I being a iterator_from_2d">std::fill</a>(first,last,p_in);
+<a name="l00398"></a>00398 }
+<a name="l00399"></a>00399 };
+<a name="l00401"></a>00401 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It, <span class="keyword">typename</span> P&gt;
+<a name="l00402"></a>00402 GIL_FORCEINLINE
+<a name="l00403"></a>00403 <span class="keywordtype">void</span> fill_aux(It first, It last, <span class="keyword">const</span> P&amp; p, mpl::true_) {
+<a name="l00404"></a>00404 static_for_each(first,last,p,<a class="code" href="g_i_l_0521.html" title="struct to do std::fill">std_fill_t</a>());
+<a name="l00405"></a>00405 }
+<a name="l00407"></a>00407 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It, <span class="keyword">typename</span> P&gt;
+<a name="l00408"></a>00408 GIL_FORCEINLINE
+<a name="l00409"></a>00409 <span class="keywordtype">void</span> fill_aux(It first, It last, <span class="keyword">const</span> P&amp; p,mpl::false_) {
+<a name="l00410"></a>00410 <a class="code" href="g_i_l_0214.html#g718772a47188f4e2ecfce2f28fa3dc4f" title="std::fill(I,I,V) with I being a iterator_from_2d">std::fill</a>(first,last,p);
+<a name="l00411"></a>00411 }
+<a name="l00412"></a>00412 } <span class="comment">// namespace detail</span>
+<a name="l00413"></a>00413
+<a name="l00416"></a>00416 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View, <span class="keyword">typename</span> Value&gt; GIL_FORCEINLINE
+<a name="l00417"></a><a class="code" href="g_i_l_0149.html#g3b28c66102763fd1d42f69e4eefa631f">00417</a> <span class="keywordtype">void</span> <a class="code" href="g_i_l_0149.html#gd38040bb50f5ea498151dd846d4d7873" title="fill_pixels for any image view. The pixel to fill with must be compatible with the...">fill_pixels</a>(<span class="keyword">const</span> View&amp; img_view, <span class="keyword">const</span> Value&amp; val) {
+<a name="l00418"></a>00418 <span class="keywordflow">if</span> (img_view.is_1d_traversable())
+<a name="l00419"></a>00419 detail::fill_aux(img_view.begin().x(), img_view.end().x(),
+<a name="l00420"></a>00420 val,is_planar&lt;View&gt;());
+<a name="l00421"></a>00421 <span class="keywordflow">else</span>
+<a name="l00422"></a>00422 <span class="keywordflow">for</span> (std::ptrdiff_t y=0; y&lt;img_view.height(); ++y)
+<a name="l00423"></a>00423 detail::fill_aux(img_view.row_begin(y),img_view.row_end(y),
+<a name="l00424"></a>00424 val,is_planar&lt;View&gt;());
+<a name="l00425"></a>00425 }
+<a name="l00426"></a>00426
+<a name="l00432"></a>00432
+<a name="l00436"></a>00436
 <a name="l00437"></a>00437
-<a name="l00438"></a>00438 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt; GIL_FORCEINLINE
-<a name="l00439"></a>00439 <span class="keywordtype">void</span> destruct_range_impl(It first, It last, mpl::true_) {
-<a name="l00440"></a>00440 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::iterator_traits&lt;It&gt;::value_type value_t;
-<a name="l00441"></a>00441 <span class="keywordflow">if</span> (boost::has_trivial_destructor&lt;value_t&gt;::value)
-<a name="l00442"></a>00442 <span class="keywordflow">return</span>;
-<a name="l00443"></a>00443 <span class="keywordflow">while</span> (first!=last) {
-<a name="l00444"></a>00444 first-&gt;~value_t();
-<a name="l00445"></a>00445 ++first;
-<a name="l00446"></a>00446 }
-<a name="l00447"></a>00447 }
-<a name="l00448"></a>00448 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt; GIL_FORCEINLINE
-<a name="l00449"></a>00449 <span class="keywordtype">void</span> destruct_range_impl(It first, It last, mpl::false_) {}
-<a name="l00450"></a>00450
-<a name="l00451"></a>00451 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt; GIL_FORCEINLINE
-<a name="l00452"></a>00452 <span class="keywordtype">void</span> destruct_range(It first, It last) {
-<a name="l00453"></a>00453 destruct_range_impl(first,last,<span class="keyword">typename</span> is_pointer&lt;It&gt;::type());
-<a name="l00454"></a>00454 }
-<a name="l00455"></a>00455
-<a name="l00456"></a>00456 <span class="keyword">struct </span>std_destruct_t {
-<a name="l00457"></a>00457 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt; <span class="keywordtype">void</span> operator()(It first, It last)<span class="keyword"> const </span>{ destruct_range(first,last); }
-<a name="l00458"></a>00458 };
-<a name="l00459"></a>00459
-<a name="l00461"></a>00461 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt;
-<a name="l00462"></a>00462 GIL_FORCEINLINE
-<a name="l00463"></a>00463 <span class="keywordtype">void</span> destruct_aux(It first, It last, mpl::true_) {
-<a name="l00464"></a>00464 static_for_each(first,last,std_destruct_t());
-<a name="l00465"></a>00465 }
-<a name="l00467"></a>00467 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt;
-<a name="l00468"></a>00468 GIL_FORCEINLINE
-<a name="l00469"></a>00469 <span class="keywordtype">void</span> destruct_aux(It first, It last, mpl::false_) {
-<a name="l00470"></a>00470 destruct_range(first,last);
-<a name="l00471"></a>00471 }
-<a name="l00472"></a>00472
-<a name="l00473"></a>00473 } <span class="comment">// namespace detail</span>
+<a name="l00438"></a>00438 <span class="keyword">namespace </span>detail {
+<a name="l00439"></a>00439
+<a name="l00440"></a>00440 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt; GIL_FORCEINLINE
+<a name="l00441"></a>00441 <span class="keywordtype">void</span> destruct_range_impl(It first, It last, mpl::true_) {
+<a name="l00442"></a>00442 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::iterator_traits&lt;It&gt;::value_type value_t;
+<a name="l00443"></a>00443 <span class="keywordflow">if</span> (boost::has_trivial_destructor&lt;value_t&gt;::value)
+<a name="l00444"></a>00444 <span class="keywordflow">return</span>;
+<a name="l00445"></a>00445 <span class="keywordflow">while</span> (first!=last) {
+<a name="l00446"></a>00446 first-&gt;~value_t();
+<a name="l00447"></a>00447 ++first;
+<a name="l00448"></a>00448 }
+<a name="l00449"></a>00449 }
+<a name="l00450"></a>00450 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt; GIL_FORCEINLINE
+<a name="l00451"></a>00451 <span class="keywordtype">void</span> destruct_range_impl(It first, It last, mpl::false_) {}
+<a name="l00452"></a>00452
+<a name="l00453"></a>00453 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt; GIL_FORCEINLINE
+<a name="l00454"></a>00454 <span class="keywordtype">void</span> destruct_range(It first, It last) {
+<a name="l00455"></a>00455 destruct_range_impl(first,last,<span class="keyword">typename</span> is_pointer&lt;It&gt;::type());
+<a name="l00456"></a>00456 }
+<a name="l00457"></a>00457
+<a name="l00458"></a>00458 <span class="keyword">struct </span>std_destruct_t {
+<a name="l00459"></a>00459 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt; <span class="keywordtype">void</span> operator()(It first, It last)<span class="keyword"> const </span>{ destruct_range(first,last); }
+<a name="l00460"></a>00460 };
+<a name="l00461"></a>00461
+<a name="l00463"></a>00463 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt;
+<a name="l00464"></a>00464 GIL_FORCEINLINE
+<a name="l00465"></a>00465 <span class="keywordtype">void</span> destruct_aux(It first, It last, mpl::true_) {
+<a name="l00466"></a>00466 static_for_each(first,last,std_destruct_t());
+<a name="l00467"></a>00467 }
+<a name="l00469"></a>00469 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt;
+<a name="l00470"></a>00470 GIL_FORCEINLINE
+<a name="l00471"></a>00471 <span class="keywordtype">void</span> destruct_aux(It first, It last, mpl::false_) {
+<a name="l00472"></a>00472 destruct_range(first,last);
+<a name="l00473"></a>00473 }
 <a name="l00474"></a>00474
-<a name="l00477"></a>00477 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View&gt; GIL_FORCEINLINE
-<a name="l00478"></a><a class="code" href="g_i_l_0142.html#ga0">00478</a> <span class="keywordtype">void</span> <a class="code" href="g_i_l_0142.html#ga0">destruct_pixels</a>(<span class="keyword">const</span> View&amp; img_view) {
-<a name="l00479"></a>00479 <span class="keywordflow">if</span> (img_view.is_1d_traversable())
-<a name="l00480"></a>00480 detail::destruct_aux(img_view.begin().x(), img_view.end().x(),
-<a name="l00481"></a>00481 is_planar&lt;View&gt;());
-<a name="l00482"></a>00482 <span class="keywordflow">else</span>
-<a name="l00483"></a>00483 <span class="keywordflow">for</span> (std::ptrdiff_t y=0; y&lt;img_view.height(); ++y)
-<a name="l00484"></a>00484 detail::destruct_aux(img_view.row_begin(y),img_view.row_end(y),
-<a name="l00485"></a>00485 is_planar&lt;View&gt;());
-<a name="l00486"></a>00486 }
-<a name="l00487"></a>00487
-<a name="l00493"></a>00493
-<a name="l00497"></a>00497
-<a name="l00498"></a>00498
-<a name="l00499"></a>00499 <span class="keyword">namespace </span>detail {
+<a name="l00475"></a>00475 } <span class="comment">// namespace detail</span>
+<a name="l00476"></a>00476
+<a name="l00479"></a>00479 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View&gt; GIL_FORCEINLINE
+<a name="l00480"></a><a class="code" href="g_i_l_0147.html#g5c465a97a10e15d9ce18a3c2fff7f91d">00480</a> <span class="keywordtype">void</span> <a class="code" href="g_i_l_0147.html#g5c465a97a10e15d9ce18a3c2fff7f91d" title="Invokes the in-place destructor on every pixel of the view.">destruct_pixels</a>(<span class="keyword">const</span> View&amp; img_view) {
+<a name="l00481"></a>00481 <span class="keywordflow">if</span> (img_view.is_1d_traversable())
+<a name="l00482"></a>00482 detail::destruct_aux(img_view.begin().x(), img_view.end().x(),
+<a name="l00483"></a>00483 is_planar&lt;View&gt;());
+<a name="l00484"></a>00484 <span class="keywordflow">else</span>
+<a name="l00485"></a>00485 <span class="keywordflow">for</span> (std::ptrdiff_t y=0; y&lt;img_view.height(); ++y)
+<a name="l00486"></a>00486 detail::destruct_aux(img_view.row_begin(y),img_view.row_end(y),
+<a name="l00487"></a>00487 is_planar&lt;View&gt;());
+<a name="l00488"></a>00488 }
+<a name="l00489"></a>00489
+<a name="l00495"></a>00495
+<a name="l00499"></a>00499
 <a name="l00500"></a>00500
-<a name="l00503"></a>00503 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It, <span class="keyword">typename</span> P&gt;
-<a name="l00504"></a>00504 GIL_FORCEINLINE
-<a name="l00505"></a>00505 <span class="keywordtype">void</span> uninitialized_fill_aux(It first, It last,
-<a name="l00506"></a>00506 <span class="keyword">const</span> P&amp; p, mpl::true_) {
-<a name="l00507"></a>00507 <span class="keywordtype">int</span> channel=0;
-<a name="l00508"></a>00508 <span class="keywordflow">try</span> {
-<a name="l00509"></a>00509 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::iterator_traits&lt;It&gt;::value_type pixel_t;
-<a name="l00510"></a>00510 <span class="keywordflow">while</span> (channel &lt; num_channels&lt;pixel_t&gt;::value) {
-<a name="l00511"></a>00511 std::uninitialized_fill(dynamic_at_c(first,channel), dynamic_at_c(last,channel),
-<a name="l00512"></a>00512 dynamic_at_c(p,channel));
-<a name="l00513"></a>00513 ++channel;
-<a name="l00514"></a>00514 }
-<a name="l00515"></a>00515 } <span class="keywordflow">catch</span> (...) {
-<a name="l00516"></a>00516 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> c=0; c&lt;channel; ++c)
-<a name="l00517"></a>00517 destruct_range(dynamic_at_c(first,c), dynamic_at_c(last,c));
-<a name="l00518"></a>00518 <span class="keywordflow">throw</span>;
-<a name="l00519"></a>00519 }
-<a name="l00520"></a>00520 }
-<a name="l00521"></a>00521
-<a name="l00524"></a>00524 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It, <span class="keyword">typename</span> P&gt;
-<a name="l00525"></a>00525 GIL_FORCEINLINE
-<a name="l00526"></a>00526 <span class="keywordtype">void</span> uninitialized_fill_aux(It first, It last,
-<a name="l00527"></a>00527 <span class="keyword">const</span> P&amp; p,mpl::false_) {
-<a name="l00528"></a>00528 std::uninitialized_fill(first,last,p);
-<a name="l00529"></a>00529 }
-<a name="l00530"></a>00530
-<a name="l00531"></a>00531 } <span class="comment">// namespace detail</span>
+<a name="l00501"></a>00501 <span class="keyword">namespace </span>detail {
+<a name="l00502"></a>00502
+<a name="l00505"></a>00505 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It, <span class="keyword">typename</span> P&gt;
+<a name="l00506"></a>00506 GIL_FORCEINLINE
+<a name="l00507"></a>00507 <span class="keywordtype">void</span> uninitialized_fill_aux(It first, It last,
+<a name="l00508"></a>00508 <span class="keyword">const</span> P&amp; p, mpl::true_) {
+<a name="l00509"></a>00509 <span class="keywordtype">int</span> channel=0;
+<a name="l00510"></a>00510 <span class="keywordflow">try</span> {
+<a name="l00511"></a>00511 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::iterator_traits&lt;It&gt;::value_type pixel_t;
+<a name="l00512"></a>00512 <span class="keywordflow">while</span> (channel &lt; num_channels&lt;pixel_t&gt;::value) {
+<a name="l00513"></a>00513 std::uninitialized_fill(dynamic_at_c(first,channel), dynamic_at_c(last,channel),
+<a name="l00514"></a>00514 dynamic_at_c(p,channel));
+<a name="l00515"></a>00515 ++channel;
+<a name="l00516"></a>00516 }
+<a name="l00517"></a>00517 } <span class="keywordflow">catch</span> (...) {
+<a name="l00518"></a>00518 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> c=0; c&lt;channel; ++c)
+<a name="l00519"></a>00519 destruct_range(dynamic_at_c(first,c), dynamic_at_c(last,c));
+<a name="l00520"></a>00520 <span class="keywordflow">throw</span>;
+<a name="l00521"></a>00521 }
+<a name="l00522"></a>00522 }
+<a name="l00523"></a>00523
+<a name="l00526"></a>00526 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It, <span class="keyword">typename</span> P&gt;
+<a name="l00527"></a>00527 GIL_FORCEINLINE
+<a name="l00528"></a>00528 <span class="keywordtype">void</span> uninitialized_fill_aux(It first, It last,
+<a name="l00529"></a>00529 <span class="keyword">const</span> P&amp; p,mpl::false_) {
+<a name="l00530"></a>00530 std::uninitialized_fill(first,last,p);
+<a name="l00531"></a>00531 }
 <a name="l00532"></a>00532
-<a name="l00537"></a>00537 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View, <span class="keyword">typename</span> Value&gt;
-<a name="l00538"></a><a class="code" href="g_i_l_0151.html#ga0">00538</a> <span class="keywordtype">void</span> <a class="code" href="g_i_l_0151.html#ga0">uninitialized_fill_pixels</a>(<span class="keyword">const</span> View&amp; img_view, <span class="keyword">const</span> Value&amp; val) {
-<a name="l00539"></a>00539 <span class="keywordflow">if</span> (img_view.is_1d_traversable())
-<a name="l00540"></a>00540 detail::uninitialized_fill_aux(img_view.begin().x(), img_view.end().x(),
-<a name="l00541"></a>00541 val,is_planar&lt;View&gt;());
-<a name="l00542"></a>00542 <span class="keywordflow">else</span> {
-<a name="l00543"></a>00543 <span class="keyword">typename</span> View::y_coord_t y;
-<a name="l00544"></a>00544 <span class="keywordflow">try</span> {
-<a name="l00545"></a>00545 <span class="keywordflow">for</span> (y=0; y&lt;img_view.height(); ++y)
-<a name="l00546"></a>00546 detail::uninitialized_fill_aux(img_view.row_begin(y),img_view.row_end(y),
-<a name="l00547"></a>00547 val,is_planar&lt;View&gt;());
-<a name="l00548"></a>00548 } <span class="keywordflow">catch</span>(...) {
-<a name="l00549"></a>00549 <span class="keywordflow">for</span> (<span class="keyword">typename</span> View::y_coord_t y0=0; y0&lt;y; ++y0)
-<a name="l00550"></a>00550 detail::destruct_aux(img_view.row_begin(y0),img_view.row_end(y0), is_planar&lt;View&gt;());
-<a name="l00551"></a>00551 <span class="keywordflow">throw</span>;
-<a name="l00552"></a>00552 }
-<a name="l00553"></a>00553 }
-<a name="l00554"></a>00554 }
-<a name="l00555"></a>00555
-<a name="l00561"></a>00561
-<a name="l00565"></a>00565
-<a name="l00566"></a>00566 <span class="keyword">namespace </span>detail {
+<a name="l00533"></a>00533 } <span class="comment">// namespace detail</span>
+<a name="l00534"></a>00534
+<a name="l00539"></a>00539 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View, <span class="keyword">typename</span> Value&gt;
+<a name="l00540"></a><a class="code" href="g_i_l_0156.html#g4f5edbc3fe6b776c6aa1939902333cf3">00540</a> <span class="keywordtype">void</span> <a class="code" href="g_i_l_0156.html#g4f5edbc3fe6b776c6aa1939902333cf3" title="std::uninitialized_fill for image views. Does not support planar heterogeneous views...">uninitialized_fill_pixels</a>(<span class="keyword">const</span> View&amp; img_view, <span class="keyword">const</span> Value&amp; val) {
+<a name="l00541"></a>00541 <span class="keywordflow">if</span> (img_view.is_1d_traversable())
+<a name="l00542"></a>00542 detail::uninitialized_fill_aux(img_view.begin().x(), img_view.end().x(),
+<a name="l00543"></a>00543 val,is_planar&lt;View&gt;());
+<a name="l00544"></a>00544 <span class="keywordflow">else</span> {
+<a name="l00545"></a>00545 <span class="keyword">typename</span> View::y_coord_t y;
+<a name="l00546"></a>00546 <span class="keywordflow">try</span> {
+<a name="l00547"></a>00547 <span class="keywordflow">for</span> (y=0; y&lt;img_view.height(); ++y)
+<a name="l00548"></a>00548 detail::uninitialized_fill_aux(img_view.row_begin(y),img_view.row_end(y),
+<a name="l00549"></a>00549 val,is_planar&lt;View&gt;());
+<a name="l00550"></a>00550 } <span class="keywordflow">catch</span>(...) {
+<a name="l00551"></a>00551 <span class="keywordflow">for</span> (<span class="keyword">typename</span> View::y_coord_t y0=0; y0&lt;y; ++y0)
+<a name="l00552"></a>00552 detail::destruct_aux(img_view.row_begin(y0),img_view.row_end(y0), is_planar&lt;View&gt;());
+<a name="l00553"></a>00553 <span class="keywordflow">throw</span>;
+<a name="l00554"></a>00554 }
+<a name="l00555"></a>00555 }
+<a name="l00556"></a>00556 }
+<a name="l00557"></a>00557
+<a name="l00563"></a>00563
 <a name="l00567"></a>00567
-<a name="l00568"></a>00568 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt; GIL_FORCEINLINE
-<a name="l00569"></a>00569 <span class="keywordtype">void</span> default_construct_range_impl(It first, It last, mpl::true_) {
-<a name="l00570"></a>00570 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::iterator_traits&lt;It&gt;::value_type value_t;
-<a name="l00571"></a>00571 It first1=first;
-<a name="l00572"></a>00572 <span class="keywordflow">try</span> {
-<a name="l00573"></a>00573 <span class="keywordflow">while</span> (first!=last) {
-<a name="l00574"></a>00574 <span class="keyword">new</span> (first) value_t();
-<a name="l00575"></a>00575 ++first;
-<a name="l00576"></a>00576 }
-<a name="l00577"></a>00577 } <span class="keywordflow">catch</span> (...) {
-<a name="l00578"></a>00578 destruct_range(first1,first);
-<a name="l00579"></a>00579 <span class="keywordflow">throw</span>;
-<a name="l00580"></a>00580 }
-<a name="l00581"></a>00581 }
-<a name="l00582"></a>00582
-<a name="l00583"></a>00583 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt; GIL_FORCEINLINE
-<a name="l00584"></a>00584 <span class="keywordtype">void</span> default_construct_range_impl(It first, It last, mpl::false_) {}
-<a name="l00585"></a>00585
-<a name="l00586"></a>00586 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt; GIL_FORCEINLINE
-<a name="l00587"></a>00587 <span class="keywordtype">void</span> default_construct_range(It first, It last) { default_construct_range_impl(first, last, <span class="keyword">typename</span> is_pointer&lt;It&gt;::type()); }
-<a name="l00588"></a>00588
-<a name="l00590"></a>00590 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt;
-<a name="l00591"></a>00591 GIL_FORCEINLINE
-<a name="l00592"></a>00592 <span class="keywordtype">void</span> default_construct_aux(It first, It last, mpl::true_) {
-<a name="l00593"></a>00593 <span class="keywordtype">int</span> channel=0;
-<a name="l00594"></a>00594 <span class="keywordflow">try</span> {
-<a name="l00595"></a>00595 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::iterator_traits&lt;It&gt;::value_type pixel_t;
-<a name="l00596"></a>00596 <span class="keywordflow">while</span> (channel &lt; num_channels&lt;pixel_t&gt;::value) {
-<a name="l00597"></a>00597 default_construct_range(dynamic_at_c(first,channel), dynamic_at_c(last,channel));
-<a name="l00598"></a>00598 ++channel;
-<a name="l00599"></a>00599 }
-<a name="l00600"></a>00600 } <span class="keywordflow">catch</span> (...) {
-<a name="l00601"></a>00601 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> c=0; c&lt;channel; ++c)
-<a name="l00602"></a>00602 destruct_range(dynamic_at_c(first,c), dynamic_at_c(last,c));
-<a name="l00603"></a>00603 <span class="keywordflow">throw</span>;
-<a name="l00604"></a>00604 }
-<a name="l00605"></a>00605 }
-<a name="l00606"></a>00606
-<a name="l00608"></a>00608 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt;
-<a name="l00609"></a>00609 GIL_FORCEINLINE
-<a name="l00610"></a>00610 <span class="keywordtype">void</span> default_construct_aux(It first, It last, mpl::false_) {
-<a name="l00611"></a>00611 default_construct_range(first,last);
-<a name="l00612"></a>00612 }
-<a name="l00613"></a>00613
-<a name="l00614"></a>00614 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View, <span class="keywordtype">bool</span> IsPlanar&gt;
-<a name="l00615"></a>00615 <span class="keyword">struct </span>has_trivial_pixel_constructor : <span class="keyword">public</span> boost::has_trivial_constructor&lt;typename View::value_type&gt; {};
-<a name="l00616"></a>00616 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View&gt;
-<a name="l00617"></a>00617 <span class="keyword">struct </span>has_trivial_pixel_constructor&lt;View, true&gt; : <span class="keyword">public</span> boost::has_trivial_constructor&lt;typename channel_type&lt;View&gt;::type&gt; {};
-<a name="l00618"></a>00618
-<a name="l00619"></a>00619 } <span class="comment">// namespace detail</span>
+<a name="l00568"></a>00568 <span class="keyword">namespace </span>detail {
+<a name="l00569"></a>00569
+<a name="l00570"></a>00570 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt; GIL_FORCEINLINE
+<a name="l00571"></a>00571 <span class="keywordtype">void</span> default_construct_range_impl(It first, It last, mpl::true_) {
+<a name="l00572"></a>00572 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::iterator_traits&lt;It&gt;::value_type value_t;
+<a name="l00573"></a>00573 It first1=first;
+<a name="l00574"></a>00574 <span class="keywordflow">try</span> {
+<a name="l00575"></a>00575 <span class="keywordflow">while</span> (first!=last) {
+<a name="l00576"></a>00576 <span class="keyword">new</span> (first) value_t();
+<a name="l00577"></a>00577 ++first;
+<a name="l00578"></a>00578 }
+<a name="l00579"></a>00579 } <span class="keywordflow">catch</span> (...) {
+<a name="l00580"></a>00580 destruct_range(first1,first);
+<a name="l00581"></a>00581 <span class="keywordflow">throw</span>;
+<a name="l00582"></a>00582 }
+<a name="l00583"></a>00583 }
+<a name="l00584"></a>00584
+<a name="l00585"></a>00585 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt; GIL_FORCEINLINE
+<a name="l00586"></a>00586 <span class="keywordtype">void</span> default_construct_range_impl(It first, It last, mpl::false_) {}
+<a name="l00587"></a>00587
+<a name="l00588"></a>00588 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt; GIL_FORCEINLINE
+<a name="l00589"></a>00589 <span class="keywordtype">void</span> default_construct_range(It first, It last) { default_construct_range_impl(first, last, <span class="keyword">typename</span> is_pointer&lt;It&gt;::type()); }
+<a name="l00590"></a>00590
+<a name="l00592"></a>00592 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt;
+<a name="l00593"></a>00593 GIL_FORCEINLINE
+<a name="l00594"></a>00594 <span class="keywordtype">void</span> default_construct_aux(It first, It last, mpl::true_) {
+<a name="l00595"></a>00595 <span class="keywordtype">int</span> channel=0;
+<a name="l00596"></a>00596 <span class="keywordflow">try</span> {
+<a name="l00597"></a>00597 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::iterator_traits&lt;It&gt;::value_type pixel_t;
+<a name="l00598"></a>00598 <span class="keywordflow">while</span> (channel &lt; num_channels&lt;pixel_t&gt;::value) {
+<a name="l00599"></a>00599 default_construct_range(dynamic_at_c(first,channel), dynamic_at_c(last,channel));
+<a name="l00600"></a>00600 ++channel;
+<a name="l00601"></a>00601 }
+<a name="l00602"></a>00602 } <span class="keywordflow">catch</span> (...) {
+<a name="l00603"></a>00603 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> c=0; c&lt;channel; ++c)
+<a name="l00604"></a>00604 destruct_range(dynamic_at_c(first,c), dynamic_at_c(last,c));
+<a name="l00605"></a>00605 <span class="keywordflow">throw</span>;
+<a name="l00606"></a>00606 }
+<a name="l00607"></a>00607 }
+<a name="l00608"></a>00608
+<a name="l00610"></a>00610 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It&gt;
+<a name="l00611"></a>00611 GIL_FORCEINLINE
+<a name="l00612"></a>00612 <span class="keywordtype">void</span> default_construct_aux(It first, It last, mpl::false_) {
+<a name="l00613"></a>00613 default_construct_range(first,last);
+<a name="l00614"></a>00614 }
+<a name="l00615"></a>00615
+<a name="l00616"></a>00616 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View, <span class="keywordtype">bool</span> IsPlanar&gt;
+<a name="l00617"></a>00617 <span class="keyword">struct </span>has_trivial_pixel_constructor : <span class="keyword">public</span> boost::has_trivial_constructor&lt;typename View::value_type&gt; {};
+<a name="l00618"></a>00618 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View&gt;
+<a name="l00619"></a>00619 <span class="keyword">struct </span>has_trivial_pixel_constructor&lt;View, true&gt; : <span class="keyword">public</span> boost::has_trivial_constructor&lt;typename channel_type&lt;View&gt;::type&gt; {};
 <a name="l00620"></a>00620
-<a name="l00625"></a>00625 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View&gt;
-<a name="l00626"></a><a class="code" href="g_i_l_0141.html#ga0">00626</a> <span class="keywordtype">void</span> <a class="code" href="g_i_l_0141.html#ga0">default_construct_pixels</a>(<span class="keyword">const</span> View&amp; img_view) {
-<a name="l00627"></a>00627 <span class="keywordflow">if</span> (detail::has_trivial_pixel_constructor&lt;View, is_planar&lt;View&gt;::value&gt;::value)
-<a name="l00628"></a>00628 <span class="keywordflow">return</span>;
-<a name="l00629"></a>00629
-<a name="l00630"></a>00630 <span class="keywordflow">if</span> (img_view.is_1d_traversable())
-<a name="l00631"></a>00631 detail::default_construct_aux(img_view.begin().x(), img_view.end().x(), is_planar&lt;View&gt;());
-<a name="l00632"></a>00632 <span class="keywordflow">else</span> {
-<a name="l00633"></a>00633 <span class="keyword">typename</span> View::y_coord_t y;
-<a name="l00634"></a>00634 <span class="keywordflow">try</span> {
-<a name="l00635"></a>00635 <span class="keywordflow">for</span> (y=0; y&lt;img_view.height(); ++y)
-<a name="l00636"></a>00636 detail::default_construct_aux(img_view.row_begin(y),img_view.row_end(y), is_planar&lt;View&gt;());
-<a name="l00637"></a>00637 } <span class="keywordflow">catch</span>(...) {
-<a name="l00638"></a>00638 <span class="keywordflow">for</span> (<span class="keyword">typename</span> View::y_coord_t y0=0; y0&lt;y; ++y0)
-<a name="l00639"></a>00639 detail::destruct_aux(img_view.row_begin(y0),img_view.row_end(y0), is_planar&lt;View&gt;());
-<a name="l00640"></a>00640 <span class="keywordflow">throw</span>;
-<a name="l00641"></a>00641 }
-<a name="l00642"></a>00642 }
-<a name="l00643"></a>00643 }
-<a name="l00644"></a>00644
-<a name="l00645"></a>00645
-<a name="l00651"></a>00651
-<a name="l00655"></a>00655
-<a name="l00656"></a>00656 <span class="keyword">namespace </span>detail {
+<a name="l00621"></a>00621 } <span class="comment">// namespace detail</span>
+<a name="l00622"></a>00622
+<a name="l00627"></a>00627 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View&gt;
+<a name="l00628"></a><a class="code" href="g_i_l_0146.html#g523e1cfd5c8023f14055cb52489431c8">00628</a> <span class="keywordtype">void</span> <a class="code" href="g_i_l_0146.html#g523e1cfd5c8023f14055cb52489431c8" title="Invokes the in-place default constructor on every pixel of the (uninitialized) view...">default_construct_pixels</a>(<span class="keyword">const</span> View&amp; img_view) {
+<a name="l00629"></a>00629 <span class="keywordflow">if</span> (detail::has_trivial_pixel_constructor&lt;View, is_planar&lt;View&gt;::value&gt;::value)
+<a name="l00630"></a>00630 <span class="keywordflow">return</span>;
+<a name="l00631"></a>00631
+<a name="l00632"></a>00632 <span class="keywordflow">if</span> (img_view.is_1d_traversable())
+<a name="l00633"></a>00633 detail::default_construct_aux(img_view.begin().x(), img_view.end().x(), is_planar&lt;View&gt;());
+<a name="l00634"></a>00634 <span class="keywordflow">else</span> {
+<a name="l00635"></a>00635 <span class="keyword">typename</span> View::y_coord_t y;
+<a name="l00636"></a>00636 <span class="keywordflow">try</span> {
+<a name="l00637"></a>00637 <span class="keywordflow">for</span> (y=0; y&lt;img_view.height(); ++y)
+<a name="l00638"></a>00638 detail::default_construct_aux(img_view.row_begin(y),img_view.row_end(y), is_planar&lt;View&gt;());
+<a name="l00639"></a>00639 } <span class="keywordflow">catch</span>(...) {
+<a name="l00640"></a>00640 <span class="keywordflow">for</span> (<span class="keyword">typename</span> View::y_coord_t y0=0; y0&lt;y; ++y0)
+<a name="l00641"></a>00641 detail::destruct_aux(img_view.row_begin(y0),img_view.row_end(y0), is_planar&lt;View&gt;());
+<a name="l00642"></a>00642 <span class="keywordflow">throw</span>;
+<a name="l00643"></a>00643 }
+<a name="l00644"></a>00644 }
+<a name="l00645"></a>00645 }
+<a name="l00646"></a>00646
+<a name="l00647"></a>00647
+<a name="l00653"></a>00653
 <a name="l00657"></a>00657
-<a name="l00659"></a>00659 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It1, <span class="keyword">typename</span> It2&gt;
-<a name="l00660"></a>00660 GIL_FORCEINLINE
-<a name="l00661"></a>00661 <span class="keywordtype">void</span> uninitialized_copy_aux(It1 first1, It1 last1,
-<a name="l00662"></a>00662 It2 first2, mpl::true_) {
-<a name="l00663"></a>00663 <span class="keywordtype">int</span> channel=0;
-<a name="l00664"></a>00664 <span class="keywordflow">try</span> {
-<a name="l00665"></a>00665 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::iterator_traits&lt;It1&gt;::value_type pixel_t;
-<a name="l00666"></a>00666 <span class="keywordflow">while</span> (channel &lt; num_channels&lt;pixel_t&gt;::value) {
-<a name="l00667"></a>00667 std::uninitialized_copy(dynamic_at_c(first1,channel), dynamic_at_c(last1,channel), dynamic_at_c(first2,channel));
-<a name="l00668"></a>00668 ++channel;
-<a name="l00669"></a>00669 }
-<a name="l00670"></a>00670 } <span class="keywordflow">catch</span> (...) {
-<a name="l00671"></a>00671 It2 last2=first2;
-<a name="l00672"></a>00672 std::advance(last2, std::distance(first1,last1));
-<a name="l00673"></a>00673 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> c=0; c&lt;channel; ++c)
-<a name="l00674"></a>00674 destruct_range(dynamic_at_c(first2,c), dynamic_at_c(last2,c));
-<a name="l00675"></a>00675 <span class="keywordflow">throw</span>;
-<a name="l00676"></a>00676 }
-<a name="l00677"></a>00677 }
-<a name="l00679"></a>00679 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It1, <span class="keyword">typename</span> It2&gt;
-<a name="l00680"></a>00680 GIL_FORCEINLINE
-<a name="l00681"></a>00681 <span class="keywordtype">void</span> uninitialized_copy_aux(It1 first1, It1 last1,
-<a name="l00682"></a>00682 It2 first2,mpl::false_) {
-<a name="l00683"></a>00683 std::uninitialized_copy(first1,last1,first2);
-<a name="l00684"></a>00684 }
-<a name="l00685"></a>00685 } <span class="comment">// namespace detail</span>
-<a name="l00686"></a>00686
-<a name="l00691"></a>00691 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1, <span class="keyword">typename</span> View2&gt;
-<a name="l00692"></a><a class="code" href="g_i_l_0150.html#ga0">00692</a> <span class="keywordtype">void</span> <a class="code" href="g_i_l_0150.html#ga0">uninitialized_copy_pixels</a>(<span class="keyword">const</span> View1&amp; view1, <span class="keyword">const</span> View2&amp; view2) {
-<a name="l00693"></a>00693 <span class="keyword">typedef</span> mpl::bool_&lt;is_planar&lt;View1&gt;::value &amp;&amp; is_planar&lt;View2&gt;::value&gt; is_planar;
-<a name="l00694"></a>00694 assert(view1.dimensions()==view2.dimensions());
-<a name="l00695"></a>00695 <span class="keywordflow">if</span> (view1.is_1d_traversable() &amp;&amp; view2.is_1d_traversable())
-<a name="l00696"></a>00696 detail::uninitialized_copy_aux(view1.begin().x(), view1.end().x(),
-<a name="l00697"></a>00697 view2.begin().x(),
-<a name="l00698"></a>00698 is_planar());
-<a name="l00699"></a>00699 <span class="keywordflow">else</span> {
-<a name="l00700"></a>00700 <span class="keyword">typename</span> View1::y_coord_t y;
-<a name="l00701"></a>00701 <span class="keywordflow">try</span> {
-<a name="l00702"></a>00702 <span class="keywordflow">for</span> (y=0; y&lt;view1.height(); ++y)
-<a name="l00703"></a>00703 detail::uninitialized_copy_aux(view1.row_begin(y), view1.row_end(y),
-<a name="l00704"></a>00704 view2.row_begin(y),
-<a name="l00705"></a>00705 is_planar());
-<a name="l00706"></a>00706 } <span class="keywordflow">catch</span>(...) {
-<a name="l00707"></a>00707 <span class="keywordflow">for</span> (<span class="keyword">typename</span> View1::y_coord_t y0=0; y0&lt;y; ++y0)
-<a name="l00708"></a>00708 detail::destruct_aux(view2.row_begin(y0),view2.row_end(y0), is_planar());
-<a name="l00709"></a>00709 <span class="keywordflow">throw</span>;
-<a name="l00710"></a>00710 }
-<a name="l00711"></a>00711 }
-<a name="l00712"></a>00712 }
-<a name="l00713"></a>00713
-<a name="l00719"></a>00719
-<a name="l00728"></a>00728
-<a name="l00730"></a>00730 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V, <span class="keyword">typename</span> F&gt;
-<a name="l00731"></a>00731 F for_each_pixel(<span class="keyword">const</span> V&amp; img, F fun) {
-<a name="l00732"></a>00732 <span class="keywordflow">if</span> (img.is_1d_traversable()) {
-<a name="l00733"></a>00733 <span class="keywordflow">return</span> std::for_each(img.begin().x(), img.end().x(), fun);
-<a name="l00734"></a>00734 } <span class="keywordflow">else</span> {
-<a name="l00735"></a>00735 <span class="keywordflow">for</span> (std::ptrdiff_t y=0; y&lt;img.height(); ++y)
-<a name="l00736"></a>00736 fun = std::for_each(img.row_begin(y),img.row_end(y),fun);
-<a name="l00737"></a>00737 <span class="keywordflow">return</span> fun;
-<a name="l00738"></a>00738 }
-<a name="l00739"></a>00739 }
-<a name="l00740"></a>00740
-<a name="l00744"></a>00744
-<a name="l00746"></a>00746 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View, <span class="keyword">typename</span> F&gt;
-<a name="l00747"></a>00747 F for_each_pixel_position(<span class="keyword">const</span> View&amp; img, F fun) {
-<a name="l00748"></a>00748 <span class="keyword">typename</span> View::xy_locator loc=img.xy_at(0,0);
-<a name="l00749"></a>00749 <span class="keywordflow">for</span> (std::ptrdiff_t y=0; y&lt;img.height(); ++y) {
-<a name="l00750"></a>00750 <span class="keywordflow">for</span> (std::ptrdiff_t x=0; x&lt;img.width(); ++x, ++loc.x())
-<a name="l00751"></a>00751 fun(loc);
-<a name="l00752"></a>00752 loc.x()-=img.width(); ++loc.y();
-<a name="l00753"></a>00753 }
-<a name="l00754"></a>00754 <span class="keywordflow">return</span> fun;
-<a name="l00755"></a>00755 }
-<a name="l00756"></a>00756
-<a name="l00757"></a>00757
-<a name="l00763"></a>00763
-<a name="l00767"></a>00767
-<a name="l00770"></a>00770 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View, <span class="keyword">typename</span> F&gt;
-<a name="l00771"></a><a class="code" href="g_i_l_0147.html#ga0">00771</a> <span class="keywordtype">void</span> <a class="code" href="g_i_l_0147.html#ga0">generate_pixels</a>(<span class="keyword">const</span> View&amp; v, F fun) {
-<a name="l00772"></a>00772 <span class="keywordflow">if</span> (v.is_1d_traversable()) {
-<a name="l00773"></a>00773 std::generate(v.begin().x(), v.end().x(), fun);
-<a name="l00774"></a>00774 } <span class="keywordflow">else</span> {
-<a name="l00775"></a>00775 <span class="keywordflow">for</span> (std::ptrdiff_t y=0; y&lt;v.height(); ++y)
-<a name="l00776"></a>00776 std::generate(v.row_begin(y),v.row_end(y),fun);
-<a name="l00777"></a>00777 }
-<a name="l00778"></a>00778 }
-<a name="l00779"></a>00779
-<a name="l00785"></a>00785
-<a name="l00789"></a>00789
-<a name="l00790"></a>00790 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> I1, <span class="keyword">typename</span> I2&gt; GIL_FORCEINLINE <span class="keywordtype">bool</span> equal_n(I1 i1, std::ptrdiff_t n, I2 i2);
+<a name="l00658"></a>00658 <span class="keyword">namespace </span>detail {
+<a name="l00659"></a>00659
+<a name="l00661"></a>00661 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It1, <span class="keyword">typename</span> It2&gt;
+<a name="l00662"></a>00662 GIL_FORCEINLINE
+<a name="l00663"></a>00663 <span class="keywordtype">void</span> uninitialized_copy_aux(It1 first1, It1 last1,
+<a name="l00664"></a>00664 It2 first2, mpl::true_) {
+<a name="l00665"></a>00665 <span class="keywordtype">int</span> channel=0;
+<a name="l00666"></a>00666 <span class="keywordflow">try</span> {
+<a name="l00667"></a>00667 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::iterator_traits&lt;It1&gt;::value_type pixel_t;
+<a name="l00668"></a>00668 <span class="keywordflow">while</span> (channel &lt; num_channels&lt;pixel_t&gt;::value) {
+<a name="l00669"></a>00669 std::uninitialized_copy(dynamic_at_c(first1,channel), dynamic_at_c(last1,channel), dynamic_at_c(first2,channel));
+<a name="l00670"></a>00670 ++channel;
+<a name="l00671"></a>00671 }
+<a name="l00672"></a>00672 } <span class="keywordflow">catch</span> (...) {
+<a name="l00673"></a>00673 It2 last2=first2;
+<a name="l00674"></a>00674 std::advance(last2, std::distance(first1,last1));
+<a name="l00675"></a>00675 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> c=0; c&lt;channel; ++c)
+<a name="l00676"></a>00676 destruct_range(dynamic_at_c(first2,c), dynamic_at_c(last2,c));
+<a name="l00677"></a>00677 <span class="keywordflow">throw</span>;
+<a name="l00678"></a>00678 }
+<a name="l00679"></a>00679 }
+<a name="l00681"></a>00681 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> It1, <span class="keyword">typename</span> It2&gt;
+<a name="l00682"></a>00682 GIL_FORCEINLINE
+<a name="l00683"></a>00683 <span class="keywordtype">void</span> uninitialized_copy_aux(It1 first1, It1 last1,
+<a name="l00684"></a>00684 It2 first2,mpl::false_) {
+<a name="l00685"></a>00685 std::uninitialized_copy(first1,last1,first2);
+<a name="l00686"></a>00686 }
+<a name="l00687"></a>00687 } <span class="comment">// namespace detail</span>
+<a name="l00688"></a>00688
+<a name="l00693"></a>00693 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1, <span class="keyword">typename</span> View2&gt;
+<a name="l00694"></a><a class="code" href="g_i_l_0155.html#ge33d703beb3b085809b3b3ca64cc8906">00694</a> <span class="keywordtype">void</span> <a class="code" href="g_i_l_0155.html#ge33d703beb3b085809b3b3ca64cc8906" title="std::uninitialized_copy for image views. Does not support planar heterogeneous views...">uninitialized_copy_pixels</a>(<span class="keyword">const</span> View1&amp; view1, <span class="keyword">const</span> View2&amp; view2) {
+<a name="l00695"></a>00695 <span class="keyword">typedef</span> mpl::bool_&lt;is_planar&lt;View1&gt;::value &amp;&amp; is_planar&lt;View2&gt;::value&gt; is_planar;
+<a name="l00696"></a>00696 assert(view1.dimensions()==view2.dimensions());
+<a name="l00697"></a>00697 <span class="keywordflow">if</span> (view1.is_1d_traversable() &amp;&amp; view2.is_1d_traversable())
+<a name="l00698"></a>00698 detail::uninitialized_copy_aux(view1.begin().x(), view1.end().x(),
+<a name="l00699"></a>00699 view2.begin().x(),
+<a name="l00700"></a>00700 is_planar());
+<a name="l00701"></a>00701 <span class="keywordflow">else</span> {
+<a name="l00702"></a>00702 <span class="keyword">typename</span> View1::y_coord_t y;
+<a name="l00703"></a>00703 <span class="keywordflow">try</span> {
+<a name="l00704"></a>00704 <span class="keywordflow">for</span> (y=0; y&lt;view1.height(); ++y)
+<a name="l00705"></a>00705 detail::uninitialized_copy_aux(view1.row_begin(y), view1.row_end(y),
+<a name="l00706"></a>00706 view2.row_begin(y),
+<a name="l00707"></a>00707 is_planar());
+<a name="l00708"></a>00708 } <span class="keywordflow">catch</span>(...) {
+<a name="l00709"></a>00709 <span class="keywordflow">for</span> (<span class="keyword">typename</span> View1::y_coord_t y0=0; y0&lt;y; ++y0)
+<a name="l00710"></a>00710 detail::destruct_aux(view2.row_begin(y0),view2.row_end(y0), is_planar());
+<a name="l00711"></a>00711 <span class="keywordflow">throw</span>;
+<a name="l00712"></a>00712 }
+<a name="l00713"></a>00713 }
+<a name="l00714"></a>00714 }
+<a name="l00715"></a>00715
+<a name="l00721"></a>00721
+<a name="l00730"></a>00730
+<a name="l00732"></a>00732 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> V, <span class="keyword">typename</span> F&gt;
+<a name="l00733"></a>00733 F for_each_pixel(<span class="keyword">const</span> V&amp; img, F fun) {
+<a name="l00734"></a>00734 <span class="keywordflow">if</span> (img.is_1d_traversable()) {
+<a name="l00735"></a>00735 <span class="keywordflow">return</span> std::for_each(img.begin().x(), img.end().x(), fun);
+<a name="l00736"></a>00736 } <span class="keywordflow">else</span> {
+<a name="l00737"></a>00737 <span class="keywordflow">for</span> (std::ptrdiff_t y=0; y&lt;img.height(); ++y)
+<a name="l00738"></a>00738 fun = std::for_each(img.row_begin(y),img.row_end(y),fun);
+<a name="l00739"></a>00739 <span class="keywordflow">return</span> fun;
+<a name="l00740"></a>00740 }
+<a name="l00741"></a>00741 }
+<a name="l00742"></a>00742
+<a name="l00746"></a>00746
+<a name="l00748"></a>00748 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View, <span class="keyword">typename</span> F&gt;
+<a name="l00749"></a>00749 F for_each_pixel_position(<span class="keyword">const</span> View&amp; img, F fun) {
+<a name="l00750"></a>00750 <span class="keyword">typename</span> View::xy_locator loc=img.xy_at(0,0);
+<a name="l00751"></a>00751 <span class="keywordflow">for</span> (std::ptrdiff_t y=0; y&lt;img.height(); ++y) {
+<a name="l00752"></a>00752 <span class="keywordflow">for</span> (std::ptrdiff_t x=0; x&lt;img.width(); ++x, ++loc.x())
+<a name="l00753"></a>00753 fun(loc);
+<a name="l00754"></a>00754 loc.x()-=img.width(); ++loc.y();
+<a name="l00755"></a>00755 }
+<a name="l00756"></a>00756 <span class="keywordflow">return</span> fun;
+<a name="l00757"></a>00757 }
+<a name="l00758"></a>00758
+<a name="l00759"></a>00759
+<a name="l00765"></a>00765
+<a name="l00769"></a>00769
+<a name="l00772"></a>00772 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View, <span class="keyword">typename</span> F&gt;
+<a name="l00773"></a><a class="code" href="g_i_l_0152.html#gdce3525a9aa4794ba807cfb8c0100d2f">00773</a> <span class="keywordtype">void</span> <a class="code" href="g_i_l_0152.html#gdce3525a9aa4794ba807cfb8c0100d2f" title="std::generate for image views">generate_pixels</a>(<span class="keyword">const</span> View&amp; v, F fun) {
+<a name="l00774"></a>00774 <span class="keywordflow">if</span> (v.is_1d_traversable()) {
+<a name="l00775"></a>00775 std::generate(v.begin().x(), v.end().x(), fun);
+<a name="l00776"></a>00776 } <span class="keywordflow">else</span> {
+<a name="l00777"></a>00777 <span class="keywordflow">for</span> (std::ptrdiff_t y=0; y&lt;v.height(); ++y)
+<a name="l00778"></a>00778 std::generate(v.row_begin(y),v.row_end(y),fun);
+<a name="l00779"></a>00779 }
+<a name="l00780"></a>00780 }
+<a name="l00781"></a>00781
+<a name="l00787"></a>00787
 <a name="l00791"></a>00791
-<a name="l00792"></a>00792 <span class="keyword">namespace </span>detail {
+<a name="l00792"></a>00792 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> I1, <span class="keyword">typename</span> I2&gt; GIL_FORCEINLINE <span class="keywordtype">bool</span> equal_n(I1 i1, std::ptrdiff_t n, I2 i2);
 <a name="l00793"></a>00793
-<a name="l00794"></a>00794 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> I1, <span class="keyword">typename</span> I2&gt;
-<a name="l00795"></a>00795 <span class="keyword">struct </span>equal_n_fn {
-<a name="l00796"></a>00796 GIL_FORCEINLINE <span class="keywordtype">bool</span> operator()(I1 i1, std::ptrdiff_t n, I2 i2)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="g_i_l_0209.html#ga5">std::equal</a>(i1,i1+n, i2); }
-<a name="l00797"></a>00797 };
-<a name="l00798"></a>00798
-<a name="l00801"></a>00801 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Cs&gt;
-<a name="l00802"></a><a class="code" href="g_i_l_0489.html">00802</a> <span class="keyword">struct </span>equal_n_fn&lt;const pixel&lt;T,Cs&gt;*, <span class="keyword">const</span> <a class="code" href="g_i_l_0593.html">pixel&lt;T,Cs&gt;</a>*&gt; {
-<a name="l00803"></a>00803 GIL_FORCEINLINE <span class="keywordtype">bool</span> operator()(<span class="keyword">const</span> <a class="code" href="g_i_l_0593.html">pixel&lt;T,Cs&gt;</a>* i1, std::ptrdiff_t n, <span class="keyword">const</span> <a class="code" href="g_i_l_0593.html">pixel&lt;T,Cs&gt;</a>* i2)<span class="keyword"> const </span>{
-<a name="l00804"></a>00804 <span class="keywordflow">return</span> memcmp(i1, i2, n*<span class="keyword">sizeof</span>(<a class="code" href="g_i_l_0593.html">pixel&lt;T,Cs&gt;</a>))==0;
-<a name="l00805"></a>00805 }
-<a name="l00806"></a>00806 };
-<a name="l00807"></a>00807 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Cs&gt;
-<a name="l00808"></a>00808 <span class="keyword">struct </span>equal_n_fn&lt;pixel&lt;T,Cs&gt;*, <a class="code" href="g_i_l_0593.html">pixel&lt;T,Cs&gt;</a>*&gt; : equal_n_fn&lt;const pixel&lt;T,Cs&gt;*, <span class="keyword">const</span> <a class="code" href="g_i_l_0593.html">pixel&lt;T,Cs&gt;</a>*&gt; {};
-<a name="l00809"></a>00809
-<a name="l00813"></a>00813 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> IC, <span class="keyword">typename</span> Cs&gt;
-<a name="l00814"></a><a class="code" href="g_i_l_0491.html">00814</a> <span class="keyword">struct </span>equal_n_fn&lt;planar_pixel_iterator&lt;IC,Cs&gt;, planar_pixel_iterator&lt;IC,Cs&gt; &gt; {
-<a name="l00815"></a>00815 GIL_FORCEINLINE <span class="keywordtype">bool</span> operator()(<span class="keyword">const</span> <a class="code" href="g_i_l_0603.html">planar_pixel_iterator&lt;IC,Cs&gt;</a> i1, std::ptrdiff_t n, <span class="keyword">const</span> <a class="code" href="g_i_l_0603.html">planar_pixel_iterator&lt;IC,Cs&gt;</a> i2)<span class="keyword"> const </span>{
-<a name="l00816"></a>00816 ptrdiff_t numBytes=n*<span class="keyword">sizeof</span>(<span class="keyword">typename</span> std::iterator_traits&lt;IC&gt;::value_type);
-<a name="l00817"></a>00817
-<a name="l00818"></a>00818 <span class="keywordflow">for</span> (std::ptrdiff_t i=0; i&lt;mpl::size&lt;Cs&gt;::value; ++i)
-<a name="l00819"></a>00819 <span class="keywordflow">if</span> (memcmp(dynamic_at_c(i1,i), dynamic_at_c(i2,i), numBytes)!=0)
-<a name="l00820"></a>00820 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00821"></a>00821 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00822"></a>00822 }
-<a name="l00823"></a>00823 };
-<a name="l00824"></a>00824
-<a name="l00825"></a>00825
-<a name="l00827"></a>00827 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Loc, <span class="keyword">typename</span> I2&gt; <span class="comment">// IL Models ConstPixelLocatorConcept, O Models PixelIteratorConcept</span>
-<a name="l00828"></a><a class="code" href="g_i_l_0487.html">00828</a> <span class="keyword">struct </span>equal_n_fn&lt;boost::gil::iterator_from_2d&lt;Loc&gt;,I2&gt; {
-<a name="l00829"></a>00829 GIL_FORCEINLINE <span class="keywordtype">bool</span> operator()(<a class="code" href="g_i_l_0042.html">boost::gil::iterator_from_2d&lt;Loc&gt;</a> i1, std::ptrdiff_t n, I2 i2)<span class="keyword"> const </span>{
-<a name="l00830"></a>00830 gil_function_requires&lt;boost::gil::PixelLocatorConcept&lt;Loc&gt; &gt;();
-<a name="l00831"></a>00831 gil_function_requires&lt;boost::gil::PixelIteratorConcept&lt;I2&gt; &gt;();
-<a name="l00832"></a>00832 <span class="keywordflow">while</span> (n&gt;0) {
-<a name="l00833"></a>00833 std::ptrdiff_t num=std::min&lt;const std::ptrdiff_t&gt;(n, i1.<a class="code" href="g_i_l_0042.html#a0">width</a>()-i1.<a class="code" href="g_i_l_0042.html#a1">x_pos</a>());
-<a name="l00834"></a>00834 <span class="keywordflow">if</span> (!equal_n(i1.<a class="code" href="g_i_l_0042.html#a5">x</a>(), num, i2))
-<a name="l00835"></a>00835 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00836"></a>00836 i1+=num;
-<a name="l00837"></a>00837 i2+=num;
-<a name="l00838"></a>00838 n-=num;
-<a name="l00839"></a>00839 }
-<a name="l00840"></a>00840 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00841"></a>00841 }
-<a name="l00842"></a>00842 };
-<a name="l00843"></a>00843
-<a name="l00845"></a>00845 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> I1, <span class="keyword">typename</span> Loc&gt; <span class="comment">// I Models PixelIteratorConcept, OL Models PixelLocatorConcept</span>
-<a name="l00846"></a><a class="code" href="g_i_l_0483.html">00846</a> <span class="keyword">struct </span>equal_n_fn&lt;I1,boost::gil::iterator_from_2d&lt;Loc&gt; &gt; {
-<a name="l00847"></a>00847 GIL_FORCEINLINE <span class="keywordtype">bool</span> operator()(I1 i1, std::ptrdiff_t n, <a class="code" href="g_i_l_0042.html">boost::gil::iterator_from_2d&lt;Loc&gt;</a> i2)<span class="keyword"> const </span>{
-<a name="l00848"></a>00848 gil_function_requires&lt;boost::gil::PixelIteratorConcept&lt;I1&gt; &gt;();
-<a name="l00849"></a>00849 gil_function_requires&lt;boost::gil::PixelLocatorConcept&lt;Loc&gt; &gt;();
-<a name="l00850"></a>00850 <span class="keywordflow">while</span> (n&gt;0) {
-<a name="l00851"></a>00851 std::ptrdiff_t num=std::min&lt;const std::ptrdiff_t&gt;(n,i2.<a class="code" href="g_i_l_0042.html#a0">width</a>()-i2.<a class="code" href="g_i_l_0042.html#a1">x_pos</a>());
-<a name="l00852"></a>00852 <span class="keywordflow">if</span> (!equal_n(i1, num, i2.<a class="code" href="g_i_l_0042.html#a5">x</a>()))
-<a name="l00853"></a>00853 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00854"></a>00854 i1+=num;
-<a name="l00855"></a>00855 i2+=num;
-<a name="l00856"></a>00856 n-=num;
-<a name="l00857"></a>00857 }
-<a name="l00858"></a>00858 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00859"></a>00859 }
-<a name="l00860"></a>00860 };
-<a name="l00861"></a>00861
-<a name="l00863"></a>00863 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Loc1, <span class="keyword">typename</span> Loc2&gt;
-<a name="l00864"></a><a class="code" href="g_i_l_0485.html">00864</a> <span class="keyword">struct </span>equal_n_fn&lt;boost::gil::iterator_from_2d&lt;Loc1&gt;,boost::gil::iterator_from_2d&lt;Loc2&gt; &gt; {
-<a name="l00865"></a>00865 GIL_FORCEINLINE <span class="keywordtype">bool</span> operator()(<a class="code" href="g_i_l_0042.html">boost::gil::iterator_from_2d&lt;Loc1&gt;</a> i1, std::ptrdiff_t n, <a class="code" href="g_i_l_0042.html">boost::gil::iterator_from_2d&lt;Loc2&gt;</a> i2)<span class="keyword"> const </span>{
-<a name="l00866"></a>00866 gil_function_requires&lt;boost::gil::PixelLocatorConcept&lt;Loc1&gt; &gt;();
-<a name="l00867"></a>00867 gil_function_requires&lt;boost::gil::PixelLocatorConcept&lt;Loc2&gt; &gt;();
-<a name="l00868"></a>00868 <span class="keywordflow">if</span> (i1.<a class="code" href="g_i_l_0042.html#a1">x_pos</a>()!=i2.<a class="code" href="g_i_l_0042.html#a1">x_pos</a>() || i1.<a class="code" href="g_i_l_0042.html#a0">width</a>()!=i2.<a class="code" href="g_i_l_0042.html#a0">width</a>()) {
-<a name="l00869"></a>00869 <span class="keywordflow">while</span>(n--&gt;0) {
-<a name="l00870"></a>00870 <span class="keywordflow">if</span> (*i1++!=*i2++) <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00871"></a>00871 }
-<a name="l00872"></a>00872 }
-<a name="l00873"></a>00873 <span class="keywordflow">while</span> (n&gt;0) {
-<a name="l00874"></a>00874 std::ptrdiff_t num=std::min&lt;const std::ptrdiff_t&gt;(n,i2.<a class="code" href="g_i_l_0042.html#a0">width</a>()-i2.<a class="code" href="g_i_l_0042.html#a1">x_pos</a>());
-<a name="l00875"></a>00875 <span class="keywordflow">if</span> (!equal_n(i1.<a class="code" href="g_i_l_0042.html#a5">x</a>(), num, i2.<a class="code" href="g_i_l_0042.html#a5">x</a>()))
-<a name="l00876"></a>00876 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00877"></a>00877 i1+=num;
-<a name="l00878"></a>00878 i2+=num;
-<a name="l00879"></a>00879 n-=num;
-<a name="l00880"></a>00880 }
-<a name="l00881"></a>00881 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00882"></a>00882 }
-<a name="l00883"></a>00883 };
-<a name="l00884"></a>00884 } <span class="comment">// namespace detail</span>
-<a name="l00885"></a>00885
-<a name="l00886"></a>00886 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> I1, <span class="keyword">typename</span> I2&gt; GIL_FORCEINLINE
-<a name="l00887"></a>00887 <span class="keywordtype">bool</span> equal_n(I1 i1, std::ptrdiff_t n, I2 i2) {
-<a name="l00888"></a>00888 <span class="keywordflow">return</span> detail::equal_n_fn&lt;I1,I2&gt;()(i1,n,i2);
-<a name="l00889"></a>00889 }
-<a name="l00890"></a>00890 } } <span class="comment">// namespace boost::gil</span>
-<a name="l00891"></a>00891
-<a name="l00892"></a>00892 <span class="keyword">namespace </span>std {
-<a name="l00904"></a>00904 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Loc1, <span class="keyword">typename</span> Loc2&gt; GIL_FORCEINLINE
-<a name="l00905"></a><a class="code" href="g_i_l_0209.html#ga5">00905</a> <span class="keywordtype">bool</span> <a class="code" href="g_i_l_0209.html#ga5">equal</a>(<a class="code" href="g_i_l_0042.html">boost::gil::iterator_from_2d&lt;Loc1&gt;</a> first, <a class="code" href="g_i_l_0042.html">boost::gil::iterator_from_2d&lt;Loc1&gt;</a> last, <a class="code" href="g_i_l_0042.html">boost::gil::iterator_from_2d&lt;Loc2&gt;</a> first2) {
-<a name="l00906"></a>00906 boost::gil::gil_function_requires&lt;boost::gil::PixelLocatorConcept&lt;Loc1&gt; &gt;();
-<a name="l00907"></a>00907 boost::gil::gil_function_requires&lt;boost::gil::PixelLocatorConcept&lt;Loc2&gt; &gt;();
-<a name="l00908"></a>00908 std::ptrdiff_t n=last-first;
-<a name="l00909"></a>00909 <span class="keywordflow">if</span> (first.is_1d_traversable()) {
-<a name="l00910"></a>00910 <span class="keywordflow">if</span> (first2.<a class="code" href="g_i_l_0042.html#a4">is_1d_traversable</a>())
-<a name="l00911"></a>00911 <span class="keywordflow">return</span> boost::gil::detail::equal_n_fn&lt;typename Loc1::x_iterator,typename Loc2::x_iterator&gt;()(first.x(),n, first2.<a class="code" href="g_i_l_0042.html#a5">x</a>());
-<a name="l00912"></a>00912 <span class="keywordflow">else</span>
-<a name="l00913"></a>00913 <span class="keywordflow">return</span> boost::gil::detail::equal_n_fn&lt;typename Loc1::x_iterator,boost::gil::iterator_from_2d&lt;Loc2&gt; &gt;()(first.x(),n, first2);
-<a name="l00914"></a>00914 } <span class="keywordflow">else</span> {
-<a name="l00915"></a>00915 <span class="keywordflow">if</span> (first2.<a class="code" href="g_i_l_0042.html#a4">is_1d_traversable</a>())
-<a name="l00916"></a>00916 <span class="keywordflow">return</span> boost::gil::detail::equal_n_fn&lt;boost::gil::iterator_from_2d&lt;Loc1&gt;,<span class="keyword">typename</span> Loc2::x_iterator&gt;()(first,n, first2.<a class="code" href="g_i_l_0042.html#a5">x</a>());
-<a name="l00917"></a>00917 <span class="keywordflow">else</span>
-<a name="l00918"></a>00918 <span class="keywordflow">return</span> boost::gil::detail::equal_n_fn&lt;boost::gil::iterator_from_2d&lt;Loc1&gt;,<a class="code" href="g_i_l_0042.html">boost::gil::iterator_from_2d&lt;Loc2&gt;</a> &gt;()(first,n,first2);
-<a name="l00919"></a>00919 }
-<a name="l00920"></a>00920 }
-<a name="l00921"></a>00921 } <span class="comment">// namespace std</span>
-<a name="l00922"></a>00922
-<a name="l00923"></a>00923 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
+<a name="l00794"></a>00794 <span class="keyword">namespace </span>detail {
+<a name="l00795"></a>00795
+<a name="l00796"></a>00796 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> I1, <span class="keyword">typename</span> I2&gt;
+<a name="l00797"></a>00797 <span class="keyword">struct </span>equal_n_fn {
+<a name="l00798"></a>00798 GIL_FORCEINLINE <span class="keywordtype">bool</span> operator()(I1 i1, std::ptrdiff_t n, I2 i2)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="g_i_l_0214.html#g4ed3cf71cb0fbf435d1389df8567a4e5" title="std::equal(I1,I1,I2) with I1 and I2 being a iterator_from_2d">std::equal</a>(i1,i1+n, i2); }
+<a name="l00799"></a>00799 };
+<a name="l00800"></a>00800
+<a name="l00803"></a>00803 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Cs&gt;
+<a name="l00804"></a><a class="code" href="g_i_l_0494.html">00804</a> <span class="keyword">struct </span>equal_n_fn&lt;const <a class="code" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a>&lt;T,Cs&gt;*, <span class="keyword">const</span> <a class="code" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel&lt;T,Cs&gt;</a>*&gt; {
+<a name="l00805"></a>00805 GIL_FORCEINLINE <span class="keywordtype">bool</span> operator()(<span class="keyword">const</span> <a class="code" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel&lt;T,Cs&gt;</a>* i1, std::ptrdiff_t n, <span class="keyword">const</span> <a class="code" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel&lt;T,Cs&gt;</a>* i2)<span class="keyword"> const </span>{
+<a name="l00806"></a>00806 <span class="keywordflow">return</span> memcmp(i1, i2, n*<span class="keyword">sizeof</span>(<a class="code" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel&lt;T,Cs&gt;</a>))==0;
+<a name="l00807"></a>00807 }
+<a name="l00808"></a>00808 };
+<a name="l00809"></a>00809 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Cs&gt;
+<a name="l00810"></a>00810 <span class="keyword">struct </span>equal_n_fn&lt;<a class="code" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a>&lt;T,Cs&gt;*, <a class="code" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel&lt;T,Cs&gt;</a>*&gt; : equal_n_fn&lt;const pixel&lt;T,Cs&gt;*, <span class="keyword">const</span> <a class="code" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel&lt;T,Cs&gt;</a>*&gt; {};
+<a name="l00811"></a>00811
+<a name="l00815"></a>00815 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> IC, <span class="keyword">typename</span> Cs&gt;
+<a name="l00816"></a><a class="code" href="g_i_l_0496.html">00816</a> <span class="keyword">struct </span>equal_n_fn&lt;<a class="code" href="g_i_l_0609.html" title="An iterator over planar pixels. Models HomogeneousColorBaseConcept, PixelIteratorConcept...">planar_pixel_iterator</a>&lt;IC,Cs&gt;, <a class="code" href="g_i_l_0609.html" title="An iterator over planar pixels. Models HomogeneousColorBaseConcept, PixelIteratorConcept...">planar_pixel_iterator</a>&lt;IC,Cs&gt; &gt; {
+<a name="l00817"></a>00817 GIL_FORCEINLINE <span class="keywordtype">bool</span> operator()(<span class="keyword">const</span> <a class="code" href="g_i_l_0609.html" title="An iterator over planar pixels. Models HomogeneousColorBaseConcept, PixelIteratorConcept...">planar_pixel_iterator&lt;IC,Cs&gt;</a> i1, std::ptrdiff_t n, <span class="keyword">const</span> <a class="code" href="g_i_l_0609.html" title="An iterator over planar pixels. Models HomogeneousColorBaseConcept, PixelIteratorConcept...">planar_pixel_iterator&lt;IC,Cs&gt;</a> i2)<span class="keyword"> const </span>{
+<a name="l00818"></a>00818 ptrdiff_t numBytes=n*<span class="keyword">sizeof</span>(<span class="keyword">typename</span> std::iterator_traits&lt;IC&gt;::value_type);
+<a name="l00819"></a>00819
+<a name="l00820"></a>00820 <span class="keywordflow">for</span> (std::ptrdiff_t i=0; i&lt;mpl::size&lt;Cs&gt;::value; ++i)
+<a name="l00821"></a>00821 <span class="keywordflow">if</span> (memcmp(dynamic_at_c(i1,i), dynamic_at_c(i2,i), numBytes)!=0)
+<a name="l00822"></a>00822 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00823"></a>00823 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00824"></a>00824 }
+<a name="l00825"></a>00825 };
+<a name="l00826"></a>00826
+<a name="l00827"></a>00827
+<a name="l00829"></a>00829 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Loc, <span class="keyword">typename</span> I2&gt; <span class="comment">// IL Models ConstPixelLocatorConcept, O Models PixelIteratorConcept</span>
+<a name="l00830"></a><a class="code" href="g_i_l_0493.html">00830</a> <span class="keyword">struct </span>equal_n_fn&lt;boost::gil::<a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">iterator_from_2d</a>&lt;Loc&gt;,I2&gt; {
+<a name="l00831"></a>00831 GIL_FORCEINLINE <span class="keywordtype">bool</span> operator()(<a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">boost::gil::iterator_from_2d&lt;Loc&gt;</a> i1, std::ptrdiff_t n, I2 i2)<span class="keyword"> const </span>{
+<a name="l00832"></a>00832 gil_function_requires&lt;boost::gil::PixelLocatorConcept&lt;Loc&gt; &gt;();
+<a name="l00833"></a>00833 gil_function_requires&lt;boost::gil::PixelIteratorConcept&lt;I2&gt; &gt;();
+<a name="l00834"></a>00834 <span class="keywordflow">while</span> (n&gt;0) {
+<a name="l00835"></a>00835 std::ptrdiff_t num=std::min&lt;const std::ptrdiff_t&gt;(n, i1.<a class="code" href="g_i_l_0042.html#379c24f2d0a75769afc06dff7b569b8f">width</a>()-i1.<a class="code" href="g_i_l_0042.html#cb3204f0b17472894a99939821d597be">x_pos</a>());
+<a name="l00836"></a>00836 <span class="keywordflow">if</span> (!equal_n(i1.<a class="code" href="g_i_l_0042.html#72169bdc650ac7eda288398e4ce1d7f8">x</a>(), num, i2))
+<a name="l00837"></a>00837 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00838"></a>00838 i1+=num;
+<a name="l00839"></a>00839 i2+=num;
+<a name="l00840"></a>00840 n-=num;
+<a name="l00841"></a>00841 }
+<a name="l00842"></a>00842 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00843"></a>00843 }
+<a name="l00844"></a>00844 };
+<a name="l00845"></a>00845
+<a name="l00847"></a>00847 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> I1, <span class="keyword">typename</span> Loc&gt; <span class="comment">// I Models PixelIteratorConcept, OL Models PixelLocatorConcept</span>
+<a name="l00848"></a><a class="code" href="g_i_l_0489.html">00848</a> <span class="keyword">struct </span>equal_n_fn&lt;I1,boost::gil::<a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">iterator_from_2d</a>&lt;Loc&gt; &gt; {
+<a name="l00849"></a>00849 GIL_FORCEINLINE <span class="keywordtype">bool</span> operator()(I1 i1, std::ptrdiff_t n, <a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">boost::gil::iterator_from_2d&lt;Loc&gt;</a> i2)<span class="keyword"> const </span>{
+<a name="l00850"></a>00850 gil_function_requires&lt;boost::gil::PixelIteratorConcept&lt;I1&gt; &gt;();
+<a name="l00851"></a>00851 gil_function_requires&lt;boost::gil::PixelLocatorConcept&lt;Loc&gt; &gt;();
+<a name="l00852"></a>00852 <span class="keywordflow">while</span> (n&gt;0) {
+<a name="l00853"></a>00853 std::ptrdiff_t num=std::min&lt;const std::ptrdiff_t&gt;(n,i2.<a class="code" href="g_i_l_0042.html#379c24f2d0a75769afc06dff7b569b8f">width</a>()-i2.<a class="code" href="g_i_l_0042.html#cb3204f0b17472894a99939821d597be">x_pos</a>());
+<a name="l00854"></a>00854 <span class="keywordflow">if</span> (!equal_n(i1, num, i2.<a class="code" href="g_i_l_0042.html#72169bdc650ac7eda288398e4ce1d7f8">x</a>()))
+<a name="l00855"></a>00855 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00856"></a>00856 i1+=num;
+<a name="l00857"></a>00857 i2+=num;
+<a name="l00858"></a>00858 n-=num;
+<a name="l00859"></a>00859 }
+<a name="l00860"></a>00860 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00861"></a>00861 }
+<a name="l00862"></a>00862 };
+<a name="l00863"></a>00863
+<a name="l00865"></a>00865 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Loc1, <span class="keyword">typename</span> Loc2&gt;
+<a name="l00866"></a><a class="code" href="g_i_l_0490.html">00866</a> <span class="keyword">struct </span>equal_n_fn&lt;boost::gil::<a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">iterator_from_2d</a>&lt;Loc1&gt;,boost::gil::<a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">iterator_from_2d</a>&lt;Loc2&gt; &gt; {
+<a name="l00867"></a>00867 GIL_FORCEINLINE <span class="keywordtype">bool</span> operator()(<a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">boost::gil::iterator_from_2d&lt;Loc1&gt;</a> i1, std::ptrdiff_t n, <a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">boost::gil::iterator_from_2d&lt;Loc2&gt;</a> i2)<span class="keyword"> const </span>{
+<a name="l00868"></a>00868 gil_function_requires&lt;boost::gil::PixelLocatorConcept&lt;Loc1&gt; &gt;();
+<a name="l00869"></a>00869 gil_function_requires&lt;boost::gil::PixelLocatorConcept&lt;Loc2&gt; &gt;();
+<a name="l00870"></a>00870 <span class="keywordflow">if</span> (i1.<a class="code" href="g_i_l_0042.html#cb3204f0b17472894a99939821d597be">x_pos</a>()!=i2.<a class="code" href="g_i_l_0042.html#cb3204f0b17472894a99939821d597be">x_pos</a>() || i1.<a class="code" href="g_i_l_0042.html#379c24f2d0a75769afc06dff7b569b8f">width</a>()!=i2.<a class="code" href="g_i_l_0042.html#379c24f2d0a75769afc06dff7b569b8f">width</a>()) {
+<a name="l00871"></a>00871 <span class="keywordflow">while</span>(n--&gt;0) {
+<a name="l00872"></a>00872 <span class="keywordflow">if</span> (*i1++!=*i2++) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00873"></a>00873 }
+<a name="l00874"></a>00874 }
+<a name="l00875"></a>00875 <span class="keywordflow">while</span> (n&gt;0) {
+<a name="l00876"></a>00876 std::ptrdiff_t num=std::min&lt;const std::ptrdiff_t&gt;(n,i2.<a class="code" href="g_i_l_0042.html#379c24f2d0a75769afc06dff7b569b8f">width</a>()-i2.<a class="code" href="g_i_l_0042.html#cb3204f0b17472894a99939821d597be">x_pos</a>());
+<a name="l00877"></a>00877 <span class="keywordflow">if</span> (!equal_n(i1.<a class="code" href="g_i_l_0042.html#72169bdc650ac7eda288398e4ce1d7f8">x</a>(), num, i2.<a class="code" href="g_i_l_0042.html#72169bdc650ac7eda288398e4ce1d7f8">x</a>()))
+<a name="l00878"></a>00878 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00879"></a>00879 i1+=num;
+<a name="l00880"></a>00880 i2+=num;
+<a name="l00881"></a>00881 n-=num;
+<a name="l00882"></a>00882 }
+<a name="l00883"></a>00883 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00884"></a>00884 }
+<a name="l00885"></a>00885 };
+<a name="l00886"></a>00886 } <span class="comment">// namespace detail</span>
+<a name="l00887"></a>00887
+<a name="l00888"></a>00888 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> I1, <span class="keyword">typename</span> I2&gt; GIL_FORCEINLINE
+<a name="l00889"></a>00889 <span class="keywordtype">bool</span> equal_n(I1 i1, std::ptrdiff_t n, I2 i2) {
+<a name="l00890"></a>00890 <span class="keywordflow">return</span> detail::equal_n_fn&lt;I1,I2&gt;()(i1,n,i2);
+<a name="l00891"></a>00891 }
+<a name="l00892"></a>00892 } } <span class="comment">// namespace boost::gil</span>
+<a name="l00893"></a>00893
+<a name="l00894"></a>00894 <span class="keyword">namespace </span>std {
+<a name="l00906"></a>00906 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Loc1, <span class="keyword">typename</span> Loc2&gt; GIL_FORCEINLINE
+<a name="l00907"></a><a class="code" href="g_i_l_0214.html#g4ed3cf71cb0fbf435d1389df8567a4e5">00907</a> <span class="keywordtype">bool</span> <a class="code" href="g_i_l_0214.html#g4ed3cf71cb0fbf435d1389df8567a4e5" title="std::equal(I1,I1,I2) with I1 and I2 being a iterator_from_2d">equal</a>(<a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">boost::gil::iterator_from_2d&lt;Loc1&gt;</a> first, <a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">boost::gil::iterator_from_2d&lt;Loc1&gt;</a> last, <a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">boost::gil::iterator_from_2d&lt;Loc2&gt;</a> first2) {
+<a name="l00908"></a>00908 boost::gil::gil_function_requires&lt;boost::gil::PixelLocatorConcept&lt;Loc1&gt; &gt;();
+<a name="l00909"></a>00909 boost::gil::gil_function_requires&lt;boost::gil::PixelLocatorConcept&lt;Loc2&gt; &gt;();
+<a name="l00910"></a>00910 std::ptrdiff_t n=last-first;
+<a name="l00911"></a>00911 <span class="keywordflow">if</span> (first.is_1d_traversable()) {
+<a name="l00912"></a>00912 <span class="keywordflow">if</span> (first2.<a class="code" href="g_i_l_0042.html#90ccf75aa2deb01fbce509842191cad2">is_1d_traversable</a>())
+<a name="l00913"></a>00913 <span class="keywordflow">return</span> boost::gil::detail::equal_n_fn&lt;typename Loc1::x_iterator,typename Loc2::x_iterator&gt;()(first.x(),n, first2.<a class="code" href="g_i_l_0042.html#72169bdc650ac7eda288398e4ce1d7f8">x</a>());
+<a name="l00914"></a>00914 <span class="keywordflow">else</span>
+<a name="l00915"></a>00915 <span class="keywordflow">return</span> boost::gil::detail::equal_n_fn&lt;typename Loc1::x_iterator,boost::gil::iterator_from_2d&lt;Loc2&gt; &gt;()(first.x(),n, first2);
+<a name="l00916"></a>00916 } <span class="keywordflow">else</span> {
+<a name="l00917"></a>00917 <span class="keywordflow">if</span> (first2.<a class="code" href="g_i_l_0042.html#90ccf75aa2deb01fbce509842191cad2">is_1d_traversable</a>())
+<a name="l00918"></a>00918 <span class="keywordflow">return</span> boost::gil::detail::equal_n_fn&lt;<a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">boost::gil::iterator_from_2d&lt;Loc1&gt;</a>,<span class="keyword">typename</span> Loc2::x_iterator&gt;()(first,n, first2.<a class="code" href="g_i_l_0042.html#72169bdc650ac7eda288398e4ce1d7f8">x</a>());
+<a name="l00919"></a>00919 <span class="keywordflow">else</span>
+<a name="l00920"></a>00920 <span class="keywordflow">return</span> boost::gil::detail::equal_n_fn&lt;boost::gil::iterator_from_2d&lt;Loc1&gt;,<a class="code" href="g_i_l_0042.html" title="Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept...">boost::gil::iterator_from_2d&lt;Loc2&gt;</a> &gt;()(first,n,first2);
+<a name="l00921"></a>00921 }
+<a name="l00922"></a>00922 }
+<a name="l00923"></a>00923 } <span class="comment">// namespace std</span>
 <a name="l00924"></a>00924
-<a name="l00927"></a>00927 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1, <span class="keyword">typename</span> View2&gt; GIL_FORCEINLINE
-<a name="l00928"></a><a class="code" href="g_i_l_0143.html#ga0">00928</a> <span class="keywordtype">bool</span> <a class="code" href="g_i_l_0143.html#ga0">equal_pixels</a>(<span class="keyword">const</span> View1&amp; v1, <span class="keyword">const</span> View2&amp; v2) {
-<a name="l00929"></a>00929 assert(v1.dimensions()==v2.dimensions());
-<a name="l00930"></a>00930 <span class="keywordflow">return</span> <a class="code" href="g_i_l_0209.html#ga5">std::equal</a>(v1.begin(),v1.end(),v2.begin()); <span class="comment">// std::equal has overloads with GIL iterators for optimal performance</span>
-<a name="l00931"></a>00931 }
-<a name="l00932"></a>00932
-<a name="l00938"></a>00938
-<a name="l00942"></a>00942
-<a name="l00945"></a>00945 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1, <span class="keyword">typename</span> View2, <span class="keyword">typename</span> F&gt; GIL_FORCEINLINE
-<a name="l00946"></a><a class="code" href="g_i_l_0149.html#ga0">00946</a> F <a class="code" href="g_i_l_0149.html#ga0">transform_pixels</a>(<span class="keyword">const</span> View1&amp; src,<span class="keyword">const</span> View2&amp; dst, F fun) {
-<a name="l00947"></a>00947 assert(src.dimensions()==dst.dimensions());
-<a name="l00948"></a>00948 <span class="keywordflow">for</span> (std::ptrdiff_t y=0; y&lt;src.height(); ++y) {
-<a name="l00949"></a>00949 <span class="keyword">typename</span> View1::x_iterator srcIt=src.row_begin(y);
-<a name="l00950"></a>00950 <span class="keyword">typename</span> View2::x_iterator dstIt=dst.row_begin(y);
-<a name="l00951"></a>00951 <span class="keywordflow">for</span> (std::ptrdiff_t x=0; x&lt;src.width(); ++x)
-<a name="l00952"></a>00952 dstIt[x]=fun(srcIt[x]);
-<a name="l00953"></a>00953 }
-<a name="l00954"></a>00954 <span class="keywordflow">return</span> fun;
-<a name="l00955"></a>00955 }
-<a name="l00956"></a>00956
-<a name="l00959"></a>00959 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1, <span class="keyword">typename</span> View2, <span class="keyword">typename</span> View3, <span class="keyword">typename</span> F&gt; GIL_FORCEINLINE
-<a name="l00960"></a><a class="code" href="g_i_l_0149.html#ga1">00960</a> F <a class="code" href="g_i_l_0149.html#ga0">transform_pixels</a>(<span class="keyword">const</span> View1&amp; src1, <span class="keyword">const</span> View2&amp; src2,<span class="keyword">const</span> View3&amp; dst, F fun) {
-<a name="l00961"></a>00961 <span class="keywordflow">for</span> (std::ptrdiff_t y=0; y&lt;dst.height(); ++y) {
-<a name="l00962"></a>00962 <span class="keyword">typename</span> View1::x_iterator srcIt1=src1.row_begin(y);
-<a name="l00963"></a>00963 <span class="keyword">typename</span> View2::x_iterator srcIt2=src2.row_begin(y);
-<a name="l00964"></a>00964 <span class="keyword">typename</span> View3::x_iterator dstIt=dst.row_begin(y);
-<a name="l00965"></a>00965 <span class="keywordflow">for</span> (std::ptrdiff_t x=0; x&lt;dst.width(); ++x)
-<a name="l00966"></a>00966 dstIt[x]=fun(srcIt1[x],srcIt2[x]);
-<a name="l00967"></a>00967 }
-<a name="l00968"></a>00968 <span class="keywordflow">return</span> fun;
-<a name="l00969"></a>00969 }
-<a name="l00970"></a>00970
-<a name="l00974"></a>00974
-<a name="l00977"></a>00977 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1, <span class="keyword">typename</span> View2, <span class="keyword">typename</span> F&gt; GIL_FORCEINLINE
-<a name="l00978"></a><a class="code" href="g_i_l_0148.html#ga0">00978</a> F <a class="code" href="g_i_l_0148.html#ga0">transform_pixel_positions</a>(<span class="keyword">const</span> View1&amp; src,<span class="keyword">const</span> View2&amp; dst, F fun) {
-<a name="l00979"></a>00979 assert(src.dimensions()==dst.dimensions());
-<a name="l00980"></a>00980 <span class="keyword">typename</span> View1::xy_locator loc=src.xy_at(0,0);
-<a name="l00981"></a>00981 <span class="keywordflow">for</span> (std::ptrdiff_t y=0; y&lt;src.height(); ++y) {
-<a name="l00982"></a>00982 <span class="keyword">typename</span> View2::x_iterator dstIt=dst.row_begin(y);
-<a name="l00983"></a>00983 <span class="keywordflow">for</span> (std::ptrdiff_t x=0; x&lt;src.width(); ++x, ++loc.x())
-<a name="l00984"></a>00984 dstIt[x]=fun(loc);
-<a name="l00985"></a>00985 loc.x()-=src.width(); ++loc.y();
-<a name="l00986"></a>00986 }
-<a name="l00987"></a>00987 <span class="keywordflow">return</span> fun;
-<a name="l00988"></a>00988 }
-<a name="l00989"></a>00989
-<a name="l00992"></a>00992 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1, <span class="keyword">typename</span> View2, <span class="keyword">typename</span> View3, <span class="keyword">typename</span> F&gt; GIL_FORCEINLINE
-<a name="l00993"></a><a class="code" href="g_i_l_0148.html#ga1">00993</a> F <a class="code" href="g_i_l_0148.html#ga0">transform_pixel_positions</a>(<span class="keyword">const</span> View1&amp; src1,<span class="keyword">const</span> View2&amp; src2,<span class="keyword">const</span> View3&amp; dst, F fun) {
-<a name="l00994"></a>00994 assert(src1.dimensions()==dst.dimensions());
-<a name="l00995"></a>00995 assert(src2.dimensions()==dst.dimensions());
-<a name="l00996"></a>00996 <span class="keyword">typename</span> View1::xy_locator loc1=src1.xy_at(0,0);
-<a name="l00997"></a>00997 <span class="keyword">typename</span> View2::xy_locator loc2=src2.xy_at(0,0);
-<a name="l00998"></a>00998 <span class="keywordflow">for</span> (std::ptrdiff_t y=0; y&lt;src1.height(); ++y) {
-<a name="l00999"></a>00999 <span class="keyword">typename</span> View3::x_iterator dstIt=dst.row_begin(y);
-<a name="l01000"></a>01000 <span class="keywordflow">for</span> (std::ptrdiff_t x=0; x&lt;src1.width(); ++x, ++loc1.x(), ++loc2.x())
-<a name="l01001"></a>01001 dstIt[x]=fun(loc1,loc2);
-<a name="l01002"></a>01002 loc1.x()-=src1.width(); ++loc1.y();
-<a name="l01003"></a>01003 loc2.x()-=src2.width(); ++loc2.y();
-<a name="l01004"></a>01004 }
-<a name="l01005"></a>01005 <span class="keywordflow">return</span> fun;
-<a name="l01006"></a>01006 }
-<a name="l01007"></a>01007
-<a name="l01008"></a>01008 } } <span class="comment">// namespace boost::gil</span>
+<a name="l00925"></a>00925 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
+<a name="l00926"></a>00926
+<a name="l00929"></a>00929 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1, <span class="keyword">typename</span> View2&gt; GIL_FORCEINLINE
+<a name="l00930"></a><a class="code" href="g_i_l_0148.html#g86a5d26dbacd64b2bc4f53b4b2971a73">00930</a> <span class="keywordtype">bool</span> <a class="code" href="g_i_l_0148.html#g86a5d26dbacd64b2bc4f53b4b2971a73" title="std::equal for image views">equal_pixels</a>(<span class="keyword">const</span> View1&amp; v1, <span class="keyword">const</span> View2&amp; v2) {
+<a name="l00931"></a>00931 assert(v1.dimensions()==v2.dimensions());
+<a name="l00932"></a>00932 <span class="keywordflow">return</span> <a class="code" href="g_i_l_0214.html#g4ed3cf71cb0fbf435d1389df8567a4e5" title="std::equal(I1,I1,I2) with I1 and I2 being a iterator_from_2d">std::equal</a>(v1.begin(),v1.end(),v2.begin()); <span class="comment">// std::equal has overloads with GIL iterators for optimal performance</span>
+<a name="l00933"></a>00933 }
+<a name="l00934"></a>00934
+<a name="l00940"></a>00940
+<a name="l00944"></a>00944
+<a name="l00947"></a>00947 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1, <span class="keyword">typename</span> View2, <span class="keyword">typename</span> F&gt; GIL_FORCEINLINE
+<a name="l00948"></a><a class="code" href="g_i_l_0154.html#g27eed3931b4835e3757642ed41db0984">00948</a> F <a class="code" href="g_i_l_0154.html#gceacc4e2452d2b3adba5902b21c5957b" title="transform_pixels with two sources">transform_pixels</a>(<span class="keyword">const</span> View1&amp; src,<span class="keyword">const</span> View2&amp; dst, F fun) {
+<a name="l00949"></a>00949 assert(src.dimensions()==dst.dimensions());
+<a name="l00950"></a>00950 <span class="keywordflow">for</span> (std::ptrdiff_t y=0; y&lt;src.height(); ++y) {
+<a name="l00951"></a>00951 <span class="keyword">typename</span> View1::x_iterator srcIt=src.row_begin(y);
+<a name="l00952"></a>00952 <span class="keyword">typename</span> View2::x_iterator dstIt=dst.row_begin(y);
+<a name="l00953"></a>00953 <span class="keywordflow">for</span> (std::ptrdiff_t x=0; x&lt;src.width(); ++x)
+<a name="l00954"></a>00954 dstIt[x]=fun(srcIt[x]);
+<a name="l00955"></a>00955 }
+<a name="l00956"></a>00956 <span class="keywordflow">return</span> fun;
+<a name="l00957"></a>00957 }
+<a name="l00958"></a>00958
+<a name="l00961"></a>00961 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1, <span class="keyword">typename</span> View2, <span class="keyword">typename</span> View3, <span class="keyword">typename</span> F&gt; GIL_FORCEINLINE
+<a name="l00962"></a><a class="code" href="g_i_l_0154.html#gceacc4e2452d2b3adba5902b21c5957b">00962</a> F <a class="code" href="g_i_l_0154.html#gceacc4e2452d2b3adba5902b21c5957b" title="transform_pixels with two sources">transform_pixels</a>(<span class="keyword">const</span> View1&amp; src1, <span class="keyword">const</span> View2&amp; src2,<span class="keyword">const</span> View3&amp; dst, F fun) {
+<a name="l00963"></a>00963 <span class="keywordflow">for</span> (std::ptrdiff_t y=0; y&lt;dst.height(); ++y) {
+<a name="l00964"></a>00964 <span class="keyword">typename</span> View1::x_iterator srcIt1=src1.row_begin(y);
+<a name="l00965"></a>00965 <span class="keyword">typename</span> View2::x_iterator srcIt2=src2.row_begin(y);
+<a name="l00966"></a>00966 <span class="keyword">typename</span> View3::x_iterator dstIt=dst.row_begin(y);
+<a name="l00967"></a>00967 <span class="keywordflow">for</span> (std::ptrdiff_t x=0; x&lt;dst.width(); ++x)
+<a name="l00968"></a>00968 dstIt[x]=fun(srcIt1[x],srcIt2[x]);
+<a name="l00969"></a>00969 }
+<a name="l00970"></a>00970 <span class="keywordflow">return</span> fun;
+<a name="l00971"></a>00971 }
+<a name="l00972"></a>00972
+<a name="l00976"></a>00976
+<a name="l00979"></a>00979 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1, <span class="keyword">typename</span> View2, <span class="keyword">typename</span> F&gt; GIL_FORCEINLINE
+<a name="l00980"></a><a class="code" href="g_i_l_0153.html#gc74f3114086b954dfd1735a918f68389">00980</a> F <a class="code" href="g_i_l_0153.html#g1edf36f5d5c954f190235d362002e964" title="transform_pixel_positions with two sources">transform_pixel_positions</a>(<span class="keyword">const</span> View1&amp; src,<span class="keyword">const</span> View2&amp; dst, F fun) {
+<a name="l00981"></a>00981 assert(src.dimensions()==dst.dimensions());
+<a name="l00982"></a>00982 <span class="keyword">typename</span> View1::xy_locator loc=src.xy_at(0,0);
+<a name="l00983"></a>00983 <span class="keywordflow">for</span> (std::ptrdiff_t y=0; y&lt;src.height(); ++y) {
+<a name="l00984"></a>00984 <span class="keyword">typename</span> View2::x_iterator dstIt=dst.row_begin(y);
+<a name="l00985"></a>00985 <span class="keywordflow">for</span> (std::ptrdiff_t x=0; x&lt;src.width(); ++x, ++loc.x())
+<a name="l00986"></a>00986 dstIt[x]=fun(loc);
+<a name="l00987"></a>00987 loc.x()-=src.width(); ++loc.y();
+<a name="l00988"></a>00988 }
+<a name="l00989"></a>00989 <span class="keywordflow">return</span> fun;
+<a name="l00990"></a>00990 }
+<a name="l00991"></a>00991
+<a name="l00994"></a>00994 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View1, <span class="keyword">typename</span> View2, <span class="keyword">typename</span> View3, <span class="keyword">typename</span> F&gt; GIL_FORCEINLINE
+<a name="l00995"></a><a class="code" href="g_i_l_0153.html#g1edf36f5d5c954f190235d362002e964">00995</a> F <a class="code" href="g_i_l_0153.html#g1edf36f5d5c954f190235d362002e964" title="transform_pixel_positions with two sources">transform_pixel_positions</a>(<span class="keyword">const</span> View1&amp; src1,<span class="keyword">const</span> View2&amp; src2,<span class="keyword">const</span> View3&amp; dst, F fun) {
+<a name="l00996"></a>00996 assert(src1.dimensions()==dst.dimensions());
+<a name="l00997"></a>00997 assert(src2.dimensions()==dst.dimensions());
+<a name="l00998"></a>00998 <span class="keyword">typename</span> View1::xy_locator loc1=src1.xy_at(0,0);
+<a name="l00999"></a>00999 <span class="keyword">typename</span> View2::xy_locator loc2=src2.xy_at(0,0);
+<a name="l01000"></a>01000 <span class="keywordflow">for</span> (std::ptrdiff_t y=0; y&lt;src1.height(); ++y) {
+<a name="l01001"></a>01001 <span class="keyword">typename</span> View3::x_iterator dstIt=dst.row_begin(y);
+<a name="l01002"></a>01002 <span class="keywordflow">for</span> (std::ptrdiff_t x=0; x&lt;src1.width(); ++x, ++loc1.x(), ++loc2.x())
+<a name="l01003"></a>01003 dstIt[x]=fun(loc1,loc2);
+<a name="l01004"></a>01004 loc1.x()-=src1.width(); ++loc1.y();
+<a name="l01005"></a>01005 loc2.x()-=src2.width(); ++loc2.y();
+<a name="l01006"></a>01006 }
+<a name="l01007"></a>01007 <span class="keywordflow">return</span> fun;
+<a name="l01008"></a>01008 }
 <a name="l01009"></a>01009
-<a name="l01010"></a>01010 <span class="preprocessor">#ifdef _MSC_VER</span>
-<a name="l01011"></a>01011 <span class="preprocessor"></span><span class="preprocessor">#pragma warning(pop)</span>
-<a name="l01012"></a>01012 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l01013"></a>01013 <span class="preprocessor"></span>
-<a name="l01014"></a>01014 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:16 2007 for Generic Image Library by&nbsp;
+<a name="l01010"></a>01010 } } <span class="comment">// namespace boost::gil</span>
+<a name="l01011"></a>01011
+<a name="l01012"></a>01012 <span class="comment">//#ifdef _MSC_VER</span>
+<a name="l01013"></a>01013 <span class="comment">//#pragma warning(pop)</span>
+<a name="l01014"></a>01014 <span class="comment">//#endif</span>
+<a name="l01015"></a>01015
+<a name="l01016"></a>01016 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:37 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0001.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0002.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0002.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0002.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : any_image.hpp Source File</TITLE>
+ <TITLE>Generic Image Library: any_image.hpp Source File</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,13 +31,13 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="dir_000000.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">gil</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000002.html">extension</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000003.html">dynamic_image</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="g_i_l_0076.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0079.html">gil</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0078.html">extension</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0075.html">dynamic_image</a>
+ </div>
+<div class="contents">
 <h1>any_image.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
 <a name="l00002"></a>00002 <span class="comment"> Copyright 2005-2007 Adobe Systems Incorporated</span>
 <a name="l00003"></a>00003 <span class="comment"> </span>
@@ -55,14 +53,14 @@
 <a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define GIL_DYNAMICIMAGE_ANY_IMAGE_HPP</span>
 <a name="l00014"></a>00014 <span class="preprocessor"></span>
 <a name="l00023"></a>00023
-<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="g_i_l_0004.html">any_image_view.hpp</a>"</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="g_i_l_0004.html" title="Support for run-time instantiated image view.">any_image_view.hpp</a>"</span>
 <a name="l00025"></a>00025 <span class="preprocessor">#include "../../image.hpp"</span>
 <a name="l00026"></a>00026
-<a name="l00027"></a>00027 <span class="preprocessor">#ifdef _MSC_VER</span>
-<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#pragma warning(push)</span>
-<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#pragma warning(disable : 4244) // conversion from 'std::ptrdiff_t' to 'int', possible loss of data. even if we static-assert the two types are the same (on visual studio 8)</span>
-<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00031"></a>00031 <span class="preprocessor"></span>
+<a name="l00027"></a>00027 <span class="comment">//#ifdef _MSC_VER</span>
+<a name="l00028"></a>00028 <span class="comment">//#pragma warning(push)</span>
+<a name="l00029"></a>00029 <span class="comment">//#pragma warning(disable : 4244) // conversion from 'std::ptrdiff_t' to 'int', possible loss of data. even if we static-assert the two types are the same (on visual studio 8)</span>
+<a name="l00030"></a>00030 <span class="comment">//#endif</span>
+<a name="l00031"></a>00031
 <a name="l00032"></a>00032 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
 <a name="l00033"></a>00033
 <a name="l00034"></a>00034 <span class="keyword">namespace </span>detail {
@@ -84,64 +82,65 @@
 <a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> AnyView&gt; <span class="comment">// Models AnyViewConcept</span>
 <a name="l00051"></a>00051 <span class="keyword">struct </span>any_image_get_view {
 <a name="l00052"></a>00052 <span class="keyword">typedef</span> AnyView result_type;
-<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Image&gt; result_type operator()( Image&amp; img)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> result_type(<a class="code" href="g_i_l_0130.html#ga0">view</a>(img)); }
+<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Image&gt; result_type operator()( Image&amp; img)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> result_type(<a class="code" href="g_i_l_0135.html#g55e45a15dddfc0d870c2f7fb9739cb2e" title="Returns the non-constant-pixel view of any image. The returned view is any view.">view</a>(img)); }
 <a name="l00054"></a>00054 };
 <a name="l00055"></a>00055
 <a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> AnyConstView&gt; <span class="comment">// Models AnyConstViewConcept</span>
 <a name="l00057"></a>00057 <span class="keyword">struct </span>any_image_get_const_view {
 <a name="l00058"></a>00058 <span class="keyword">typedef</span> AnyConstView result_type;
-<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Image&gt; result_type operator()(<span class="keyword">const</span> Image&amp; img)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> result_type(<a class="code" href="g_i_l_0130.html#ga3">const_view</a>(img)); }
+<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Image&gt; result_type operator()(<span class="keyword">const</span> Image&amp; img)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> result_type(<a class="code" href="g_i_l_0135.html#g9e185237819e788838a0d337d21ab722" title="Returns the constant-pixel view of any image. The returned view is any view.">const_view</a>(img)); }
 <a name="l00060"></a>00060 };
 <a name="l00061"></a>00061 }
 <a name="l00062"></a>00062
 <a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> ImageTypes&gt;
-<a name="l00074"></a><a class="code" href="g_i_l_0018.html">00074</a> <span class="keyword">class </span><a class="code" href="g_i_l_0018.html">any_image</a> : <span class="keyword">public</span> <a class="code" href="g_i_l_0062.html">variant</a>&lt;ImageTypes&gt; {
-<a name="l00075"></a>00075 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0062.html">variant&lt;ImageTypes&gt;</a> <a class="code" href="g_i_l_0062.html">parent_t</a>;
+<a name="l00074"></a><a class="code" href="g_i_l_0018.html">00074</a> <span class="keyword">class </span><a class="code" href="g_i_l_0018.html" title="Represents a run-time specified image. Note it does NOT model ImageConcept.">any_image</a> : <span class="keyword">public</span> <a class="code" href="g_i_l_0062.html" title="Represents a concrete instance of a run-time specified type from a set of typesA...">variant</a>&lt;ImageTypes&gt; {
+<a name="l00075"></a>00075 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0062.html" title="Represents a concrete instance of a run-time specified type from a set of typesA...">variant&lt;ImageTypes&gt;</a> <a class="code" href="g_i_l_0062.html">parent_t</a>;
 <a name="l00076"></a>00076 <span class="keyword">public</span>:
-<a name="l00077"></a>00077 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0020.html">any_image_view&lt;typename detail::images_get_const_views_t&lt;ImageTypes&gt;</a>::type&gt; <a class="code" href="g_i_l_0020.html">const_view_t</a>;
-<a name="l00078"></a>00078 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0020.html">any_image_view&lt;typename detail::images_get_views_t&lt;ImageTypes&gt;</a>::type&gt; <a class="code" href="g_i_l_0020.html">view_t</a>;
+<a name="l00077"></a>00077 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view&lt;typename detail::images_get_const_views_t&lt;ImageTypes&gt;::type</a>&gt; <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">const_view_t</a>;
+<a name="l00078"></a>00078 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view&lt;typename detail::images_get_views_t&lt;ImageTypes&gt;::type</a>&gt; <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">view_t</a>;
 <a name="l00079"></a>00079 <span class="keyword">typedef</span> std::ptrdiff_t x_coord_t;
 <a name="l00080"></a>00080 <span class="keyword">typedef</span> std::ptrdiff_t y_coord_t;
-<a name="l00081"></a>00081 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0060.html">point2&lt;std::ptrdiff_t&gt;</a> <a class="code" href="g_i_l_0060.html">point_t</a>;
+<a name="l00081"></a>00081 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0060.html" title="2D point both axes of which have the same dimension typeModels: Point2DConcept">point2&lt;std::ptrdiff_t&gt;</a> <a class="code" href="g_i_l_0060.html">point_t</a>;
 <a name="l00082"></a>00082
-<a name="l00083"></a>00083 <a class="code" href="g_i_l_0018.html">any_image</a>() : <a class="code" href="g_i_l_0062.html">parent_t</a>() {}
-<a name="l00084"></a>00084 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">explicit</span> <a class="code" href="g_i_l_0018.html">any_image</a>(<span class="keyword">const</span> T&amp; obj) : <a class="code" href="g_i_l_0062.html">parent_t</a>(obj) {}
-<a name="l00085"></a>00085 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">explicit</span> <a class="code" href="g_i_l_0018.html">any_image</a>(T&amp; obj, <span class="keywordtype">bool</span> do_swap) : <a class="code" href="g_i_l_0062.html">parent_t</a>(obj,do_swap) {}
-<a name="l00086"></a>00086 <a class="code" href="g_i_l_0018.html">any_image</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0018.html">any_image</a>&amp; v) : <a class="code" href="g_i_l_0062.html">parent_t</a>((<span class="keyword">const</span> <a class="code" href="g_i_l_0062.html">parent_t</a>&amp;)v) {}
+<a name="l00083"></a>00083 <a class="code" href="g_i_l_0018.html" title="Represents a run-time specified image. Note it does NOT model ImageConcept.">any_image</a>() : <a class="code" href="g_i_l_0062.html">parent_t</a>() {}
+<a name="l00084"></a>00084 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">explicit</span> <a class="code" href="g_i_l_0018.html" title="Represents a run-time specified image. Note it does NOT model ImageConcept.">any_image</a>(<span class="keyword">const</span> T&amp; obj) : <a class="code" href="g_i_l_0062.html">parent_t</a>(obj) {}
+<a name="l00085"></a>00085 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">explicit</span> <a class="code" href="g_i_l_0018.html" title="Represents a run-time specified image. Note it does NOT model ImageConcept.">any_image</a>(T&amp; obj, <span class="keywordtype">bool</span> do_swap) : <a class="code" href="g_i_l_0062.html">parent_t</a>(obj,do_swap) {}
+<a name="l00086"></a>00086 <a class="code" href="g_i_l_0018.html" title="Represents a run-time specified image. Note it does NOT model ImageConcept.">any_image</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0018.html" title="Represents a run-time specified image. Note it does NOT model ImageConcept.">any_image</a>&amp; v) : <a class="code" href="g_i_l_0062.html">parent_t</a>((<span class="keyword">const</span> <a class="code" href="g_i_l_0062.html">parent_t</a>&amp;)v) {}
 <a name="l00087"></a>00087
-<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="g_i_l_0018.html">any_image</a>&amp; operator=(<span class="keyword">const</span> T&amp; obj) { parent_t::operator=(obj); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00089"></a>00089 <a class="code" href="g_i_l_0018.html">any_image</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="g_i_l_0018.html">any_image</a>&amp; v) { parent_t::operator=((<span class="keyword">const</span> <a class="code" href="g_i_l_0062.html">parent_t</a>&amp;)v); <span class="keywordflow">return</span> *<span class="keyword">this</span>;}
+<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="g_i_l_0018.html" title="Represents a run-time specified image. Note it does NOT model ImageConcept.">any_image</a>&amp; operator=(<span class="keyword">const</span> T&amp; obj) { parent_t::operator=(obj); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00089"></a>00089 <a class="code" href="g_i_l_0018.html" title="Represents a run-time specified image. Note it does NOT model ImageConcept.">any_image</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="g_i_l_0018.html" title="Represents a run-time specified image. Note it does NOT model ImageConcept.">any_image</a>&amp; v) { parent_t::operator=((<span class="keyword">const</span> <a class="code" href="g_i_l_0062.html">parent_t</a>&amp;)v); <span class="keywordflow">return</span> *<span class="keyword">this</span>;}
 <a name="l00090"></a>00090
-<a name="l00091"></a>00091 <span class="keywordtype">void</span> recreate(<span class="keyword">const</span> <a class="code" href="g_i_l_0060.html">point_t</a>&amp; dims, <span class="keywordtype">unsigned</span> alignment=1) { <a class="code" href="group___variant.html#ga0">apply_operation</a>(*<span class="keyword">this</span>,detail::recreate_image_fnobj(dims,alignment)); }
-<a name="l00092"></a>00092 <span class="keywordtype">void</span> recreate(x_coord_t width, y_coord_t height, <span class="keywordtype">unsigned</span> alignment=1) { recreate(<a class="code" href="g_i_l_0060.html">point2&lt;std::ptrdiff_t&gt;</a>(width,height),alignment); }
+<a name="l00091"></a>00091 <span class="keywordtype">void</span> recreate(<span class="keyword">const</span> <a class="code" href="g_i_l_0060.html">point_t</a>&amp; dims, <span class="keywordtype">unsigned</span> alignment=1) { <a class="code" href="group___variant.html#g3c8fd0f3dc2495060bf062428dccc505" title="Invokes a generic mutable operation (represented as a unary function object) on a...">apply_operation</a>(*<span class="keyword">this</span>,detail::recreate_image_fnobj(dims,alignment)); }
+<a name="l00092"></a>00092 <span class="keywordtype">void</span> recreate(x_coord_t width, y_coord_t height, <span class="keywordtype">unsigned</span> alignment=1) { recreate(<a class="code" href="g_i_l_0060.html" title="2D point both axes of which have the same dimension typeModels: Point2DConcept">point2&lt;std::ptrdiff_t&gt;</a>(width,height),alignment); }
 <a name="l00093"></a>00093
-<a name="l00094"></a>00094 std::size_t <a class="code" href="g_i_l_0575.html">num_channels</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group___variant.html#ga0">apply_operation</a>(*<span class="keyword">this</span>, detail::any_type_get_num_channels()); }
-<a name="l00095"></a>00095 <a class="code" href="g_i_l_0060.html">point_t</a> dimensions()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group___variant.html#ga0">apply_operation</a>(*<span class="keyword">this</span>, detail::any_type_get_dimensions()); }
-<a name="l00096"></a>00096 x_coord_t width()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> dimensions().<a class="code" href="g_i_l_0060.html#o0">x</a>; }
-<a name="l00097"></a>00097 y_coord_t height()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> dimensions().<a class="code" href="g_i_l_0060.html#o1">y</a>; }
+<a name="l00094"></a>00094 std::size_t <a class="code" href="g_i_l_0581.html" title="Returns the number of channels of a pixel-based GIL construct.">num_channels</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group___variant.html#g3c8fd0f3dc2495060bf062428dccc505" title="Invokes a generic mutable operation (represented as a unary function object) on a...">apply_operation</a>(*<span class="keyword">this</span>, detail::any_type_get_num_channels()); }
+<a name="l00095"></a>00095 <a class="code" href="g_i_l_0060.html">point_t</a> dimensions()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group___variant.html#g3c8fd0f3dc2495060bf062428dccc505" title="Invokes a generic mutable operation (represented as a unary function object) on a...">apply_operation</a>(*<span class="keyword">this</span>, detail::any_type_get_dimensions()); }
+<a name="l00096"></a>00096 x_coord_t width()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> dimensions().<a class="code" href="g_i_l_0060.html#9a4f74af87a76a4c3dcb729cb0e68f8d">x</a>; }
+<a name="l00097"></a>00097 y_coord_t height()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> dimensions().<a class="code" href="g_i_l_0060.html#1cb2b5ea04251d543e49356ef54eb853">y</a>; }
 <a name="l00098"></a>00098 };
 <a name="l00099"></a>00099
 <a name="l00103"></a>00103
 <a name="l00105"></a>00105
 <a name="l00107"></a>00107 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types&gt; GIL_FORCEINLINE <span class="comment">// Models ImageVectorConcept</span>
-<a name="l00108"></a><a class="code" href="g_i_l_0130.html#ga1">00108</a> <span class="keyword">typename</span> <a class="code" href="g_i_l_0018.html">any_image&lt;Types&gt;</a>::view_t <a class="code" href="g_i_l_0130.html#ga0">view</a>(<a class="code" href="g_i_l_0018.html">any_image&lt;Types&gt;</a>&amp; anyImage) {
-<a name="l00109"></a>00109 <span class="keywordflow">return</span> <a class="code" href="group___variant.html#ga0">apply_operation</a>(anyImage, detail::any_image_get_view&lt;<span class="keyword">typename</span> <a class="code" href="g_i_l_0018.html">any_image&lt;Types&gt;</a>::view_t&gt;());
+<a name="l00108"></a><a class="code" href="g_i_l_0135.html#g55e45a15dddfc0d870c2f7fb9739cb2e">00108</a> <span class="keyword">typename</span> <a class="code" href="g_i_l_0018.html" title="Represents a run-time specified image. Note it does NOT model ImageConcept.">any_image&lt;Types&gt;::view_t</a> <a class="code" href="g_i_l_0135.html#g55e45a15dddfc0d870c2f7fb9739cb2e" title="Returns the non-constant-pixel view of any image. The returned view is any view.">view</a>(<a class="code" href="g_i_l_0018.html" title="Represents a run-time specified image. Note it does NOT model ImageConcept.">any_image&lt;Types&gt;</a>&amp; anyImage) {
+<a name="l00109"></a>00109 <span class="keywordflow">return</span> <a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037" title="Invokes a generic constant operation (represented as a binary function object) on...">apply_operation</a>(anyImage, detail::any_image_get_view&lt;<span class="keyword">typename</span> <a class="code" href="g_i_l_0018.html" title="Represents a run-time specified image. Note it does NOT model ImageConcept.">any_image&lt;Types&gt;::view_t</a>&gt;());
 <a name="l00110"></a>00110 }
 <a name="l00111"></a>00111
 <a name="l00113"></a>00113 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types&gt; GIL_FORCEINLINE <span class="comment">// Models ImageVectorConcept</span>
-<a name="l00114"></a><a class="code" href="g_i_l_0130.html#ga2">00114</a> <span class="keyword">typename</span> <a class="code" href="g_i_l_0018.html">any_image&lt;Types&gt;</a>::const_view_t <a class="code" href="g_i_l_0130.html#ga3">const_view</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0018.html">any_image&lt;Types&gt;</a>&amp; anyImage) {
-<a name="l00115"></a>00115 <span class="keywordflow">return</span> <a class="code" href="group___variant.html#ga0">apply_operation</a>(anyImage, detail::any_image_get_const_view&lt;<span class="keyword">typename</span> <a class="code" href="g_i_l_0018.html">any_image&lt;Types&gt;</a>::const_view_t&gt;());
+<a name="l00114"></a><a class="code" href="g_i_l_0135.html#g9e185237819e788838a0d337d21ab722">00114</a> <span class="keyword">typename</span> <a class="code" href="g_i_l_0018.html" title="Represents a run-time specified image. Note it does NOT model ImageConcept.">any_image&lt;Types&gt;::const_view_t</a> <a class="code" href="g_i_l_0135.html#g9e185237819e788838a0d337d21ab722" title="Returns the constant-pixel view of any image. The returned view is any view.">const_view</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0018.html" title="Represents a run-time specified image. Note it does NOT model ImageConcept.">any_image&lt;Types&gt;</a>&amp; anyImage) {
+<a name="l00115"></a>00115 <span class="keywordflow">return</span> <a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037" title="Invokes a generic constant operation (represented as a binary function object) on...">apply_operation</a>(anyImage, detail::any_image_get_const_view&lt;<span class="keyword">typename</span> <a class="code" href="g_i_l_0018.html" title="Represents a run-time specified image. Note it does NOT model ImageConcept.">any_image&lt;Types&gt;::const_view_t</a>&gt;());
 <a name="l00116"></a>00116 }
 <a name="l00118"></a>00118
 <a name="l00119"></a>00119 } } <span class="comment">// namespace boost::gil</span>
 <a name="l00120"></a>00120
-<a name="l00121"></a>00121 <span class="preprocessor">#ifdef _MSC_VER</span>
-<a name="l00122"></a>00122 <span class="preprocessor"></span><span class="preprocessor">#pragma warning(pop)</span>
-<a name="l00123"></a>00123 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00124"></a>00124 <span class="preprocessor"></span>
+<a name="l00121"></a>00121 <span class="comment">//#ifdef _MSC_VER</span>
+<a name="l00122"></a>00122 <span class="comment">//#pragma warning(pop)</span>
+<a name="l00123"></a>00123 <span class="comment">//#endif</span>
+<a name="l00124"></a>00124
 <a name="l00125"></a>00125 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:16 2007 for Generic Image Library by&nbsp;
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:37 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0002.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0003.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0003.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0003.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : any_image_view.hpp Source File</TITLE>
+ <TITLE>Generic Image Library: any_image_view.hpp Source File</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,13 +31,13 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="dir_000000.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">gil</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000002.html">extension</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000003.html">dynamic_image</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="g_i_l_0076.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0079.html">gil</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0078.html">extension</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0075.html">dynamic_image</a>
+ </div>
+<div class="contents">
 <h1>any_image_view.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
 <a name="l00002"></a>00002 <span class="comment"> Copyright 2005-2007 Adobe Systems Incorporated</span>
 <a name="l00003"></a>00003 <span class="comment"> </span>
@@ -56,7 +54,7 @@
 <a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define GIL_DYNAMICIMAGE_ANY_IMAGEVIEW_HPP</span>
 <a name="l00015"></a>00015 <span class="preprocessor"></span>
 <a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="variant_8hpp.html">variant.hpp</a>"</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="variant_8hpp.html" title="Support for run-time instantiated types.">variant.hpp</a>"</span>
 <a name="l00026"></a>00026 <span class="preprocessor">#include "../../image_view.hpp"</span>
 <a name="l00027"></a>00027 <span class="preprocessor">#include "../../image.hpp"</span>
 <a name="l00028"></a>00028
@@ -81,32 +79,32 @@
 <a name="l00047"></a>00047 }
 <a name="l00048"></a>00048
 <a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> ImageViewTypes&gt;
-<a name="l00064"></a><a class="code" href="g_i_l_0020.html">00064</a> <span class="keyword">class </span><a class="code" href="g_i_l_0020.html">any_image_view</a> : <span class="keyword">public</span> <a class="code" href="g_i_l_0062.html">variant</a>&lt;ImageViewTypes&gt; {
-<a name="l00065"></a>00065 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0062.html">variant&lt;ImageViewTypes&gt;</a> <a class="code" href="g_i_l_0062.html">parent_t</a>;
+<a name="l00064"></a><a class="code" href="g_i_l_0020.html">00064</a> <span class="keyword">class </span><a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a> : <span class="keyword">public</span> <a class="code" href="g_i_l_0062.html" title="Represents a concrete instance of a run-time specified type from a set of typesA...">variant</a>&lt;ImageViewTypes&gt; {
+<a name="l00065"></a>00065 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0062.html" title="Represents a concrete instance of a run-time specified type from a set of typesA...">variant&lt;ImageViewTypes&gt;</a> <a class="code" href="g_i_l_0062.html">parent_t</a>;
 <a name="l00066"></a>00066 <span class="keyword">public</span>:
-<a name="l00067"></a>00067 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0020.html">any_image_view&lt;typename detail::views_get_const_t&lt;ImageViewTypes&gt;</a>::type&gt; <a class="code" href="g_i_l_0020.html">const_t</a>;
+<a name="l00067"></a>00067 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view&lt;typename detail::views_get_const_t&lt;ImageViewTypes&gt;::type</a>&gt; <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">const_t</a>;
 <a name="l00068"></a>00068 <span class="keyword">typedef</span> std::ptrdiff_t x_coord_t;
 <a name="l00069"></a>00069 <span class="keyword">typedef</span> std::ptrdiff_t y_coord_t;
-<a name="l00070"></a>00070 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0060.html">point2&lt;std::ptrdiff_t&gt;</a> <a class="code" href="g_i_l_0060.html">point_t</a>;
+<a name="l00070"></a>00070 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0060.html" title="2D point both axes of which have the same dimension typeModels: Point2DConcept">point2&lt;std::ptrdiff_t&gt;</a> <a class="code" href="g_i_l_0060.html">point_t</a>;
 <a name="l00071"></a>00071
-<a name="l00072"></a>00072 <a class="code" href="g_i_l_0020.html">any_image_view</a>() : <a class="code" href="g_i_l_0062.html">parent_t</a>() {}
-<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">explicit</span> <a class="code" href="g_i_l_0020.html">any_image_view</a>(<span class="keyword">const</span> T&amp; obj) : <a class="code" href="g_i_l_0062.html">parent_t</a>(obj) {}
-<a name="l00074"></a>00074 <a class="code" href="g_i_l_0020.html">any_image_view</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0020.html">any_image_view</a>&amp; v) : <a class="code" href="g_i_l_0062.html">parent_t</a>((<span class="keyword">const</span> <a class="code" href="g_i_l_0062.html">parent_t</a>&amp;)v) {}
+<a name="l00072"></a>00072 <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a>() : <a class="code" href="g_i_l_0062.html">parent_t</a>() {}
+<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">explicit</span> <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a>(<span class="keyword">const</span> T&amp; obj) : <a class="code" href="g_i_l_0062.html">parent_t</a>(obj) {}
+<a name="l00074"></a>00074 <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a>&amp; v) : <a class="code" href="g_i_l_0062.html">parent_t</a>((<span class="keyword">const</span> <a class="code" href="g_i_l_0062.html">parent_t</a>&amp;)v) {}
 <a name="l00075"></a>00075
-<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="g_i_l_0020.html">any_image_view</a>&amp; operator=(<span class="keyword">const</span> T&amp; obj) { parent_t::operator=(obj); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00077"></a>00077 <a class="code" href="g_i_l_0020.html">any_image_view</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="g_i_l_0020.html">any_image_view</a>&amp; v) { parent_t::operator=((<span class="keyword">const</span> <a class="code" href="g_i_l_0062.html">parent_t</a>&amp;)v); <span class="keywordflow">return</span> *<span class="keyword">this</span>;}
+<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a>&amp; operator=(<span class="keyword">const</span> T&amp; obj) { parent_t::operator=(obj); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00077"></a>00077 <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a>&amp; v) { parent_t::operator=((<span class="keyword">const</span> <a class="code" href="g_i_l_0062.html">parent_t</a>&amp;)v); <span class="keywordflow">return</span> *<span class="keyword">this</span>;}
 <a name="l00078"></a>00078
-<a name="l00079"></a>00079 std::size_t <a class="code" href="g_i_l_0575.html">num_channels</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group___variant.html#ga0">apply_operation</a>(*<span class="keyword">this</span>, detail::any_type_get_num_channels()); }
-<a name="l00080"></a>00080 <a class="code" href="g_i_l_0060.html">point_t</a> dimensions()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group___variant.html#ga0">apply_operation</a>(*<span class="keyword">this</span>, detail::any_type_get_dimensions()); }
-<a name="l00081"></a>00081 x_coord_t width()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> dimensions().<a class="code" href="g_i_l_0060.html#o0">x</a>; }
-<a name="l00082"></a>00082 y_coord_t height()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> dimensions().<a class="code" href="g_i_l_0060.html#o1">y</a>; }
+<a name="l00079"></a>00079 std::size_t <a class="code" href="g_i_l_0581.html" title="Returns the number of channels of a pixel-based GIL construct.">num_channels</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group___variant.html#g3c8fd0f3dc2495060bf062428dccc505" title="Invokes a generic mutable operation (represented as a unary function object) on a...">apply_operation</a>(*<span class="keyword">this</span>, detail::any_type_get_num_channels()); }
+<a name="l00080"></a>00080 <a class="code" href="g_i_l_0060.html">point_t</a> dimensions()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group___variant.html#g3c8fd0f3dc2495060bf062428dccc505" title="Invokes a generic mutable operation (represented as a unary function object) on a...">apply_operation</a>(*<span class="keyword">this</span>, detail::any_type_get_dimensions()); }
+<a name="l00081"></a>00081 x_coord_t width()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> dimensions().<a class="code" href="g_i_l_0060.html#9a4f74af87a76a4c3dcb729cb0e68f8d">x</a>; }
+<a name="l00082"></a>00082 y_coord_t height()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> dimensions().<a class="code" href="g_i_l_0060.html#1cb2b5ea04251d543e49356ef54eb853">y</a>; }
 <a name="l00083"></a>00083 };
 <a name="l00084"></a>00084
 <a name="l00086"></a>00086 <span class="comment">// HasDynamicXStepTypeConcept</span>
 <a name="l00088"></a>00088 <span class="comment"></span>
 <a name="l00089"></a>00089 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IVTypes&gt;
-<a name="l00090"></a>00090 <span class="keyword">struct </span>dynamic_x_step_type&lt;any_image_view&lt;IVTypes&gt; &gt; {
-<a name="l00091"></a>00091 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0020.html">any_image_view&lt;typename mpl::transform&lt;IVTypes, dynamic_x_step_type&lt;mpl::_1&gt;</a> &gt;::type&gt; type;
+<a name="l00090"></a>00090 <span class="keyword">struct </span>dynamic_x_step_type&lt;<a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a>&lt;IVTypes&gt; &gt; {
+<a name="l00091"></a>00091 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view&lt;typename mpl::transform&lt;IVTypes, dynamic_x_step_type&lt;mpl::_1&gt;</a> &gt;::type&gt; type;
 <a name="l00092"></a>00092 };
 <a name="l00093"></a>00093
 <a name="l00095"></a>00095 <span class="comment">// HasDynamicYStepTypeConcept</span>
@@ -129,8 +127,9 @@
 <a name="l00113"></a>00113 } } <span class="comment">// namespace boost::gil</span>
 <a name="l00114"></a>00114
 <a name="l00115"></a>00115 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:16 2007 for Generic Image Library by&nbsp;
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:37 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0003.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0004.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0004.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0004.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : any_image_view.hpp File Reference</TITLE>
+ <TITLE>Generic Image Library: any_image_view.hpp File Reference</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,23 +31,23 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="dir_000000.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">gil</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000002.html">extension</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000003.html">dynamic_image</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="g_i_l_0076.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0079.html">gil</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0078.html">extension</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0075.html">dynamic_image</a>
+ </div>
+<div class="contents">
 <h1>any_image_view.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
 Support for run-time instantiated image view.
 <p>
-<dl compact><dt><b>Author:</b></dt><dd>Lubomir Bourdev and Hailin Jin <br>
- Adobe Systems Incorporated</dd></dl>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Lubomir Bourdev and Hailin Jin <br>
+ Adobe Systems Incorporated </dd></dl>
 
 <p>
-<code>#include &quot;<a class="el" href="g_i_l_0637.html">variant.hpp</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="g_i_l_0219.html">../../image_view.hpp</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="g_i_l_0218.html">../../image.hpp</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="g_i_l_0643.html">variant.hpp</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="g_i_l_0224.html">../../image_view.hpp</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="g_i_l_0223.html">../../image.hpp</a>&quot;</code><br>
 
 <p>
 <a href="g_i_l_0003.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -64,10 +62,11 @@
 <tr><td colspan="2"><br><h2>Classes</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0020.html">any_image_view</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Represents a run-time specified image view. Models <a class="el" href="g_i_l_0285.html">HasDynamicXStepTypeConcept</a>, <a class="el" href="g_i_l_0287.html">HasDynamicYStepTypeConcept</a>, Note that this class does NOT model <a class="el" href="g_i_l_0303.html">ImageViewConcept</a>. More...<br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Represents a run-time specified <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> view. Models <a class="el" href="g_i_l_0290.html" title="Concept for iterators, locators and views that can define a type just like the given...">HasDynamicXStepTypeConcept</a>, <a class="el" href="g_i_l_0292.html" title="Concept for locators and views that can define a type just like the given locator...">HasDynamicYStepTypeConcept</a>, Note that this class does NOT model <a class="el" href="g_i_l_0308.html" title="GIL&#39;s 2-dimensional view over immutable GIL pixels.">ImageViewConcept</a>. More...<br></td></tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:18 2007 for Generic Image Library by&nbsp;
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:39 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0004.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0005.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0005.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0005.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : apply_operation.hpp Source File</TITLE>
+ <TITLE>Generic Image Library: apply_operation.hpp Source File</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,13 +31,13 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="dir_000000.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">gil</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000002.html">extension</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000003.html">dynamic_image</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="g_i_l_0076.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0079.html">gil</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0078.html">extension</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0075.html">dynamic_image</a>
+ </div>
+<div class="contents">
 <h1>apply_operation.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
 <a name="l00002"></a>00002 <span class="comment"> Copyright 2005-2007 Adobe Systems Incorporated</span>
 <a name="l00003"></a>00003 <span class="comment"> </span>
@@ -56,39 +54,40 @@
 <a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define GIL_APPLY_OPERATION_HPP</span>
 <a name="l00015"></a>00015 <span class="preprocessor"></span>
 <a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="g_i_l_0008.html">apply_operation_base.hpp</a>"</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="variant_8hpp.html">variant.hpp</a>"</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="g_i_l_0008.html" title="Given an object with run-time specified type (denoted as an array of Bits, dynamic...">apply_operation_base.hpp</a>"</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="variant_8hpp.html" title="Support for run-time instantiated types.">variant.hpp</a>"</span>
 <a name="l00027"></a>00027
 <a name="l00028"></a>00028 <span class="preprocessor">#ifndef GIL_REDUCE_CODE_BLOAT</span>
 <a name="l00029"></a>00029 <span class="preprocessor"></span>
 <a name="l00030"></a>00030 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
 <a name="l00031"></a>00031
 <a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types, <span class="keyword">typename</span> UnaryOp&gt; GIL_FORCEINLINE
-<a name="l00035"></a><a class="code" href="group___variant.html#ga0">00035</a> <span class="keyword">typename</span> UnaryOp::result_type <a class="code" href="group___variant.html#ga0">apply_operation</a>(<a class="code" href="g_i_l_0062.html">variant&lt;Types&gt;</a>&amp; arg, UnaryOp op) {
-<a name="l00036"></a>00036 <span class="keywordflow">return</span> apply_operation_base&lt;Types&gt;(arg.<a class="code" href="g_i_l_0062.html#r0">_bits</a>, arg.<a class="code" href="g_i_l_0062.html#r1">_index</a> ,op);
+<a name="l00035"></a><a class="code" href="group___variant.html#g3c8fd0f3dc2495060bf062428dccc505">00035</a> <span class="keyword">typename</span> UnaryOp::result_type <a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037" title="Invokes a generic constant operation (represented as a binary function object) on...">apply_operation</a>(<a class="code" href="g_i_l_0062.html" title="Represents a concrete instance of a run-time specified type from a set of typesA...">variant&lt;Types&gt;</a>&amp; arg, UnaryOp op) {
+<a name="l00036"></a>00036 <span class="keywordflow">return</span> apply_operation_base&lt;Types&gt;(arg.<a class="code" href="g_i_l_0062.html#1569ee86be489bad8f0978ea0edac945">_bits</a>, arg.<a class="code" href="g_i_l_0062.html#ab24a1a4e3ad662acbc481b2ce8d8cb8">_index</a> ,op);
 <a name="l00037"></a>00037 }
 <a name="l00038"></a>00038
 <a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types, <span class="keyword">typename</span> UnaryOp&gt; GIL_FORCEINLINE
-<a name="l00042"></a><a class="code" href="group___variant.html#ga1">00042</a> <span class="keyword">typename</span> UnaryOp::result_type <a class="code" href="group___variant.html#ga0">apply_operation</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0062.html">variant&lt;Types&gt;</a>&amp; arg, UnaryOp op) {
-<a name="l00043"></a>00043 <span class="keywordflow">return</span> apply_operation_basec&lt;Types&gt;(arg.<a class="code" href="g_i_l_0062.html#r0">_bits</a>, arg.<a class="code" href="g_i_l_0062.html#r1">_index</a> ,op);
+<a name="l00042"></a><a class="code" href="group___variant.html#g65c13b01bb2b7725fe96e56bcc2659b6">00042</a> <span class="keyword">typename</span> UnaryOp::result_type <a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037" title="Invokes a generic constant operation (represented as a binary function object) on...">apply_operation</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0062.html" title="Represents a concrete instance of a run-time specified type from a set of typesA...">variant&lt;Types&gt;</a>&amp; arg, UnaryOp op) {
+<a name="l00043"></a>00043 <span class="keywordflow">return</span> apply_operation_basec&lt;Types&gt;(arg.<a class="code" href="g_i_l_0062.html#1569ee86be489bad8f0978ea0edac945">_bits</a>, arg.<a class="code" href="g_i_l_0062.html#ab24a1a4e3ad662acbc481b2ce8d8cb8">_index</a> ,op);
 <a name="l00044"></a>00044 }
 <a name="l00045"></a>00045
 <a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types1, <span class="keyword">typename</span> Types2, <span class="keyword">typename</span> BinaryOp&gt; GIL_FORCEINLINE
-<a name="l00049"></a><a class="code" href="group___variant.html#ga2">00049</a> <span class="keyword">typename</span> BinaryOp::result_type <a class="code" href="group___variant.html#ga0">apply_operation</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0062.html">variant&lt;Types1&gt;</a>&amp; arg1, <span class="keyword">const</span> <a class="code" href="g_i_l_0062.html">variant&lt;Types2&gt;</a>&amp; arg2, BinaryOp op) {
-<a name="l00050"></a>00050 <span class="keywordflow">return</span> apply_operation_base&lt;Types1,Types2&gt;(arg1.<a class="code" href="g_i_l_0062.html#r0">_bits</a>, arg1.<a class="code" href="g_i_l_0062.html#r1">_index</a>, arg2.<a class="code" href="g_i_l_0062.html#r0">_bits</a>, arg2.<a class="code" href="g_i_l_0062.html#r1">_index</a>, op);
+<a name="l00049"></a><a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037">00049</a> <span class="keyword">typename</span> BinaryOp::result_type <a class="code" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037" title="Invokes a generic constant operation (represented as a binary function object) on...">apply_operation</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0062.html" title="Represents a concrete instance of a run-time specified type from a set of typesA...">variant&lt;Types1&gt;</a>&amp; arg1, <span class="keyword">const</span> <a class="code" href="g_i_l_0062.html" title="Represents a concrete instance of a run-time specified type from a set of typesA...">variant&lt;Types2&gt;</a>&amp; arg2, BinaryOp op) {
+<a name="l00050"></a>00050 <span class="keywordflow">return</span> apply_operation_base&lt;Types1,Types2&gt;(arg1.<a class="code" href="g_i_l_0062.html#1569ee86be489bad8f0978ea0edac945">_bits</a>, arg1.<a class="code" href="g_i_l_0062.html#ab24a1a4e3ad662acbc481b2ce8d8cb8">_index</a>, arg2.<a class="code" href="g_i_l_0062.html#1569ee86be489bad8f0978ea0edac945">_bits</a>, arg2.<a class="code" href="g_i_l_0062.html#ab24a1a4e3ad662acbc481b2ce8d8cb8">_index</a>, op);
 <a name="l00051"></a>00051 }
 <a name="l00052"></a>00052
 <a name="l00053"></a>00053 } } <span class="comment">// namespace boost::gil</span>
 <a name="l00054"></a>00054
 <a name="l00055"></a>00055 <span class="preprocessor">#else</span>
 <a name="l00056"></a>00056 <span class="preprocessor"></span>
-<a name="l00057"></a>00057 <span class="preprocessor">#include "<a class="code" href="reduce_8hpp.html">reduce.hpp</a>"</span>
+<a name="l00057"></a>00057 <span class="preprocessor">#include "<a class="code" href="reduce_8hpp.html" title="Constructs for static-to-dynamic integer convesion.">reduce.hpp</a>"</span>
 <a name="l00058"></a>00058
 <a name="l00059"></a>00059 <span class="preprocessor">#endif</span>
 <a name="l00060"></a>00060 <span class="preprocessor"></span>
 <a name="l00061"></a>00061 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:16 2007 for Generic Image Library by&nbsp;
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:37 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0005.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0006.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0006.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0006.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : apply_operation.hpp File Reference</TITLE>
+ <TITLE>Generic Image Library: apply_operation.hpp File Reference</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,24 +31,24 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="dir_000000.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">gil</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000002.html">extension</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000003.html">dynamic_image</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="g_i_l_0076.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0079.html">gil</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0078.html">extension</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0075.html">dynamic_image</a>
+ </div>
+<div class="contents">
 <h1>apply_operation.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
 Implements apply_operation for variants. Optionally performs type reduction.
 <p>
-<dl compact><dt><b>Author:</b></dt><dd>Lubomir Bourdev and Hailin Jin <br>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Lubomir Bourdev and Hailin Jin <br>
  Adobe Systems Incorporated </dd></dl>
-<dl compact><dt><b>Date:</b></dt><dd>2005-2007 <br>
- Last updated on May 4, 2006</dd></dl>
+<dl class="date" compact><dt><b>Date:</b></dt><dd>2005-2007 <br>
+ Last updated on May 4, 2006 </dd></dl>
 
 <p>
 <code>#include &quot;<a class="el" href="g_i_l_0007.html">apply_operation_base.hpp</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="g_i_l_0637.html">variant.hpp</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="g_i_l_0643.html">variant.hpp</a>&quot;</code><br>
 
 <p>
 <a href="g_i_l_0005.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -61,24 +59,28 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil</b></td></tr>
 
 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="apply_operation.hpp::apply_operation" ref="ga0" args="(variant&lt; Types &gt; &amp;arg, UnaryOp op)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g3c8fd0f3dc2495060bf062428dccc505"></a><!-- doxytag: member="apply_operation.hpp::apply_operation" ref="g3c8fd0f3dc2495060bf062428dccc505" args="(variant&lt; Types &gt; &amp;arg, UnaryOp op)" -->
 template&lt;typename Types, typename UnaryOp&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE UnaryOp::result_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___variant.html#ga0">boost::gil::apply_operation</a> (variant&lt; Types &gt; &amp;arg, UnaryOp op)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE <br>
+UnaryOp::result_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___variant.html#g3c8fd0f3dc2495060bf062428dccc505">apply_operation</a> (variant&lt; Types &gt; &amp;arg, UnaryOp op)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invokes a generic mutable operation (represented as a unary function object) on a variant. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga1"></a><!-- doxytag: member="apply_operation.hpp::apply_operation" ref="ga1" args="(const variant&lt; Types &gt; &amp;arg, UnaryOp op)" -->
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invokes a generic mutable operation (represented as a unary function object) on a <a class="el" href="g_i_l_0062.html" title="Represents a concrete instance of a run-time specified type from a set of typesA...">variant</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g65c13b01bb2b7725fe96e56bcc2659b6"></a><!-- doxytag: member="apply_operation.hpp::apply_operation" ref="g65c13b01bb2b7725fe96e56bcc2659b6" args="(const variant&lt; Types &gt; &amp;arg, UnaryOp op)" -->
 template&lt;typename Types, typename UnaryOp&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE UnaryOp::result_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___variant.html#ga1">boost::gil::apply_operation</a> (const variant&lt; Types &gt; &amp;arg, UnaryOp op)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE <br>
+UnaryOp::result_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___variant.html#g65c13b01bb2b7725fe96e56bcc2659b6">apply_operation</a> (const variant&lt; Types &gt; &amp;arg, UnaryOp op)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invokes a generic constant operation (represented as a unary function object) on a variant. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga2"></a><!-- doxytag: member="apply_operation.hpp::apply_operation" ref="ga2" args="(const variant&lt; Types1 &gt; &amp;arg1, const variant&lt; Types2 &gt; &amp;arg2, BinaryOp op)" -->
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invokes a generic constant operation (represented as a unary function object) on a <a class="el" href="g_i_l_0062.html" title="Represents a concrete instance of a run-time specified type from a set of typesA...">variant</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g3dc0a90911c08815be11e1e49ec06037"></a><!-- doxytag: member="apply_operation.hpp::apply_operation" ref="g3dc0a90911c08815be11e1e49ec06037" args="(const variant&lt; Types1 &gt; &amp;arg1, const variant&lt; Types2 &gt; &amp;arg2, BinaryOp op)" -->
 template&lt;typename Types1, typename Types2, typename BinaryOp&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE BinaryOp::result_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___variant.html#ga2">boost::gil::apply_operation</a> (const variant&lt; Types1 &gt; &amp;arg1, const variant&lt; Types2 &gt; &amp;arg2, BinaryOp op)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE <br>
+BinaryOp::result_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037">apply_operation</a> (const variant&lt; Types1 &gt; &amp;arg1, const variant&lt; Types2 &gt; &amp;arg2, BinaryOp op)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invokes a generic constant operation (represented as a binary function object) on two variants. <br></td></tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:18 2007 for Generic Image Library by&nbsp;
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:39 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0006.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0007.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0007.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0007.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : apply_operation_base.hpp Source File</TITLE>
+ <TITLE>Generic Image Library: apply_operation_base.hpp Source File</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,13 +31,13 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="dir_000000.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">gil</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000002.html">extension</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000003.html">dynamic_image</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="g_i_l_0076.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0079.html">gil</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0078.html">extension</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0075.html">dynamic_image</a>
+ </div>
+<div class="contents">
 <h1>apply_operation_base.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
 <a name="l00002"></a>00002 <span class="comment"> Copyright 2005-2007 Adobe Systems Incorporated</span>
 <a name="l00003"></a>00003 <span class="comment"> </span>
@@ -129,22 +127,22 @@
 <a name="l00096"></a>00096 <span class="preprocessor">#define GIL_GENERATE_APPLY_FWD_OPS(N) BOOST_PP_REPEAT(N, GIL_APPLY_FWD_OP, BOOST_PP_EMPTY)</span>
 <a name="l00097"></a>00097 <span class="preprocessor"></span>
 <a name="l00098"></a>00098 <span class="keyword">namespace </span>detail {
-<a name="l00099"></a>00099 <span class="keyword">template</span> &lt;std::size_t N&gt; <span class="keyword">struct </span>apply_operation_fwd_fn {};
+<a name="l00099"></a>00099 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> N&gt; <span class="keyword">struct </span>apply_operation_fwd_fn {};
 <a name="l00100"></a>00100
-<a name="l00101"></a>00101 <span class="comment">// Create specializations of apply_operation_fn for each N 0..100</span>
-<a name="l00102"></a>00102 GIL_GENERATE_APPLY_FWD_OPS(99)
-<a name="l00103"></a>00103 };
+<a name="l00101"></a>00101 <span class="comment">// Create specializations of apply_operation_fn for each N 0..100</span>
+<a name="l00102"></a>00102 GIL_GENERATE_APPLY_FWD_OPS(99)
+<a name="l00103"></a>00103 } <span class="comment">// namespace detail</span>
 <a name="l00104"></a>00104
 <a name="l00105"></a>00105 <span class="comment">// unary application</span>
 <a name="l00106"></a>00106 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types, <span class="keyword">typename</span> Bits, <span class="keyword">typename</span> Op&gt;
 <a name="l00107"></a>00107 <span class="keyword">typename</span> Op::result_type GIL_FORCEINLINE apply_operation_basec(<span class="keyword">const</span> Bits&amp; bits, std::size_t index, Op op) {
-<a name="l00108"></a>00108 <span class="keywordflow">return</span> detail::apply_operation_fwd_fn&lt;mpl::size&lt;Types&gt;::value&gt;().template applyc&lt;Types&gt;(bits,index,op);
+<a name="l00108"></a>00108 <span class="keywordflow">return</span> detail::apply_operation_fwd_fn&lt;mpl::size&lt;Types&gt;::value&gt;().<span class="keyword">template</span> applyc&lt;Types&gt;(bits,index,op);
 <a name="l00109"></a>00109 }
 <a name="l00110"></a>00110
 <a name="l00111"></a>00111 <span class="comment">// unary application</span>
 <a name="l00112"></a>00112 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types, <span class="keyword">typename</span> Bits, <span class="keyword">typename</span> Op&gt;
 <a name="l00113"></a>00113 <span class="keyword">typename</span> Op::result_type GIL_FORCEINLINE apply_operation_base( Bits&amp; bits, std::size_t index, Op op) {
-<a name="l00114"></a>00114 <span class="keywordflow">return</span> detail::apply_operation_fwd_fn&lt;mpl::size&lt;Types&gt;::value&gt;().template apply&lt;Types&gt;(bits,index,op);
+<a name="l00114"></a>00114 <span class="keywordflow">return</span> detail::apply_operation_fwd_fn&lt;mpl::size&lt;Types&gt;::value&gt;().<span class="keyword">template</span> apply&lt;Types&gt;(bits,index,op);
 <a name="l00115"></a>00115 }
 <a name="l00116"></a>00116
 <a name="l00117"></a>00117 <span class="keyword">namespace </span>detail {
@@ -174,7 +172,7 @@
 <a name="l00141"></a>00141 <span class="keywordflow">return</span> apply_operation_basec&lt;Types1&gt;(_bits1, _index1, reduce_bind1&lt;T2,Op&gt;(t2, _op));
 <a name="l00142"></a>00142 }
 <a name="l00143"></a>00143 };
-<a name="l00144"></a>00144 }
+<a name="l00144"></a>00144 } <span class="comment">// namespace detail</span>
 <a name="l00145"></a>00145
 <a name="l00146"></a>00146 <span class="comment">// Binary application by applying on each dimension separately</span>
 <a name="l00147"></a>00147 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types1, <span class="keyword">typename</span> Types2, <span class="keyword">typename</span> Bits1, <span class="keyword">typename</span> Bits2, <span class="keyword">typename</span> Op&gt;
@@ -193,8 +191,9 @@
 <a name="l00160"></a>00160
 <a name="l00161"></a>00161
 <a name="l00162"></a>00162 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:16 2007 for Generic Image Library by&nbsp;
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:37 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0007.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0008.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0008.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0008.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : apply_operation_base.hpp File Reference</TITLE>
+ <TITLE>Generic Image Library: apply_operation_base.hpp File Reference</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,24 +31,24 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="dir_000000.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">gil</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000002.html">extension</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000003.html">dynamic_image</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="g_i_l_0076.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0079.html">gil</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0078.html">extension</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0075.html">dynamic_image</a>
+ </div>
+<div class="contents">
 <h1>apply_operation_base.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
 Given an object with run-time specified type (denoted as an array of Bits, dynamic index, and a static set of Types) and a generic operation, casts the object to its appropriate type and applies the operation.
 <p>
-<dl compact><dt><b>Author:</b></dt><dd>Lubomir Bourdev and Hailin Jin <br>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Lubomir Bourdev and Hailin Jin <br>
  Adobe Systems Incorporated </dd></dl>
-<dl compact><dt><b>Date:</b></dt><dd>2005-2006 <br>
- Last updated on May 4, 2006</dd></dl>
+<dl class="date" compact><dt><b>Date:</b></dt><dd>2005-2007 <br>
+ Last updated on November 6, 2007 </dd></dl>
 
 <p>
-<code>#include &quot;<a class="el" href="g_i_l_0088.html">../../gil_config.hpp</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="g_i_l_0636.html">../../utilities.hpp</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="g_i_l_0093.html">../../gil_config.hpp</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="g_i_l_0642.html">../../utilities.hpp</a>&quot;</code><br>
 <code>#include &lt;boost/mpl/begin.hpp&gt;</code><br>
 <code>#include &lt;boost/mpl/next.hpp&gt;</code><br>
 <code>#include &lt;boost/mpl/deref.hpp&gt;</code><br>
@@ -68,64 +66,57 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil::detail</b></td></tr>
 
 <tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0"></a><!-- doxytag: member="apply_operation_base.hpp::GIL_FWD_TYPEDEFS" ref="a0" args="(z, N, text)" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d79b83cac67b5b966b9d5b66aa122460"></a><!-- doxytag: member="apply_operation_base.hpp::GIL_FWD_TYPEDEFS" ref="d79b83cac67b5b966b9d5b66aa122460" args="(z, N, text)" -->
 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>GIL_FWD_TYPEDEFS</b>(z, N, text)&nbsp;&nbsp;&nbsp;T##N; typedef typename mpl::next&lt;T##N&gt;::type</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1"></a><!-- doxytag: member="apply_operation_base.hpp::GIL_FWD_CASE" ref="a1" args="(z, N, SUM)" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2b5c77543f4d9130526fed67ac7464ee"></a><!-- doxytag: member="apply_operation_base.hpp::GIL_FWD_CASE" ref="2b5c77543f4d9130526fed67ac7464ee" args="(z, N, SUM)" -->
 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>GIL_FWD_CASE</b>(z, N, SUM)&nbsp;&nbsp;&nbsp;case N: return op(*gil_reinterpret_cast&lt;typename mpl::deref&lt;T##N&gt;::type*&gt;(&amp;bits));</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2"></a><!-- doxytag: member="apply_operation_base.hpp::GIL_FWD_CONST_CASE" ref="a2" args="(z, N, SUM)" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9aeac994894106449bcde0806b254df9"></a><!-- doxytag: member="apply_operation_base.hpp::GIL_FWD_CONST_CASE" ref="9aeac994894106449bcde0806b254df9" args="(z, N, SUM)" -->
 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>GIL_FWD_CONST_CASE</b>(z, N, SUM)&nbsp;&nbsp;&nbsp;case N: return op(*gil_reinterpret_cast_c&lt;const typename mpl::deref&lt;T##N&gt;::type*&gt;(&amp;bits));</td></tr>
 
 <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>GIL_APPLY_FWD_OP</b>(z, N, text)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4"></a><!-- doxytag: member="apply_operation_base.hpp::GIL_GENERATE_APPLY_FWD_OPS" ref="a4" args="(N)" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8dee41b11d92b34295f54281a098ae90"></a><!-- doxytag: member="apply_operation_base.hpp::GIL_GENERATE_APPLY_FWD_OPS" ref="8dee41b11d92b34295f54281a098ae90" args="(N)" -->
 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>GIL_GENERATE_APPLY_FWD_OPS</b>(N)&nbsp;&nbsp;&nbsp;BOOST_PP_REPEAT(N, GIL_APPLY_FWD_OP, BOOST_PP_EMPTY)</td></tr>
 
 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a250"></a><!-- doxytag: member="apply_operation_base.hpp::apply_operation_basec" ref="a250" args="(const Bits &amp;bits, std::size_t index, Op op)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="e7eaa4c36cc9636e1b2f97184c35636a"></a><!-- doxytag: member="apply_operation_base.hpp::apply_operation_basec" ref="e7eaa4c36cc9636e1b2f97184c35636a" args="(const Bits &amp;bits, std::size_t index, Op op)" -->
 template&lt;typename Types, typename Bits, typename Op&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Op::result_type GIL_FORCEINLINE&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::apply_operation_basec</b> (const Bits &amp;bits, std::size_t index, Op op)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Op::result_type GIL_FORCEINLINE&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>apply_operation_basec</b> (const Bits &amp;bits, std::size_t index, Op op)</td></tr>
 
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a251"></a><!-- doxytag: member="apply_operation_base.hpp::apply_operation_base" ref="a251" args="(Bits &amp;bits, std::size_t index, Op op)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="d771ee58462b8590bccbd0950c9b58d4"></a><!-- doxytag: member="apply_operation_base.hpp::apply_operation_base" ref="d771ee58462b8590bccbd0950c9b58d4" args="(Bits &amp;bits, std::size_t index, Op op)" -->
 template&lt;typename Types, typename Bits, typename Op&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Op::result_type GIL_FORCEINLINE&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::apply_operation_base</b> (Bits &amp;bits, std::size_t index, Op op)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Op::result_type GIL_FORCEINLINE&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>apply_operation_base</b> (Bits &amp;bits, std::size_t index, Op op)</td></tr>
 
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a252"></a><!-- doxytag: member="apply_operation_base.hpp::apply_operation_base" ref="a252" args="(const Bits1 &amp;bits1, std::size_t index1, const Bits2 &amp;bits2, std::size_t index2, Op op)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="40a9fc96031783e58fa0e39a08d2c5a4"></a><!-- doxytag: member="apply_operation_base.hpp::apply_operation_base" ref="40a9fc96031783e58fa0e39a08d2c5a4" args="(const Bits1 &amp;bits1, std::size_t index1, const Bits2 &amp;bits2, std::size_t index2, Op op)" -->
 template&lt;typename Types1, typename Types2, typename Bits1, typename Bits2, typename Op&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static Op::result_type GIL_FORCEINLINE&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::apply_operation_base</b> (const Bits1 &amp;bits1, std::size_t index1, const Bits2 &amp;bits2, std::size_t index2, Op op)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static Op::result_type <br>
+GIL_FORCEINLINE&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>apply_operation_base</b> (const Bits1 &amp;bits1, std::size_t index1, const Bits2 &amp;bits2, std::size_t index2, Op op)</td></tr>
 
 </table>
 <hr><h2>Define Documentation</h2>
-<a class="anchor" name="a3"></a><!-- doxytag: member="apply_operation_base.hpp::GIL_APPLY_FWD_OP" ref="a3" args="(z, N, text)" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+<a class="anchor" name="97e41768b29fa4d0c910608e9243ec8f"></a><!-- doxytag: member="apply_operation_base.hpp::GIL_APPLY_FWD_OP" ref="97e41768b29fa4d0c910608e9243ec8f" args="(z, N, text)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
         <tr>
- <td class="md" nowrap valign="top">#define GIL_APPLY_FWD_OP </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">z, <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>N, <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>text&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
+ <td class="memname">#define GIL_APPLY_FWD_OP </td>
+ <td>(</td>
+ <td class="paramtype">z, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">N, <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">text&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
         </tr>
       </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
+</div>
+<div class="memdoc">
 
 <p>
 <b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>apply_operation_fwd_fn&lt;BOOST_PP_ADD(N,1)&gt; { \
@@ -150,11 +141,12 @@
             <span class="keywordflow">throw</span>; \
         } \
     };
-</pre></div> </td>
- </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:18 2007 for Generic Image Library by&nbsp;
+</pre></div>
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:39 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0008.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0009.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0009.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0009.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : Histogram Example</TITLE>
+ <TITLE>Generic Image Library: Histogram Example</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,12 +31,12 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<h1><a class="anchor" name="BeforeAfterExample">Histogram Example</a></h1>Actual commercial code that computes the luminosity histogram (variable names have been changed and unrelated parts removed):<p>
+<!-- Generated by Doxygen 1.5.6 -->
+<div class="contents">
+<h1><a class="anchor" name="BeforeAfterExample">Histogram Example </a></h1>Actual commercial code that computes the luminosity histogram (variable names have been changed and unrelated parts removed):<p>
 <div class="fragment"><pre class="fragment"><span class="keywordtype">void</span> luminosity_hist(<span class="keyword">const</span> uint8 *r, <span class="keyword">const</span> uint8 *g, <span class="keyword">const</span> uint8 *b, <span class="keywordtype">int</span> rows, <span class="keywordtype">int</span> cols, <span class="keywordtype">int</span> sRowBytes, Histogram *hist)
 {
     <span class="keywordflow">for</span> (<span class="keywordtype">int</span> r=0; r&lt;rows; r++)
@@ -93,8 +91,9 @@
     hist
 );
 </pre></div><p>
-Note that no extra memory is allocated and no images are copied - GIL operates on the source pixels of <code>img</code> directly. <hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:19 2007 for Generic Image Library by&nbsp;
+Note that no extra memory is allocated and no images are copied - GIL operates on the source pixels of <code>img</code> directly. </div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:39 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0009.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0010.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0010.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0010.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : bit_aligned_pixel_iterator.hpp Source File</TITLE>
+ <TITLE>Generic Image Library: bit_aligned_pixel_iterator.hpp Source File</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,13 +31,13 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="dir_000000.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">gil</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="g_i_l_0076.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0079.html">gil</a>
+ </div>
+<div class="contents">
 <h1>bit_aligned_pixel_iterator.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
 <a name="l00002"></a>00002 <span class="comment"> Copyright 2005-2007 Adobe Systems Incorporated</span>
 <a name="l00003"></a>00003 <span class="comment"> </span>
@@ -58,153 +56,155 @@
 <a name="l00024"></a>00024
 <a name="l00025"></a>00025 <span class="preprocessor">#include &lt;functional&gt;</span>
 <a name="l00026"></a>00026 <span class="preprocessor">#include &lt;boost/iterator/iterator_facade.hpp&gt;</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="g_i_l_0089.html">gil_config.hpp</a>"</span>
-<a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="g_i_l_0013.html">bit_aligned_pixel_reference.hpp</a>"</span>
-<a name="l00029"></a>00029
-<a name="l00030"></a>00030 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
-<a name="l00031"></a>00031
-<a name="l00035"></a>00035
-<a name="l00042"></a>00042
-<a name="l00043"></a>00043 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
-<a name="l00044"></a><a class="code" href="g_i_l_0396.html">00044</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0396.html">bit_aligned_pixel_iterator</a> : <span class="keyword">public</span> iterator_facade&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;,
-<a name="l00045"></a>00045 typename NonAlignedPixelReference::value_type,
-<a name="l00046"></a>00046 random_access_traversal_tag,
-<a name="l00047"></a>00047 const NonAlignedPixelReference,
-<a name="l00048"></a>00048 typename NonAlignedPixelReference::bit_range_t::difference_type&gt; {
-<a name="l00049"></a>00049 <span class="keyword">private</span>:
-<a name="l00050"></a>00050 <span class="keyword">typedef</span> iterator_facade&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;,
-<a name="l00051"></a>00051 <span class="keyword">typename</span> NonAlignedPixelReference::value_type,
-<a name="l00052"></a>00052 random_access_traversal_tag,
-<a name="l00053"></a>00053 <span class="keyword">const</span> NonAlignedPixelReference,
-<a name="l00054"></a>00054 <span class="keyword">typename</span> NonAlignedPixelReference::bit_range_t::difference_type&gt; parent_t;
-<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ref&gt; <span class="keyword">friend</span> <span class="keyword">struct </span><a class="code" href="g_i_l_0396.html">bit_aligned_pixel_iterator</a>;
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 <span class="keyword">typedef</span> <span class="keyword">typename</span> NonAlignedPixelReference::bit_range_t bit_range_t;
-<a name="l00058"></a>00058 <span class="keyword">public</span>:
-<a name="l00059"></a>00059 <span class="keyword">typedef</span> <span class="keyword">typename</span> parent_t::difference_type difference_type;
-<a name="l00060"></a>00060 <span class="keyword">typedef</span> <span class="keyword">typename</span> parent_t::reference reference;
-<a name="l00061"></a>00061
-<a name="l00062"></a>00062 <a class="code" href="g_i_l_0396.html">bit_aligned_pixel_iterator</a>() {}
-<a name="l00063"></a>00063 <a class="code" href="g_i_l_0396.html">bit_aligned_pixel_iterator</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0396.html">bit_aligned_pixel_iterator</a>&amp; p) : _bit_range(p.<a class="code" href="g_i_l_0396.html#r0">_bit_range</a>) {}
-<a name="l00064"></a>00064 <a class="code" href="g_i_l_0396.html">bit_aligned_pixel_iterator</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="g_i_l_0396.html">bit_aligned_pixel_iterator</a>&amp; p) { _bit_range=p.<a class="code" href="g_i_l_0396.html#r0">_bit_range</a>; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ref&gt; <a class="code" href="g_i_l_0396.html">bit_aligned_pixel_iterator</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0396.html">bit_aligned_pixel_iterator&lt;Ref&gt;</a>&amp; p) : _bit_range(p.<a class="code" href="g_i_l_0396.html#r0">_bit_range</a>) {}
-<a name="l00067"></a>00067
-<a name="l00068"></a>00068 <a class="code" href="g_i_l_0396.html">bit_aligned_pixel_iterator</a>(reference* ref) : _bit_range(ref-&gt;bit_range()) {}
-<a name="l00069"></a>00069 <span class="keyword">explicit</span> <a class="code" href="g_i_l_0396.html">bit_aligned_pixel_iterator</a>(<span class="keyword">typename</span> bit_range_t::byte_t* data, <span class="keywordtype">int</span> bit_offset=0) : _bit_range(data,bit_offset) {}
-<a name="l00070"></a>00070
-<a name="l00073"></a><a class="code" href="g_i_l_0396.html#a6">00073</a> reference <a class="code" href="g_i_l_0396.html#a6">operator[]</a>(difference_type d)<span class="keyword"> const </span>{ <a class="code" href="g_i_l_0396.html">bit_aligned_pixel_iterator</a> it=*<span class="keyword">this</span>; it.<a class="code" href="g_i_l_0396.html#d4">advance</a>(d); <span class="keywordflow">return</span> *it; }
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075 reference operator-&gt;()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> **<span class="keyword">this</span>; }
-<a name="l00076"></a>00076 <span class="keyword">const</span> bit_range_t&amp; bit_range()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _bit_range; }
-<a name="l00077"></a>00077 bit_range_t&amp; bit_range() { <span class="keywordflow">return</span> _bit_range; }
-<a name="l00078"></a>00078 <span class="keyword">private</span>:
-<a name="l00079"></a>00079 bit_range_t _bit_range;
-<a name="l00080"></a>00080 BOOST_STATIC_CONSTANT(<span class="keywordtype">int</span>, bit_size = NonAlignedPixelReference::bit_size);
-<a name="l00081"></a>00081
-<a name="l00082"></a>00082 <span class="keyword">friend</span> <span class="keyword">class </span>boost::iterator_core_access;
-<a name="l00083"></a>00083 reference dereference()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NonAlignedPixelReference(_bit_range); }
-<a name="l00084"></a>00084 <span class="keywordtype">void</span> increment() { ++_bit_range; }
-<a name="l00085"></a>00085 <span class="keywordtype">void</span> decrement() { --_bit_range; }
-<a name="l00086"></a>00086 <span class="keywordtype">void</span> advance(difference_type d) { _bit_range.bit_advance(d*bit_size); }
-<a name="l00087"></a>00087
-<a name="l00088"></a>00088 difference_type distance_to(<span class="keyword">const</span> bit_aligned_pixel_iterator&amp; it)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _bit_range.bit_distance_to(it._bit_range) / bit_size; }
-<a name="l00089"></a>00089 <span class="keywordtype">bool</span> <a class="code" href="g_i_l_0209.html#ga5">equal</a>(<span class="keyword">const</span> bit_aligned_pixel_iterator&amp; it)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _bit_range==it._bit_range; }
-<a name="l00090"></a>00090 };
-<a name="l00091"></a>00091
-<a name="l00092"></a>00092 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
-<a name="l00093"></a>00093 <span class="keyword">struct </span>const_iterator_type&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; &gt; {
-<a name="l00094"></a>00094 <span class="keyword">typedef</span> bit_aligned_pixel_iterator&lt;typename NonAlignedPixelReference::const_reference&gt; type;
-<a name="l00095"></a>00095 };
-<a name="l00096"></a>00096
-<a name="l00097"></a>00097 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
-<a name="l00098"></a>00098 <span class="keyword">struct </span>iterator_is_mutable&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; &gt; : <span class="keyword">public</span> mpl::bool_&lt;NonAlignedPixelReference::is_mutable&gt; {};
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
-<a name="l00101"></a>00101 <span class="keyword">struct </span>is_iterator_adaptor&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; &gt; : <span class="keyword">public</span> mpl::false_ {};
-<a name="l00102"></a>00102
-<a name="l00104"></a>00104 <span class="comment">// PixelBasedConcept</span>
-<a name="l00106"></a>00106 <span class="comment"></span>
-<a name="l00107"></a>00107 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
-<a name="l00108"></a>00108 <span class="keyword">struct </span>color_space_type&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; &gt; : <span class="keyword">public</span> color_space_type&lt;NonAlignedPixelReference&gt; {};
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
-<a name="l00111"></a>00111 <span class="keyword">struct </span>channel_mapping_type&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; &gt; : <span class="keyword">public</span> channel_mapping_type&lt;NonAlignedPixelReference&gt; {};
-<a name="l00112"></a>00112
-<a name="l00113"></a>00113 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
-<a name="l00114"></a>00114 <span class="keyword">struct </span>is_planar&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; &gt; : <span class="keyword">public</span> is_planar&lt;NonAlignedPixelReference&gt; {}; <span class="comment">// == false</span>
-<a name="l00115"></a>00115
-<a name="l00117"></a>00117 <span class="comment">// MemoryBasedIteratorConcept</span>
-<a name="l00119"></a>00119 <span class="comment"></span>
-<a name="l00120"></a>00120 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
-<a name="l00121"></a>00121 <span class="keyword">struct </span>byte_to_memunit&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; &gt; : <span class="keyword">public</span> mpl::int_&lt;8&gt; {};
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
-<a name="l00124"></a>00124 <span class="keyword">inline</span> std::ptrdiff_t memunit_step(<span class="keyword">const</span> bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;&amp;) {
-<a name="l00125"></a>00125 <span class="keywordflow">return</span> NonAlignedPixelReference::bit_size;
-<a name="l00126"></a>00126 }
-<a name="l00127"></a>00127
-<a name="l00128"></a>00128 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
-<a name="l00129"></a>00129 <span class="keyword">inline</span> std::ptrdiff_t memunit_distance(<span class="keyword">const</span> bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;&amp; p1, <span class="keyword">const</span> bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;&amp; p2) {
-<a name="l00130"></a>00130 <span class="keywordflow">return</span> (p2.bit_range().current_byte() - p1.bit_range().current_byte())*8 + p2.bit_range().bit_offset() - p1.bit_range().bit_offset();
-<a name="l00131"></a>00131 }
-<a name="l00132"></a>00132
-<a name="l00133"></a>00133 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
-<a name="l00134"></a>00134 <span class="keyword">inline</span> <span class="keywordtype">void</span> memunit_advance(bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;&amp; p, std::ptrdiff_t diff) {
-<a name="l00135"></a>00135 p.bit_range().bit_advance(diff);
-<a name="l00136"></a>00136 }
-<a name="l00137"></a>00137
-<a name="l00138"></a>00138 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
-<a name="l00139"></a>00139 <span class="keyword">inline</span> bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; memunit_advanced(<span class="keyword">const</span> bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;&amp; p, std::ptrdiff_t diff) {
-<a name="l00140"></a>00140 bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; ret=p;
-<a name="l00141"></a>00141 memunit_advance(ret, diff);
-<a name="l00142"></a>00142 <span class="keywordflow">return</span> ret;
-<a name="l00143"></a>00143 }
-<a name="l00144"></a>00144
-<a name="l00145"></a>00145 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt; <span class="keyword">inline</span>
-<a name="l00146"></a>00146 NonAlignedPixelReference memunit_advanced_ref(bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; it, std::ptrdiff_t diff) {
-<a name="l00147"></a>00147 <span class="keywordflow">return</span> *memunit_advanced(it,diff);
-<a name="l00148"></a>00148 }
-<a name="l00150"></a>00150 <span class="comment">// HasDynamicXStepTypeConcept</span>
-<a name="l00152"></a>00152 <span class="comment"></span>
-<a name="l00153"></a>00153 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
-<a name="l00154"></a>00154 <span class="keyword">struct </span>dynamic_x_step_type&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; &gt; {
-<a name="l00155"></a>00155 <span class="keyword">typedef</span> memory_based_step_iterator&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; &gt; type;
-<a name="l00156"></a>00156 };
-<a name="l00157"></a>00157
-<a name="l00159"></a>00159 <span class="comment">// iterator_type_from_pixel</span>
-<a name="l00161"></a>00161 <span class="comment"></span>
-<a name="l00162"></a>00162 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M&gt;
-<a name="l00163"></a>00163 <span class="keyword">struct </span>iterator_type_from_pixel&lt;const bit_aligned_pixel_reference&lt;C,L,M&gt;,false,false,false&gt; {
-<a name="l00164"></a>00164 <span class="keyword">typedef</span> bit_aligned_pixel_iterator&lt;bit_aligned_pixel_reference&lt;C,L,false&gt; &gt; type;
-<a name="l00165"></a>00165 };
-<a name="l00166"></a>00166
-<a name="l00167"></a>00167 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M&gt;
-<a name="l00168"></a>00168 <span class="keyword">struct </span>iterator_type_from_pixel&lt;const bit_aligned_pixel_reference&lt;C,L,M&gt;,false,false,true&gt; {
-<a name="l00169"></a>00169 <span class="keyword">typedef</span> bit_aligned_pixel_iterator&lt;bit_aligned_pixel_reference&lt;C,L,true&gt; &gt; type;
-<a name="l00170"></a>00170 };
-<a name="l00171"></a>00171
-<a name="l00172"></a>00172 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M, <span class="keywordtype">bool</span> IsPlanar, <span class="keywordtype">bool</span> IsStep, <span class="keywordtype">bool</span> IsMutable&gt;
-<a name="l00173"></a>00173 <span class="keyword">struct </span>iterator_type_from_pixel&lt;bit_aligned_pixel_reference&lt;C,L,M&gt;,IsPlanar,IsStep,IsMutable&gt;
-<a name="l00174"></a>00174 : <span class="keyword">public</span> iterator_type_from_pixel&lt;const bit_aligned_pixel_reference&lt;C,L,M&gt;,IsPlanar,IsStep,IsMutable&gt; {};
-<a name="l00175"></a>00175
-<a name="l00176"></a>00176 } } <span class="comment">// namespace boost::gil</span>
-<a name="l00177"></a>00177
-<a name="l00178"></a>00178 <span class="keyword">namespace </span>std {
-<a name="l00179"></a>00179
-<a name="l00180"></a>00180 <span class="comment">// It is important to provide an overload of uninitialized_copy for bit_aligned_pixel_iterator. The default STL implementation calls placement new,</span>
-<a name="l00181"></a>00181 <span class="comment">// which is not defined for bit_aligned_pixel_iterator. </span>
-<a name="l00182"></a>00182 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
-<a name="l00183"></a>00183 <a class="code" href="g_i_l_0396.html">boost::gil::bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;</a> uninitialized_copy(<a class="code" href="g_i_l_0396.html">boost::gil::bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;</a> first,
-<a name="l00184"></a>00184 <a class="code" href="g_i_l_0396.html">boost::gil::bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;</a> last,
-<a name="l00185"></a>00185 <a class="code" href="g_i_l_0396.html">boost::gil::bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;</a> dst) {
-<a name="l00186"></a>00186 <span class="keywordflow">return</span> <a class="code" href="g_i_l_0209.html#ga0">std::copy</a>(first,last,dst);
-<a name="l00187"></a>00187 }
-<a name="l00188"></a>00188
-<a name="l00189"></a>00189 } <span class="comment">// namespace std</span>
-<a name="l00190"></a>00190 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:16 2007 for Generic Image Library by&nbsp;
+<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="g_i_l_0094.html" title="GIL configuration file.">gil_config.hpp</a>"</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="g_i_l_0013.html" title="A model of a heterogeneous pixel that is not byte aligned. Examples are bitmap (1-bit...">bit_aligned_pixel_reference.hpp</a>"</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="g_i_l_0243.html" title="pixel iterator support">pixel_iterator.hpp</a>"</span>
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
+<a name="l00032"></a>00032
+<a name="l00036"></a>00036
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
+<a name="l00045"></a><a class="code" href="g_i_l_0401.html">00045</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0401.html" title="An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept...">bit_aligned_pixel_iterator</a> : <span class="keyword">public</span> iterator_facade&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;,
+<a name="l00046"></a>00046 typename NonAlignedPixelReference::value_type,
+<a name="l00047"></a>00047 random_access_traversal_tag,
+<a name="l00048"></a>00048 const NonAlignedPixelReference,
+<a name="l00049"></a>00049 typename NonAlignedPixelReference::bit_range_t::difference_type&gt; {
+<a name="l00050"></a>00050 <span class="keyword">private</span>:
+<a name="l00051"></a>00051 <span class="keyword">typedef</span> iterator_facade&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;,
+<a name="l00052"></a>00052 <span class="keyword">typename</span> NonAlignedPixelReference::value_type,
+<a name="l00053"></a>00053 random_access_traversal_tag,
+<a name="l00054"></a>00054 <span class="keyword">const</span> NonAlignedPixelReference,
+<a name="l00055"></a>00055 <span class="keyword">typename</span> NonAlignedPixelReference::bit_range_t::difference_type&gt; parent_t;
+<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ref&gt; <span class="keyword">friend</span> <span class="keyword">struct </span><a class="code" href="g_i_l_0401.html" title="An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept...">bit_aligned_pixel_iterator</a>;
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="keyword">typedef</span> <span class="keyword">typename</span> NonAlignedPixelReference::bit_range_t bit_range_t;
+<a name="l00059"></a>00059 <span class="keyword">public</span>:
+<a name="l00060"></a>00060 <span class="keyword">typedef</span> <span class="keyword">typename</span> parent_t::difference_type difference_type;
+<a name="l00061"></a>00061 <span class="keyword">typedef</span> <span class="keyword">typename</span> parent_t::reference reference;
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <a class="code" href="g_i_l_0401.html" title="An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept...">bit_aligned_pixel_iterator</a>() {}
+<a name="l00064"></a>00064 <a class="code" href="g_i_l_0401.html" title="An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept...">bit_aligned_pixel_iterator</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0401.html" title="An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept...">bit_aligned_pixel_iterator</a>&amp; p) : _bit_range(p.<a class="code" href="g_i_l_0401.html#7495e83a5b66f6f3825fe94aca667c72">_bit_range</a>) {}
+<a name="l00065"></a>00065 <a class="code" href="g_i_l_0401.html" title="An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept...">bit_aligned_pixel_iterator</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="g_i_l_0401.html" title="An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept...">bit_aligned_pixel_iterator</a>&amp; p) { _bit_range=p.<a class="code" href="g_i_l_0401.html#7495e83a5b66f6f3825fe94aca667c72">_bit_range</a>; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ref&gt; <a class="code" href="g_i_l_0401.html" title="An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept...">bit_aligned_pixel_iterator</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0401.html" title="An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept...">bit_aligned_pixel_iterator&lt;Ref&gt;</a>&amp; p) : _bit_range(p.<a class="code" href="g_i_l_0401.html#7495e83a5b66f6f3825fe94aca667c72">_bit_range</a>) {}
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <a class="code" href="g_i_l_0401.html" title="An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept...">bit_aligned_pixel_iterator</a>(reference* ref) : _bit_range(ref-&gt;bit_range()) {}
+<a name="l00070"></a>00070 <span class="keyword">explicit</span> <a class="code" href="g_i_l_0401.html" title="An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept...">bit_aligned_pixel_iterator</a>(<span class="keyword">typename</span> bit_range_t::byte_t* data, <span class="keywordtype">int</span> bit_offset=0) : _bit_range(data,bit_offset) {}
+<a name="l00071"></a>00071
+<a name="l00074"></a><a class="code" href="g_i_l_0401.html#de1279c4ed222b6efb0867c038765ea1">00074</a> reference <a class="code" href="g_i_l_0401.html#de1279c4ed222b6efb0867c038765ea1">operator[]</a>(difference_type d)<span class="keyword"> const </span>{ <a class="code" href="g_i_l_0401.html" title="An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept...">bit_aligned_pixel_iterator</a> it=*<span class="keyword">this</span>; it.<a class="code" href="g_i_l_0401.html#7b8f8a4374e44f45621eeb1392664f66">advance</a>(d); <span class="keywordflow">return</span> *it; }
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 reference operator-&gt;()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> **<span class="keyword">this</span>; }
+<a name="l00077"></a>00077 <span class="keyword">const</span> bit_range_t&amp; bit_range()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _bit_range; }
+<a name="l00078"></a>00078 bit_range_t&amp; bit_range() { <span class="keywordflow">return</span> _bit_range; }
+<a name="l00079"></a>00079 <span class="keyword">private</span>:
+<a name="l00080"></a>00080 bit_range_t _bit_range;
+<a name="l00081"></a>00081 BOOST_STATIC_CONSTANT(<span class="keywordtype">int</span>, bit_size = NonAlignedPixelReference::bit_size);
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="keyword">friend</span> <span class="keyword">class </span>boost::iterator_core_access;
+<a name="l00084"></a>00084 reference dereference()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NonAlignedPixelReference(_bit_range); }
+<a name="l00085"></a>00085 <span class="keywordtype">void</span> increment() { ++_bit_range; }
+<a name="l00086"></a>00086 <span class="keywordtype">void</span> decrement() { --_bit_range; }
+<a name="l00087"></a>00087 <span class="keywordtype">void</span> advance(difference_type d) { _bit_range.bit_advance(d*bit_size); }
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 difference_type distance_to(<span class="keyword">const</span> bit_aligned_pixel_iterator&amp; it)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _bit_range.bit_distance_to(it._bit_range) / bit_size; }
+<a name="l00090"></a>00090 <span class="keywordtype">bool</span> <a class="code" href="g_i_l_0214.html#g4ed3cf71cb0fbf435d1389df8567a4e5" title="std::equal(I1,I1,I2) with I1 and I2 being a iterator_from_2d">equal</a>(<span class="keyword">const</span> bit_aligned_pixel_iterator&amp; it)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _bit_range==it._bit_range; }
+<a name="l00091"></a>00091 };
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
+<a name="l00094"></a>00094 <span class="keyword">struct </span>const_iterator_type&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; &gt; {
+<a name="l00095"></a>00095 <span class="keyword">typedef</span> bit_aligned_pixel_iterator&lt;typename NonAlignedPixelReference::const_reference&gt; type;
+<a name="l00096"></a>00096 };
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
+<a name="l00099"></a>00099 <span class="keyword">struct </span>iterator_is_mutable&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; &gt; : <span class="keyword">public</span> mpl::bool_&lt;NonAlignedPixelReference::is_mutable&gt; {};
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
+<a name="l00102"></a>00102 <span class="keyword">struct </span>is_iterator_adaptor&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; &gt; : <span class="keyword">public</span> mpl::false_ {};
+<a name="l00103"></a>00103
+<a name="l00105"></a>00105 <span class="comment">// PixelBasedConcept</span>
+<a name="l00107"></a>00107 <span class="comment"></span>
+<a name="l00108"></a>00108 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
+<a name="l00109"></a>00109 <span class="keyword">struct </span>color_space_type&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; &gt; : <span class="keyword">public</span> color_space_type&lt;NonAlignedPixelReference&gt; {};
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
+<a name="l00112"></a>00112 <span class="keyword">struct </span>channel_mapping_type&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; &gt; : <span class="keyword">public</span> channel_mapping_type&lt;NonAlignedPixelReference&gt; {};
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
+<a name="l00115"></a>00115 <span class="keyword">struct </span>is_planar&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; &gt; : <span class="keyword">public</span> is_planar&lt;NonAlignedPixelReference&gt; {}; <span class="comment">// == false</span>
+<a name="l00116"></a>00116
+<a name="l00118"></a>00118 <span class="comment">// MemoryBasedIteratorConcept</span>
+<a name="l00120"></a>00120 <span class="comment"></span>
+<a name="l00121"></a>00121 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
+<a name="l00122"></a>00122 <span class="keyword">struct </span>byte_to_memunit&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; &gt; : <span class="keyword">public</span> mpl::int_&lt;8&gt; {};
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
+<a name="l00125"></a>00125 <span class="keyword">inline</span> std::ptrdiff_t memunit_step(<span class="keyword">const</span> bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;&amp;) {
+<a name="l00126"></a>00126 <span class="keywordflow">return</span> NonAlignedPixelReference::bit_size;
+<a name="l00127"></a>00127 }
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
+<a name="l00130"></a>00130 <span class="keyword">inline</span> std::ptrdiff_t memunit_distance(<span class="keyword">const</span> bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;&amp; p1, <span class="keyword">const</span> bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;&amp; p2) {
+<a name="l00131"></a>00131 <span class="keywordflow">return</span> (p2.bit_range().current_byte() - p1.bit_range().current_byte())*8 + p2.bit_range().bit_offset() - p1.bit_range().bit_offset();
+<a name="l00132"></a>00132 }
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
+<a name="l00135"></a>00135 <span class="keyword">inline</span> <span class="keywordtype">void</span> memunit_advance(bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;&amp; p, std::ptrdiff_t diff) {
+<a name="l00136"></a>00136 p.bit_range().bit_advance(diff);
+<a name="l00137"></a>00137 }
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
+<a name="l00140"></a>00140 <span class="keyword">inline</span> bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; memunit_advanced(<span class="keyword">const</span> bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;&amp; p, std::ptrdiff_t diff) {
+<a name="l00141"></a>00141 bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; ret=p;
+<a name="l00142"></a>00142 memunit_advance(ret, diff);
+<a name="l00143"></a>00143 <span class="keywordflow">return</span> ret;
+<a name="l00144"></a>00144 }
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt; <span class="keyword">inline</span>
+<a name="l00147"></a>00147 NonAlignedPixelReference memunit_advanced_ref(bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; it, std::ptrdiff_t diff) {
+<a name="l00148"></a>00148 <span class="keywordflow">return</span> *memunit_advanced(it,diff);
+<a name="l00149"></a>00149 }
+<a name="l00151"></a>00151 <span class="comment">// HasDynamicXStepTypeConcept</span>
+<a name="l00153"></a>00153 <span class="comment"></span>
+<a name="l00154"></a>00154 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
+<a name="l00155"></a>00155 <span class="keyword">struct </span>dynamic_x_step_type&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; &gt; {
+<a name="l00156"></a>00156 <span class="keyword">typedef</span> memory_based_step_iterator&lt;bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt; &gt; type;
+<a name="l00157"></a>00157 };
+<a name="l00158"></a>00158
+<a name="l00160"></a>00160 <span class="comment">// iterator_type_from_pixel</span>
+<a name="l00162"></a>00162 <span class="comment"></span>
+<a name="l00163"></a>00163 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M&gt;
+<a name="l00164"></a>00164 <span class="keyword">struct </span>iterator_type_from_pixel&lt;const bit_aligned_pixel_reference&lt;B,C,L,M&gt;,false,false,false&gt; {
+<a name="l00165"></a>00165 <span class="keyword">typedef</span> bit_aligned_pixel_iterator&lt;bit_aligned_pixel_reference&lt;B,C,L,false&gt; &gt; type;
+<a name="l00166"></a>00166 };
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M&gt;
+<a name="l00169"></a>00169 <span class="keyword">struct </span>iterator_type_from_pixel&lt;const bit_aligned_pixel_reference&lt;B,C,L,M&gt;,false,false,true&gt; {
+<a name="l00170"></a>00170 <span class="keyword">typedef</span> bit_aligned_pixel_iterator&lt;bit_aligned_pixel_reference&lt;B,C,L,true&gt; &gt; type;
+<a name="l00171"></a>00171 };
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M, <span class="keywordtype">bool</span> IsPlanar, <span class="keywordtype">bool</span> IsStep, <span class="keywordtype">bool</span> IsMutable&gt;
+<a name="l00174"></a>00174 <span class="keyword">struct </span>iterator_type_from_pixel&lt;bit_aligned_pixel_reference&lt;B,C,L,M&gt;,IsPlanar,IsStep,IsMutable&gt;
+<a name="l00175"></a>00175 : <span class="keyword">public</span> iterator_type_from_pixel&lt;const bit_aligned_pixel_reference&lt;B,C,L,M&gt;,IsPlanar,IsStep,IsMutable&gt; {};
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177 } } <span class="comment">// namespace boost::gil</span>
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179 <span class="keyword">namespace </span>std {
+<a name="l00180"></a>00180
+<a name="l00181"></a>00181 <span class="comment">// It is important to provide an overload of uninitialized_copy for bit_aligned_pixel_iterator. The default STL implementation calls placement new,</span>
+<a name="l00182"></a>00182 <span class="comment">// which is not defined for bit_aligned_pixel_iterator. </span>
+<a name="l00183"></a>00183 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> NonAlignedPixelReference&gt;
+<a name="l00184"></a>00184 <a class="code" href="g_i_l_0401.html" title="An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept...">boost::gil::bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;</a> uninitialized_copy(<a class="code" href="g_i_l_0401.html" title="An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept...">boost::gil::bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;</a> first,
+<a name="l00185"></a>00185 <a class="code" href="g_i_l_0401.html" title="An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept...">boost::gil::bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;</a> last,
+<a name="l00186"></a>00186 <a class="code" href="g_i_l_0401.html" title="An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept...">boost::gil::bit_aligned_pixel_iterator&lt;NonAlignedPixelReference&gt;</a> dst) {
+<a name="l00187"></a>00187 <span class="keywordflow">return</span> <a class="code" href="g_i_l_0214.html#g4e8a9e1bb08e76c93dc56a4626231ee1" title="Copy when both src and dst are planar pointers is copy for each channel.">std::copy</a>(first,last,dst);
+<a name="l00188"></a>00188 }
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190 } <span class="comment">// namespace std</span>
+<a name="l00191"></a>00191 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:37 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0010.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0011.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0011.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0011.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : bit_aligned_pixel_iterator.hpp File Reference</TITLE>
+ <TITLE>Generic Image Library: bit_aligned_pixel_iterator.hpp File Reference</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,26 +31,27 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="dir_000000.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">gil</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="g_i_l_0076.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0079.html">gil</a>
+ </div>
+<div class="contents">
 <h1>bit_aligned_pixel_iterator.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
 A model of a heterogeneous pixel that is not byte aligned. Examples are bitmap (1-bit pixels) or 6-bit RGB (222).
 <p>
-<dl compact><dt><b>Author:</b></dt><dd>Lubomir Bourdev and Hailin Jin <br>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Lubomir Bourdev and Hailin Jin <br>
  Adobe Systems Incorporated </dd></dl>
-<dl compact><dt><b>Date:</b></dt><dd>2005-2007 <br>
- Last updated on September 28, 2006</dd></dl>
+<dl class="date" compact><dt><b>Date:</b></dt><dd>2005-2007 <br>
+ Last updated on September 28, 2006 </dd></dl>
 
 <p>
 <code>#include &lt;functional&gt;</code><br>
 <code>#include &lt;boost/iterator/iterator_facade.hpp&gt;</code><br>
-<code>#include &quot;<a class="el" href="g_i_l_0088.html">gil_config.hpp</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="g_i_l_0093.html">gil_config.hpp</a>&quot;</code><br>
 <code>#include &quot;<a class="el" href="g_i_l_0012.html">bit_aligned_pixel_reference.hpp</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="g_i_l_0242.html">pixel_iterator.hpp</a>&quot;</code><br>
 
 <p>
 <a href="g_i_l_0010.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -65,39 +64,40 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>std</b></td></tr>
 
 <tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0396.html">bit_aligned_pixel_iterator</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0401.html">bit_aligned_pixel_iterator</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An iterator over non-byte-aligned pixels. Models <a class="el" href="g_i_l_0347.html">PixelIteratorConcept</a>, <a class="el" href="g_i_l_0339.html">PixelBasedConcept</a>, <a class="el" href="g_i_l_0307.html">MemoryBasedIteratorConcept</a>, <a class="el" href="g_i_l_0285.html">HasDynamicXStepTypeConcept</a>. More...<br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An iterator over non-byte-aligned pixels. Models <a class="el" href="g_i_l_0352.html" title="An STL random access traversal iterator over a model of PixelConcept.">PixelIteratorConcept</a>, <a class="el" href="g_i_l_0344.html" title="Concept for all pixel-based GIL constructs, such as pixels, iterators, locators,...">PixelBasedConcept</a>, <a class="el" href="g_i_l_0312.html" title="Concept of a random-access iterator that can be advanced in memory units (bytes or...">MemoryBasedIteratorConcept</a>, <a class="el" href="g_i_l_0290.html" title="Concept for iterators, locators and views that can define a type just like the given...">HasDynamicXStepTypeConcept</a>. More...<br></td></tr>
 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a36"></a><!-- doxytag: member="bit_aligned_pixel_iterator.hpp::memunit_step" ref="a36" args="(const bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="aae57ab198c9fd1650f651da4445839a"></a><!-- doxytag: member="bit_aligned_pixel_iterator.hpp::memunit_step" ref="aae57ab198c9fd1650f651da4445839a" args="(const bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;)" -->
 template&lt;typename NonAlignedPixelReference&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::ptrdiff_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::memunit_step</b> (const bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::ptrdiff_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>memunit_step</b> (const bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;)</td></tr>
 
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a37"></a><!-- doxytag: member="bit_aligned_pixel_iterator.hpp::memunit_distance" ref="a37" args="(const bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;p1, const bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;p2)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="093924441b779fdb603f372a0bbd52e9"></a><!-- doxytag: member="bit_aligned_pixel_iterator.hpp::memunit_distance" ref="093924441b779fdb603f372a0bbd52e9" args="(const bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;p1, const bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;p2)" -->
 template&lt;typename NonAlignedPixelReference&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::ptrdiff_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::memunit_distance</b> (const bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;p1, const bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;p2)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::ptrdiff_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>memunit_distance</b> (const bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;p1, const bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;p2)</td></tr>
 
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a38"></a><!-- doxytag: member="bit_aligned_pixel_iterator.hpp::memunit_advance" ref="a38" args="(bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;p, std::ptrdiff_t diff)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="9661e35c95d731976265124e618c08ac"></a><!-- doxytag: member="bit_aligned_pixel_iterator.hpp::memunit_advance" ref="9661e35c95d731976265124e618c08ac" args="(bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;p, std::ptrdiff_t diff)" -->
 template&lt;typename NonAlignedPixelReference&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::memunit_advance</b> (bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;p, std::ptrdiff_t diff)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>memunit_advance</b> (bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;p, std::ptrdiff_t diff)</td></tr>
 
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a39"></a><!-- doxytag: member="bit_aligned_pixel_iterator.hpp::memunit_advanced" ref="a39" args="(const bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;p, std::ptrdiff_t diff)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="1295e2fa7c0255f4ee542facfce397a6"></a><!-- doxytag: member="bit_aligned_pixel_iterator.hpp::memunit_advanced" ref="1295e2fa7c0255f4ee542facfce397a6" args="(const bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;p, std::ptrdiff_t diff)" -->
 template&lt;typename NonAlignedPixelReference&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bit_aligned_pixel_iterator&lt;<br>
- NonAlignedPixelReference &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::memunit_advanced</b> (const bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;p, std::ptrdiff_t diff)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bit_aligned_pixel_iterator<br>
+&lt; NonAlignedPixelReference &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>memunit_advanced</b> (const bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; &amp;p, std::ptrdiff_t diff)</td></tr>
 
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a40"></a><!-- doxytag: member="bit_aligned_pixel_iterator.hpp::memunit_advanced_ref" ref="a40" args="(bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; it, std::ptrdiff_t diff)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="67fd9a9f0ac09540171f1df49e62185a"></a><!-- doxytag: member="bit_aligned_pixel_iterator.hpp::memunit_advanced_ref" ref="67fd9a9f0ac09540171f1df49e62185a" args="(bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; it, std::ptrdiff_t diff)" -->
 template&lt;typename NonAlignedPixelReference&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">NonAlignedPixelReference&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::memunit_advanced_ref</b> (bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; it, std::ptrdiff_t diff)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">NonAlignedPixelReference&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>memunit_advanced_ref</b> (bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; it, std::ptrdiff_t diff)</td></tr>
 
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a6"></a><!-- doxytag: member="bit_aligned_pixel_iterator.hpp::uninitialized_copy" ref="a6" args="(boost::gil::bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; first, boost::gil::bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; last, boost::gil::bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; dst)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="905a177965f97dbba60dce5e93f7216e"></a><!-- doxytag: member="bit_aligned_pixel_iterator.hpp::uninitialized_copy" ref="905a177965f97dbba60dce5e93f7216e" args="(boost::gil::bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; first, boost::gil::bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; last, boost::gil::bit_aligned_pixel_iterator&lt; NonAlignedPixelReference &gt; dst)" -->
 template&lt;typename NonAlignedPixelReference&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="g_i_l_0396.html">boost::gil::bit_aligned_pixel_iterator</a>&lt;<br>
- NonAlignedPixelReference &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>std::uninitialized_copy</b> (<a class="el" href="g_i_l_0396.html">boost::gil::bit_aligned_pixel_iterator</a>&lt; NonAlignedPixelReference &gt; first, <a class="el" href="g_i_l_0396.html">boost::gil::bit_aligned_pixel_iterator</a>&lt; NonAlignedPixelReference &gt; last, <a class="el" href="g_i_l_0396.html">boost::gil::bit_aligned_pixel_iterator</a>&lt; NonAlignedPixelReference &gt; dst)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="g_i_l_0401.html">boost::gil::bit_aligned_pixel_iterator</a><br>
+&lt; NonAlignedPixelReference &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>uninitialized_copy</b> (<a class="el" href="g_i_l_0401.html">boost::gil::bit_aligned_pixel_iterator</a>&lt; NonAlignedPixelReference &gt; first, <a class="el" href="g_i_l_0401.html">boost::gil::bit_aligned_pixel_iterator</a>&lt; NonAlignedPixelReference &gt; last, <a class="el" href="g_i_l_0401.html">boost::gil::bit_aligned_pixel_iterator</a>&lt; NonAlignedPixelReference &gt; dst)</td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:18 2007 for Generic Image Library by&nbsp;
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:39 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0011.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0012.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0012.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0012.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : bit_aligned_pixel_reference.hpp Source File</TITLE>
+ <TITLE>Generic Image Library: bit_aligned_pixel_reference.hpp Source File</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,13 +31,13 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="dir_000000.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">gil</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="g_i_l_0076.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0079.html">gil</a>
+ </div>
+<div class="contents">
 <h1>bit_aligned_pixel_reference.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
 <a name="l00002"></a>00002 <span class="comment"> Copyright 2005-2007 Adobe Systems Incorporated</span>
 <a name="l00003"></a>00003 <span class="comment"> </span>
@@ -47,7 +45,7 @@
 <a name="l00005"></a>00005 <span class="comment"> Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
 <a name="l00006"></a>00006 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt).</span>
 <a name="l00007"></a>00007 <span class="comment"></span>
-<a name="l00008"></a>00008 <span class="comment"> See http://opensource.adobe.com/gil for most recent version including documentation.</span>
+<a name="l00008"></a>00008 <span class="comment"> See http://stlab.adobe.com/gil for most recent version including documentation.</span>
 <a name="l00009"></a>00009 <span class="comment">*/</span>
 <a name="l00010"></a>00010
 <a name="l00011"></a>00011 <span class="comment">/*************************************************************************************************/</span>
@@ -64,9 +62,9 @@
 <a name="l00030"></a>00030 <span class="preprocessor">#include &lt;boost/mpl/plus.hpp&gt;</span>
 <a name="l00031"></a>00031 <span class="preprocessor">#include &lt;boost/mpl/push_back.hpp&gt;</span>
 <a name="l00032"></a>00032 <span class="preprocessor">#include &lt;boost/mpl/vector.hpp&gt;</span>
-<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="g_i_l_0089.html">gil_config.hpp</a>"</span>
-<a name="l00034"></a>00034 <span class="preprocessor">#include "<a class="code" href="pixel_8hpp.html">pixel.hpp</a>"</span>
-<a name="l00035"></a>00035 <span class="preprocessor">#include "<a class="code" href="channel_8hpp.html">channel.hpp</a>"</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="g_i_l_0094.html" title="GIL configuration file.">gil_config.hpp</a>"</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include "<a class="code" href="pixel_8hpp.html" title="pixel class and related utilities">pixel.hpp</a>"</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include "<a class="code" href="channel_8hpp.html" title="Channel utilities.">channel.hpp</a>"</span>
 <a name="l00036"></a>00036
 <a name="l00037"></a>00037 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
 <a name="l00038"></a>00038
@@ -121,179 +119,185 @@
 <a name="l00092"></a>00092
 <a name="l00116"></a>00116
 <a name="l00117"></a>00117
-<a name="l00118"></a>00118 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> ChannelBitSizes, <span class="comment">// MPL integral vector defining the number of bits for each channel. For example, for 565RGB, vector_c&lt;int,5,6,5&gt;</span>
-<a name="l00119"></a>00119 <span class="keyword">typename</span> Layout,
-<a name="l00120"></a>00120 <span class="keywordtype">bool</span> IsMutable&gt;
-<a name="l00121"></a><a class="code" href="g_i_l_0398.html">00121</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0398.html">bit_aligned_pixel_reference</a> {
-<a name="l00122"></a>00122 BOOST_STATIC_CONSTANT(<span class="keywordtype">int</span>, bit_size = (mpl::accumulate&lt;ChannelBitSizes, mpl::int_&lt;0&gt;, mpl::plus&lt;mpl::_1, mpl::_2&gt; &gt;::type::value));
-<a name="l00123"></a>00123 <span class="keyword">typedef</span> bit_range&lt;bit_size,IsMutable&gt; bit_range_t;
-<a name="l00124"></a>00124 <span class="keyword">typedef</span> <span class="keyword">typename</span> detail::min_fast_uint&lt;bit_size&gt;::type bitfield_t;
-<a name="l00125"></a>00125 <span class="keyword">typedef</span> <span class="keyword">typename</span> mpl::if_c&lt;IsMutable,unsigned char*,const unsigned char*&gt;::type data_ptr_t;
-<a name="l00126"></a>00126
-<a name="l00127"></a>00127 <span class="keyword">typedef</span> Layout layout_t;
-<a name="l00128"></a>00128
-<a name="l00129"></a>00129 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="g_i_l_0591.html">packed_pixel_type&lt;bitfield_t,ChannelBitSizes,Layout&gt;</a>::type <a class="code" href="g_i_l_0589.html">value_type</a>;
-<a name="l00130"></a>00130 <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="g_i_l_0398.html">bit_aligned_pixel_reference</a> <a class="code" href="g_i_l_0398.html">reference</a>;
-<a name="l00131"></a>00131 <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="g_i_l_0398.html">bit_aligned_pixel_reference&lt;ChannelBitSizes,Layout,false&gt;</a> <a class="code" href="g_i_l_0398.html">const_reference</a>;
-<a name="l00132"></a>00132
-<a name="l00133"></a>00133 BOOST_STATIC_CONSTANT(<span class="keywordtype">bool</span>, is_mutable = IsMutable);
-<a name="l00134"></a>00134
-<a name="l00135"></a>00135 <a class="code" href="g_i_l_0398.html">bit_aligned_pixel_reference</a>(){}
-<a name="l00136"></a>00136 <a class="code" href="g_i_l_0398.html">bit_aligned_pixel_reference</a>(data_ptr_t data_ptr, <span class="keywordtype">int</span> bit_offset) : _bit_range(data_ptr, bit_offset) {}
-<a name="l00137"></a>00137 <span class="keyword">explicit</span> <a class="code" href="g_i_l_0398.html">bit_aligned_pixel_reference</a>(<span class="keyword">const</span> bit_range_t&amp; bit_range) : _bit_range(bit_range) {}
-<a name="l00138"></a>00138 <span class="keyword">template</span> &lt;<span class="keywordtype">bool</span> IsMutable2&gt; <a class="code" href="g_i_l_0398.html">bit_aligned_pixel_reference</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0398.html">bit_aligned_pixel_reference&lt;ChannelBitSizes,Layout,IsMutable2&gt;</a>&amp; p) : _bit_range(p.<a class="code" href="g_i_l_0398.html#r0">_bit_range</a>) {}
-<a name="l00139"></a>00139
-<a name="l00140"></a>00140 <span class="comment">// Grayscale references can be constructed from the channel reference</span>
-<a name="l00141"></a>00141 <span class="keyword">explicit</span> bit_aligned_pixel_reference(<span class="keyword">const</span> <span class="keyword">typename</span> kth_element_type&lt;bit_aligned_pixel_reference,0&gt;::type channel0) : _bit_range(static_cast&lt;data_ptr_t&gt;(&amp;channel0), channel0.first_bit()) {
-<a name="l00142"></a>00142 BOOST_STATIC_ASSERT((<a class="code" href="g_i_l_0575.html">num_channels&lt;bit_aligned_pixel_reference&gt;</a>::value==1));
-<a name="l00143"></a>00143 }
-<a name="l00144"></a>00144
-<a name="l00145"></a>00145 <span class="comment">// Construct from another compatible pixel type</span>
-<a name="l00146"></a>00146 bit_aligned_pixel_reference(<span class="keyword">const</span> bit_aligned_pixel_reference&amp; p) : _bit_range(p.<a class="code" href="g_i_l_0398.html#r0">_bit_range</a>) {}
-<a name="l00147"></a>00147 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BF, <span class="keyword">typename</span> CR&gt; bit_aligned_pixel_reference(<a class="code" href="g_i_l_0589.html">packed_pixel&lt;BF,CR,Layout&gt;</a>&amp; p) : _bit_range(static_cast&lt;data_ptr_t&gt;(&amp;at_c&lt;0&gt;(p)), at_c&lt;0&gt;(p).first_bit()) {
-<a name="l00148"></a>00148 check_compatible&lt;packed_pixel&lt;BF,CR,Layout&gt; &gt;();
-<a name="l00149"></a>00149 }
-<a name="l00150"></a>00150
-<a name="l00151"></a>00151 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt; <span class="keyword">const</span> bit_aligned_pixel_reference&amp; operator=(<span class="keyword">const</span> P&amp; p)<span class="keyword"> const </span>{ check_compatible&lt;P&gt;(); static_copy(p,*<span class="keyword">this</span>); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00118"></a>00118 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BitField,
+<a name="l00119"></a>00119 <span class="keyword">typename</span> ChannelBitSizes, <span class="comment">// MPL integral vector defining the number of bits for each channel. For example, for 565RGB, vector_c&lt;int,5,6,5&gt;</span>
+<a name="l00120"></a>00120 <span class="keyword">typename</span> Layout,
+<a name="l00121"></a>00121 <span class="keywordtype">bool</span> IsMutable&gt;
+<a name="l00122"></a><a class="code" href="g_i_l_0403.html">00122</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">bit_aligned_pixel_reference</a> {
+<a name="l00123"></a>00123 BOOST_STATIC_CONSTANT(<span class="keywordtype">int</span>, bit_size = (mpl::accumulate&lt;ChannelBitSizes, mpl::int_&lt;0&gt;, mpl::plus&lt;mpl::_1, mpl::_2&gt; &gt;::type::value));
+<a name="l00124"></a>00124 <span class="keyword">typedef</span> boost::gil::bit_range&lt;bit_size,IsMutable&gt; bit_range_t;
+<a name="l00125"></a>00125 <span class="keyword">typedef</span> BitField bitfield_t;
+<a name="l00126"></a>00126 <span class="keyword">typedef</span> <span class="keyword">typename</span> mpl::if_c&lt;IsMutable,unsigned char*,const unsigned char*&gt;::type data_ptr_t;
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="keyword">typedef</span> Layout layout_t;
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="g_i_l_0597.html" title="Returns the type of a packed pixel given its bitfield type, the bit size of its channels...">packed_pixel_type&lt;bitfield_t,ChannelBitSizes,Layout&gt;::type</a> <a class="code" href="g_i_l_0595.html" title="Heterogeneous pixel value whose channel references can be constructed from the pixel...">value_type</a>;
+<a name="l00131"></a>00131 <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">bit_aligned_pixel_reference</a> <a class="code" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">reference</a>;
+<a name="l00132"></a>00132 <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">bit_aligned_pixel_reference&lt;BitField,ChannelBitSizes,Layout,false&gt;</a> <a class="code" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">const_reference</a>;
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134 BOOST_STATIC_CONSTANT(<span class="keywordtype">bool</span>, is_mutable = IsMutable);
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <a class="code" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">bit_aligned_pixel_reference</a>(){}
+<a name="l00137"></a>00137 <a class="code" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">bit_aligned_pixel_reference</a>(data_ptr_t data_ptr, <span class="keywordtype">int</span> bit_offset) : _bit_range(data_ptr, bit_offset) {}
+<a name="l00138"></a>00138 <span class="keyword">explicit</span> <a class="code" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">bit_aligned_pixel_reference</a>(<span class="keyword">const</span> bit_range_t&amp; bit_range) : _bit_range(bit_range) {}
+<a name="l00139"></a>00139 <span class="keyword">template</span> &lt;<span class="keywordtype">bool</span> IsMutable2&gt; <a class="code" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">bit_aligned_pixel_reference</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">bit_aligned_pixel_reference&lt;BitField,ChannelBitSizes,Layout,IsMutable2&gt;</a>&amp; p) : _bit_range(p.<a class="code" href="g_i_l_0403.html#7495e83a5b66f6f3825fe94aca667c72">_bit_range</a>) {}
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 <span class="comment">// Grayscale references can be constructed from the channel reference</span>
+<a name="l00142"></a>00142 <span class="keyword">explicit</span> bit_aligned_pixel_reference(<span class="keyword">const</span> <span class="keyword">typename</span> kth_element_type&lt;bit_aligned_pixel_reference,0&gt;::type channel0) : _bit_range(static_cast&lt;data_ptr_t&gt;(&amp;channel0), channel0.first_bit()) {
+<a name="l00143"></a>00143 BOOST_STATIC_ASSERT((<a class="code" href="g_i_l_0581.html" title="Returns the number of channels of a pixel-based GIL construct.">num_channels&lt;bit_aligned_pixel_reference&gt;::value</a>==1));
+<a name="l00144"></a>00144 }
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 <span class="comment">// Construct from another compatible pixel type</span>
+<a name="l00147"></a>00147 bit_aligned_pixel_reference(<span class="keyword">const</span> bit_aligned_pixel_reference&amp; p) : _bit_range(p.<a class="code" href="g_i_l_0403.html#7495e83a5b66f6f3825fe94aca667c72">_bit_range</a>) {}
+<a name="l00148"></a>00148 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BF, <span class="keyword">typename</span> CR&gt; bit_aligned_pixel_reference(<a class="code" href="g_i_l_0595.html" title="Heterogeneous pixel value whose channel references can be constructed from the pixel...">packed_pixel&lt;BF,CR,Layout&gt;</a>&amp; p) : _bit_range(static_cast&lt;data_ptr_t&gt;(&amp;at_c&lt;0&gt;(p)), at_c&lt;0&gt;(p).first_bit()) {
+<a name="l00149"></a>00149 check_compatible&lt;packed_pixel&lt;BF,CR,Layout&gt; &gt;();
+<a name="l00150"></a>00150 }
+<a name="l00151"></a>00151
 <a name="l00152"></a>00152 <span class="keyword">const</span> bit_aligned_pixel_reference&amp; operator=(<span class="keyword">const</span> bit_aligned_pixel_reference&amp; p)<span class="keyword"> const </span>{ static_copy(p,*<span class="keyword">this</span>); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00153"></a>00153
-<a name="l00154"></a>00154 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt; <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> P&amp; p)<span class="keyword"> const </span>{ check_compatible&lt;P&gt;(); <span class="keywordflow">return</span> static_equal(*<span class="keyword">this</span>,p); }
-<a name="l00155"></a>00155 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt; <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> P&amp; p)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !(*<span class="keyword">this</span>==p); }
-<a name="l00156"></a>00156
-<a name="l00157"></a>00157 <span class="keyword">const</span> bit_aligned_pixel_reference* operator-&gt;()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; }
-<a name="l00158"></a>00158
-<a name="l00159"></a>00159 <span class="keyword">const</span> bit_range_t&amp; bit_range()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _bit_range; }
-<a name="l00160"></a>00160 <span class="keyword">private</span>:
-<a name="l00161"></a>00161 <span class="keyword">mutable</span> bit_range_t _bit_range;
-<a name="l00162"></a>00162 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M&gt; <span class="keyword">friend</span> <span class="keyword">struct </span>bit_aligned_pixel_reference;
-<a name="l00163"></a>00163
-<a name="l00164"></a>00164 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Pixel&gt; <span class="keyword">static</span> <span class="keywordtype">void</span> check_compatible() { gil_function_requires&lt;PixelsCompatibleConcept&lt;Pixel,bit_aligned_pixel_reference&gt; &gt;(); }
-<a name="l00165"></a>00165 };
+<a name="l00153"></a>00153 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt; <span class="keyword">const</span> bit_aligned_pixel_reference&amp; operator=(<span class="keyword">const</span> P&amp; p)<span class="keyword"> const </span>{ assign(p, mpl::bool_&lt;is_pixel&lt;P&gt;::value&gt;()); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt; <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> P&amp; p)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> equal(p, mpl::bool_&lt;is_pixel&lt;P&gt;::value&gt;()); }
+<a name="l00156"></a>00156 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt; <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> P&amp; p)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !(*<span class="keyword">this</span>==p); }
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 <span class="keyword">const</span> bit_aligned_pixel_reference* operator-&gt;()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; }
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 <span class="keyword">const</span> bit_range_t&amp; bit_range()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _bit_range; }
+<a name="l00161"></a>00161 <span class="keyword">private</span>:
+<a name="l00162"></a>00162 <span class="keyword">mutable</span> bit_range_t _bit_range;
+<a name="l00163"></a>00163 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M&gt; <span class="keyword">friend</span> <span class="keyword">struct </span>bit_aligned_pixel_reference;
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Pixel&gt; <span class="keyword">static</span> <span class="keywordtype">void</span> check_compatible() { gil_function_requires&lt;PixelsCompatibleConcept&lt;Pixel,bit_aligned_pixel_reference&gt; &gt;(); }
 <a name="l00166"></a>00166
-<a name="l00168"></a>00168 <span class="comment">// ColorBasedConcept</span>
-<a name="l00170"></a>00170 <span class="comment"></span>
-<a name="l00171"></a>00171 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> ChannelBitSizes, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> IsMutable, <span class="keywordtype">int</span> K&gt;
-<a name="l00172"></a>00172 <span class="keyword">struct </span>kth_element_type&lt;bit_aligned_pixel_reference&lt;ChannelBitSizes,L,IsMutable&gt;, K&gt; {
-<a name="l00173"></a>00173 <span class="keyword">private</span>:
-<a name="l00174"></a>00174 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="g_i_l_0398.html">bit_aligned_pixel_reference&lt;ChannelBitSizes,L,IsMutable&gt;</a>::bitfield_t bitfield_t;
-<a name="l00175"></a>00175 <span class="keyword">public</span>:
-<a name="l00176"></a>00176 <span class="keyword">typedef</span> <span class="keyword">const</span> packed_dynamic_channel_reference&lt;bitfield_t, mpl::at_c&lt;ChannelBitSizes,K&gt;::type::value, IsMutable&gt; type;
-<a name="l00177"></a>00177 };
-<a name="l00178"></a>00178
-<a name="l00179"></a>00179 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M, <span class="keywordtype">int</span> K&gt;
-<a name="l00180"></a>00180 <span class="keyword">struct </span>kth_element_reference_type&lt;bit_aligned_pixel_reference&lt;C,L,M&gt;, K&gt;
-<a name="l00181"></a>00181 : <span class="keyword">public</span> kth_element_type&lt;bit_aligned_pixel_reference&lt;C,L,M&gt;, K&gt; {};
-<a name="l00182"></a>00182
-<a name="l00183"></a>00183 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M, <span class="keywordtype">int</span> K&gt;
-<a name="l00184"></a>00184 <span class="keyword">struct </span>kth_element_const_reference_type&lt;bit_aligned_pixel_reference&lt;C,L,M&gt;, K&gt;
-<a name="l00185"></a>00185 : <span class="keyword">public</span> kth_element_type&lt;bit_aligned_pixel_reference&lt;C,L,M&gt;, K&gt; {};
-<a name="l00186"></a>00186
-<a name="l00187"></a>00187
-<a name="l00188"></a>00188 <span class="keyword">namespace </span>detail {
-<a name="l00189"></a>00189 <span class="comment">// returns sum of IntegralVector[0] ... IntegralVector[K-1]</span>
-<a name="l00190"></a>00190 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IntegralVector, <span class="keywordtype">int</span> K&gt;
-<a name="l00191"></a>00191 <span class="keyword">struct </span>sum_k : <span class="keyword">public</span> mpl::plus&lt;sum_k&lt;IntegralVector,K-1&gt;, typename mpl::at_c&lt;IntegralVector,K-1&gt;::type &gt; {};
-<a name="l00192"></a>00192
-<a name="l00193"></a>00193 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IntegralVector&gt; <span class="keyword">struct </span>sum_k&lt;IntegralVector,0&gt; : <span class="keyword">public</span> mpl::int_&lt;0&gt; {};
-<a name="l00194"></a>00194 }
-<a name="l00195"></a>00195
-<a name="l00196"></a>00196 <span class="comment">// at_c required by MutableColorBaseConcept</span>
-<a name="l00197"></a>00197 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> K, <span class="keyword">typename</span> ChannelBitSizes, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> Mutable&gt; <span class="keyword">inline</span>
-<a name="l00198"></a>00198 <span class="keyword">typename</span> kth_element_reference_type&lt;bit_aligned_pixel_reference&lt;ChannelBitSizes,L,Mutable&gt;,K&gt;::type
-<a name="l00199"></a>00199 at_c(<span class="keyword">const</span> bit_aligned_pixel_reference&lt;ChannelBitSizes,L,Mutable&gt;&amp; p) {
-<a name="l00200"></a>00200 <span class="keyword">typedef</span> bit_aligned_pixel_reference&lt;ChannelBitSizes,L,Mutable&gt; pixel_t;
-<a name="l00201"></a>00201 <span class="keyword">typedef</span> <span class="keyword">typename</span> kth_element_reference_type&lt;pixel_t,K&gt;::type channel_t;
-<a name="l00202"></a>00202 <span class="keyword">typedef</span> <span class="keyword">typename</span> pixel_t::bit_range_t bit_range_t;
-<a name="l00203"></a>00203
-<a name="l00204"></a>00204 bit_range_t bit_range(p.bit_range());
-<a name="l00205"></a>00205 bit_range.bit_advance(detail::sum_k&lt;ChannelBitSizes,K&gt;::value);
-<a name="l00206"></a>00206
-<a name="l00207"></a>00207 <span class="keywordflow">return</span> channel_t(bit_range.current_byte(), bit_range.bit_offset());
-<a name="l00208"></a>00208 }
-<a name="l00209"></a>00209
-<a name="l00211"></a>00211 <span class="comment">// PixelConcept</span>
-<a name="l00213"></a>00213 <span class="comment"></span>
-<a name="l00215"></a>00215 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M&gt;
-<a name="l00216"></a><a class="code" href="g_i_l_0536.html">00216</a> <span class="keyword">struct </span>is_pixel&lt;bit_aligned_pixel_reference&lt;C,L,M&gt; &gt; : <span class="keyword">public</span> mpl::true_{};
-<a name="l00217"></a>00217
-<a name="l00219"></a>00219 <span class="comment">// PixelBasedConcept</span>
-<a name="l00221"></a>00221 <span class="comment"></span>
-<a name="l00222"></a>00222 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M&gt;
-<a name="l00223"></a>00223 <span class="keyword">struct </span>color_space_type&lt;bit_aligned_pixel_reference&lt;C,L,M&gt; &gt; {
-<a name="l00224"></a>00224 <span class="keyword">typedef</span> <span class="keyword">typename</span> L::color_space_t type;
-<a name="l00225"></a>00225 };
-<a name="l00226"></a>00226
-<a name="l00227"></a>00227 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M&gt;
-<a name="l00228"></a>00228 <span class="keyword">struct </span>channel_mapping_type&lt;bit_aligned_pixel_reference&lt;C,L,M&gt; &gt; {
-<a name="l00229"></a>00229 <span class="keyword">typedef</span> <span class="keyword">typename</span> L::channel_mapping_t type;
-<a name="l00230"></a>00230 };
-<a name="l00231"></a>00231
-<a name="l00232"></a>00232 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M&gt;
-<a name="l00233"></a>00233 <span class="keyword">struct </span>is_planar&lt;bit_aligned_pixel_reference&lt;C,L,M&gt; &gt; : mpl::false_ {};
-<a name="l00234"></a>00234
-<a name="l00236"></a>00236 <span class="comment">// pixel_reference_type</span>
-<a name="l00238"></a>00238 <span class="comment"></span>
-<a name="l00239"></a>00239 <span class="keyword">namespace </span>detail {
-<a name="l00240"></a>00240 <span class="comment">// returns a vector containing K copies of the type T</span>
-<a name="l00241"></a>00241 <span class="keyword">template</span> &lt;<span class="keywordtype">unsigned</span> K, <span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>k_copies;
-<a name="l00242"></a>00242 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>k_copies&lt;0,T&gt; {
-<a name="l00243"></a>00243 <span class="keyword">typedef</span> mpl::vector0&lt;&gt; type;
-<a name="l00244"></a>00244 };
-<a name="l00245"></a>00245 <span class="keyword">template</span> &lt;<span class="keywordtype">unsigned</span> K, <span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>k_copies : <span class="keyword">public</span> mpl::push_back&lt;typename k_copies&lt;K-1,T&gt;::type, T&gt; {};
-<a name="l00246"></a>00246 }
-<a name="l00247"></a>00247
-<a name="l00248"></a>00248 <span class="comment">// Constructs a homogeneous bit_aligned_pixel_reference given a channel reference</span>
-<a name="l00249"></a>00249 <span class="comment">// Note: BitField must be the same type as pixel_reference_type&lt;...&gt;::type::bitfield_t, but it is too complicated to ensure this</span>
-<a name="l00250"></a>00250 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BitField, <span class="keywordtype">int</span> NumBits, <span class="keyword">typename</span> Layout&gt;
-<a name="l00251"></a>00251 <span class="keyword">struct </span>pixel_reference_type&lt;const packed_dynamic_channel_reference&lt;BitField,NumBits,false&gt;, Layout, false, false&gt; {
-<a name="l00252"></a>00252 <span class="keyword">private</span>:
-<a name="l00253"></a>00253 <span class="keyword">typedef</span> <span class="keyword">typename</span> mpl::size&lt;typename Layout::color_space_t&gt;::type size_t;
-<a name="l00254"></a>00254 <span class="keyword">typedef</span> <span class="keyword">typename</span> detail::k_copies&lt;size_t::value,mpl::integral_c&lt;unsigned,NumBits&gt; &gt;::type channel_bit_sizes_t;
-<a name="l00255"></a>00255 <span class="keyword">public</span>:
-<a name="l00256"></a>00256 <span class="keyword">typedef</span> bit_aligned_pixel_reference&lt;channel_bit_sizes_t, Layout, false&gt; type;
-<a name="l00257"></a>00257 };
-<a name="l00258"></a>00258
-<a name="l00259"></a>00259 <span class="comment">// Same but for the mutable case. We cannot combine the mutable and read-only cases because this triggers ambiguity</span>
-<a name="l00260"></a>00260 <span class="comment">// Note: BitField must be the same type as pixel_reference_type&lt;...&gt;::type::bitfield_t, but it is too complicated to ensure this</span>
-<a name="l00261"></a>00261 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BitField, <span class="keywordtype">int</span> NumBits, <span class="keyword">typename</span> Layout&gt;
-<a name="l00262"></a>00262 <span class="keyword">struct </span>pixel_reference_type&lt;const packed_dynamic_channel_reference&lt;BitField,NumBits,true&gt;, Layout, false, true&gt; {
-<a name="l00263"></a>00263 <span class="keyword">private</span>:
-<a name="l00264"></a>00264 <span class="keyword">typedef</span> <span class="keyword">typename</span> mpl::size&lt;typename Layout::color_space_t&gt;::type size_t;
-<a name="l00265"></a>00265 <span class="keyword">typedef</span> <span class="keyword">typename</span> detail::k_copies&lt;size_t::value,mpl::integral_c&lt;unsigned,NumBits&gt; &gt;::type channel_bit_sizes_t;
-<a name="l00266"></a>00266 <span class="keyword">public</span>:
-<a name="l00267"></a>00267 <span class="keyword">typedef</span> bit_aligned_pixel_reference&lt;channel_bit_sizes_t, Layout, true&gt; type;
-<a name="l00268"></a>00268 };
-<a name="l00269"></a>00269
-<a name="l00270"></a>00270 } } <span class="comment">// namespace boost::gil</span>
-<a name="l00271"></a>00271
-<a name="l00272"></a>00272 <span class="keyword">namespace </span>std {
-<a name="l00273"></a>00273 <span class="comment">// We are forced to define swap inside std namespace because on some platforms (Visual Studio 8) STL calls swap qualified.</span>
-<a name="l00274"></a>00274 <span class="comment">// swap with 'left bias': </span>
-<a name="l00275"></a>00275 <span class="comment">// - swap between proxy and anything</span>
-<a name="l00276"></a>00276 <span class="comment">// - swap between value type and proxy</span>
-<a name="l00277"></a>00277 <span class="comment">// - swap between proxy and proxy</span>
-<a name="l00278"></a>00278 <span class="comment">// Having three overloads allows us to swap between different (but compatible) models of PixelConcept</span>
-<a name="l00279"></a>00279
-<a name="l00280"></a>00280 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keyword">typename</span> R&gt; <span class="keyword">inline</span>
-<a name="l00281"></a>00281 <span class="keywordtype">void</span> swap(<a class="code" href="g_i_l_0398.html">boost::gil::bit_aligned_pixel_reference&lt;C,L,true&gt;</a> x, R&amp; y) {
-<a name="l00282"></a>00282 boost::gil::swap_proxy&lt;typename boost::gil::bit_aligned_pixel_reference&lt;C,L,true&gt;::value_type&gt;(x,y);
-<a name="l00283"></a>00283 }
+<a name="l00167"></a>00167 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Pixel&gt; <span class="keywordtype">void</span> assign(<span class="keyword">const</span> Pixel&amp; p, mpl::true_)<span class="keyword"> const </span>{ check_compatible&lt;Pixel&gt;(); static_copy(p,*<span class="keyword">this</span>); }
+<a name="l00168"></a>00168 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Pixel&gt; <span class="keywordtype">bool</span> <a class="code" href="g_i_l_0214.html#g4ed3cf71cb0fbf435d1389df8567a4e5" title="std::equal(I1,I1,I2) with I1 and I2 being a iterator_from_2d">equal</a>(<span class="keyword">const</span> Pixel&amp; p, mpl::true_)<span class="keyword"> const </span>{ check_compatible&lt;Pixel&gt;(); <span class="keywordflow">return</span> static_equal(*<span class="keyword">this</span>,p); }
+<a name="l00169"></a>00169
+<a name="l00170"></a>00170 <span class="keyword">private</span>:
+<a name="l00171"></a>00171 <span class="keyword">static</span> <span class="keywordtype">void</span> check_gray() { BOOST_STATIC_ASSERT((is_same&lt;typename Layout::color_space_t, gray_t&gt;::value)); }
+<a name="l00172"></a>00172 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Channel&gt; <span class="keywordtype">void</span> assign(<span class="keyword">const</span> Channel&amp; chan, mpl::false_)<span class="keyword"> const </span>{ check_gray(); at_c&lt;0&gt;(*this)=chan; }
+<a name="l00173"></a>00173 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Channel&gt; <span class="keywordtype">bool</span> <a class="code" href="g_i_l_0214.html#g4ed3cf71cb0fbf435d1389df8567a4e5" title="std::equal(I1,I1,I2) with I1 and I2 being a iterator_from_2d">equal</a> (<span class="keyword">const</span> Channel&amp; chan, mpl::false_)<span class="keyword"> const </span>{ check_gray(); <span class="keywordflow">return</span> at_c&lt;0&gt;(*this)==chan; }
+<a name="l00174"></a>00174 };
+<a name="l00175"></a>00175
+<a name="l00177"></a>00177 <span class="comment">// ColorBasedConcept</span>
+<a name="l00179"></a>00179 <span class="comment"></span>
+<a name="l00180"></a>00180 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BitField, <span class="keyword">typename</span> ChannelBitSizes, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> IsMutable, <span class="keywordtype">int</span> K&gt;
+<a name="l00181"></a>00181 <span class="keyword">struct </span>kth_element_type&lt;<a class="code" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">bit_aligned_pixel_reference</a>&lt;BitField,ChannelBitSizes,L,IsMutable&gt;, K&gt; {
+<a name="l00182"></a>00182 <span class="keyword">public</span>:
+<a name="l00183"></a>00183 <span class="keyword">typedef</span> <span class="keyword">const</span> packed_dynamic_channel_reference&lt;BitField, mpl::at_c&lt;ChannelBitSizes,K&gt;::type::value, IsMutable&gt; type;
+<a name="l00184"></a>00184 };
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M, <span class="keywordtype">int</span> K&gt;
+<a name="l00187"></a>00187 <span class="keyword">struct </span>kth_element_reference_type&lt;bit_aligned_pixel_reference&lt;B,C,L,M&gt;, K&gt;
+<a name="l00188"></a>00188 : <span class="keyword">public</span> kth_element_type&lt;bit_aligned_pixel_reference&lt;B,C,L,M&gt;, K&gt; {};
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M, <span class="keywordtype">int</span> K&gt;
+<a name="l00191"></a>00191 <span class="keyword">struct </span>kth_element_const_reference_type&lt;bit_aligned_pixel_reference&lt;B,C,L,M&gt;, K&gt;
+<a name="l00192"></a>00192 : <span class="keyword">public</span> kth_element_type&lt;bit_aligned_pixel_reference&lt;B,C,L,M&gt;, K&gt; {};
+<a name="l00193"></a>00193
+<a name="l00194"></a>00194
+<a name="l00195"></a>00195 <span class="keyword">namespace </span>detail {
+<a name="l00196"></a>00196 <span class="comment">// returns sum of IntegralVector[0] ... IntegralVector[K-1]</span>
+<a name="l00197"></a>00197 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IntegralVector, <span class="keywordtype">int</span> K&gt;
+<a name="l00198"></a>00198 <span class="keyword">struct </span>sum_k : <span class="keyword">public</span> mpl::plus&lt;sum_k&lt;IntegralVector,K-1&gt;, typename mpl::at_c&lt;IntegralVector,K-1&gt;::type &gt; {};
+<a name="l00199"></a>00199
+<a name="l00200"></a>00200 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IntegralVector&gt; <span class="keyword">struct </span>sum_k&lt;IntegralVector,0&gt; : <span class="keyword">public</span> mpl::int_&lt;0&gt; {};
+<a name="l00201"></a>00201 }
+<a name="l00202"></a>00202
+<a name="l00203"></a>00203 <span class="comment">// at_c required by MutableColorBaseConcept</span>
+<a name="l00204"></a>00204 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> K, <span class="keyword">typename</span> BitField, <span class="keyword">typename</span> ChannelBitSizes, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> Mutable&gt; <span class="keyword">inline</span>
+<a name="l00205"></a>00205 <span class="keyword">typename</span> kth_element_reference_type&lt;bit_aligned_pixel_reference&lt;BitField,ChannelBitSizes,L,Mutable&gt;,K&gt;::type
+<a name="l00206"></a>00206 at_c(<span class="keyword">const</span> bit_aligned_pixel_reference&lt;BitField,ChannelBitSizes,L,Mutable&gt;&amp; p) {
+<a name="l00207"></a>00207 <span class="keyword">typedef</span> bit_aligned_pixel_reference&lt;BitField,ChannelBitSizes,L,Mutable&gt; pixel_t;
+<a name="l00208"></a>00208 <span class="keyword">typedef</span> <span class="keyword">typename</span> kth_element_reference_type&lt;pixel_t,K&gt;::type channel_t;
+<a name="l00209"></a>00209 <span class="keyword">typedef</span> <span class="keyword">typename</span> pixel_t::bit_range_t bit_range_t;
+<a name="l00210"></a>00210
+<a name="l00211"></a>00211 bit_range_t bit_range(p.bit_range());
+<a name="l00212"></a>00212 bit_range.bit_advance(detail::sum_k&lt;ChannelBitSizes,K&gt;::value);
+<a name="l00213"></a>00213
+<a name="l00214"></a>00214 <span class="keywordflow">return</span> channel_t(bit_range.current_byte(), bit_range.bit_offset());
+<a name="l00215"></a>00215 }
+<a name="l00216"></a>00216
+<a name="l00218"></a>00218 <span class="comment">// PixelConcept</span>
+<a name="l00220"></a>00220 <span class="comment"></span>
+<a name="l00222"></a>00222 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M&gt;
+<a name="l00223"></a><a class="code" href="g_i_l_0542.html">00223</a> <span class="keyword">struct </span>is_pixel&lt;<a class="code" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">bit_aligned_pixel_reference</a>&lt;B,C,L,M&gt; &gt; : <span class="keyword">public</span> mpl::true_{};
+<a name="l00224"></a>00224
+<a name="l00226"></a>00226 <span class="comment">// PixelBasedConcept</span>
+<a name="l00228"></a>00228 <span class="comment"></span>
+<a name="l00229"></a>00229 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M&gt;
+<a name="l00230"></a>00230 <span class="keyword">struct </span>color_space_type&lt;<a class="code" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">bit_aligned_pixel_reference</a>&lt;B,C,L,M&gt; &gt; {
+<a name="l00231"></a>00231 <span class="keyword">typedef</span> <span class="keyword">typename</span> L::color_space_t type;
+<a name="l00232"></a>00232 };
+<a name="l00233"></a>00233
+<a name="l00234"></a>00234 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M&gt;
+<a name="l00235"></a>00235 <span class="keyword">struct </span>channel_mapping_type&lt;bit_aligned_pixel_reference&lt;B,C,L,M&gt; &gt; {
+<a name="l00236"></a>00236 <span class="keyword">typedef</span> <span class="keyword">typename</span> L::channel_mapping_t type;
+<a name="l00237"></a>00237 };
+<a name="l00238"></a>00238
+<a name="l00239"></a>00239 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keywordtype">bool</span> M&gt;
+<a name="l00240"></a>00240 <span class="keyword">struct </span>is_planar&lt;bit_aligned_pixel_reference&lt;B,C,L,M&gt; &gt; : mpl::false_ {};
+<a name="l00241"></a>00241
+<a name="l00243"></a>00243 <span class="comment">// pixel_reference_type</span>
+<a name="l00245"></a>00245 <span class="comment"></span>
+<a name="l00246"></a>00246 <span class="keyword">namespace </span>detail {
+<a name="l00247"></a>00247 <span class="comment">// returns a vector containing K copies of the type T</span>
+<a name="l00248"></a>00248 <span class="keyword">template</span> &lt;<span class="keywordtype">unsigned</span> K, <span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>k_copies;
+<a name="l00249"></a>00249 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>k_copies&lt;0,T&gt; {
+<a name="l00250"></a>00250 <span class="keyword">typedef</span> mpl::vector0&lt;&gt; type;
+<a name="l00251"></a>00251 };
+<a name="l00252"></a>00252 <span class="keyword">template</span> &lt;<span class="keywordtype">unsigned</span> K, <span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>k_copies : <span class="keyword">public</span> mpl::push_back&lt;typename k_copies&lt;K-1,T&gt;::type, T&gt; {};
+<a name="l00253"></a>00253 }
+<a name="l00254"></a>00254
+<a name="l00255"></a>00255 <span class="comment">// Constructs a homogeneous bit_aligned_pixel_reference given a channel reference</span>
+<a name="l00256"></a>00256 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BitField, <span class="keywordtype">int</span> NumBits, <span class="keyword">typename</span> Layout&gt;
+<a name="l00257"></a>00257 <span class="keyword">struct </span>pixel_reference_type&lt;const packed_dynamic_channel_reference&lt;BitField,NumBits,false&gt;, Layout, false, false&gt; {
+<a name="l00258"></a>00258 <span class="keyword">private</span>:
+<a name="l00259"></a>00259 <span class="keyword">typedef</span> <span class="keyword">typename</span> mpl::size&lt;typename Layout::color_space_t&gt;::type size_t;
+<a name="l00260"></a>00260 <span class="keyword">typedef</span> <span class="keyword">typename</span> detail::k_copies&lt;size_t::value,mpl::integral_c&lt;unsigned,NumBits&gt; &gt;::type channel_bit_sizes_t;
+<a name="l00261"></a>00261 <span class="keyword">public</span>:
+<a name="l00262"></a>00262 <span class="keyword">typedef</span> bit_aligned_pixel_reference&lt;BitField, channel_bit_sizes_t, Layout, false&gt; type;
+<a name="l00263"></a>00263 };
+<a name="l00264"></a>00264
+<a name="l00265"></a>00265 <span class="comment">// Same but for the mutable case. We cannot combine the mutable and read-only cases because this triggers ambiguity</span>
+<a name="l00266"></a>00266 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BitField, <span class="keywordtype">int</span> NumBits, <span class="keyword">typename</span> Layout&gt;
+<a name="l00267"></a>00267 <span class="keyword">struct </span>pixel_reference_type&lt;const packed_dynamic_channel_reference&lt;BitField,NumBits,true&gt;, Layout, false, true&gt; {
+<a name="l00268"></a>00268 <span class="keyword">private</span>:
+<a name="l00269"></a>00269 <span class="keyword">typedef</span> <span class="keyword">typename</span> mpl::size&lt;typename Layout::color_space_t&gt;::type size_t;
+<a name="l00270"></a>00270 <span class="keyword">typedef</span> <span class="keyword">typename</span> detail::k_copies&lt;size_t::value,mpl::integral_c&lt;unsigned,NumBits&gt; &gt;::type channel_bit_sizes_t;
+<a name="l00271"></a>00271 <span class="keyword">public</span>:
+<a name="l00272"></a>00272 <span class="keyword">typedef</span> bit_aligned_pixel_reference&lt;BitField, channel_bit_sizes_t, Layout, true&gt; type;
+<a name="l00273"></a>00273 };
+<a name="l00274"></a>00274
+<a name="l00275"></a>00275 } } <span class="comment">// namespace boost::gil</span>
+<a name="l00276"></a>00276
+<a name="l00277"></a>00277 <span class="keyword">namespace </span>std {
+<a name="l00278"></a>00278 <span class="comment">// We are forced to define swap inside std namespace because on some platforms (Visual Studio 8) STL calls swap qualified.</span>
+<a name="l00279"></a>00279 <span class="comment">// swap with 'left bias': </span>
+<a name="l00280"></a>00280 <span class="comment">// - swap between proxy and anything</span>
+<a name="l00281"></a>00281 <span class="comment">// - swap between value type and proxy</span>
+<a name="l00282"></a>00282 <span class="comment">// - swap between proxy and proxy</span>
+<a name="l00283"></a>00283 <span class="comment">// Having three overloads allows us to swap between different (but compatible) models of PixelConcept</span>
 <a name="l00284"></a>00284
-<a name="l00285"></a>00285
-<a name="l00286"></a>00286 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> C, <span class="keyword">typename</span> L&gt; <span class="keyword">inline</span>
-<a name="l00287"></a>00287 <span class="keywordtype">void</span> swap(<span class="keyword">typename</span> <a class="code" href="g_i_l_0398.html">boost::gil::bit_aligned_pixel_reference&lt;C,L,true&gt;</a>::value_type&amp; x, <a class="code" href="g_i_l_0398.html">boost::gil::bit_aligned_pixel_reference&lt;C,L,true&gt;</a> y) {
-<a name="l00288"></a>00288 boost::gil::swap_proxy&lt;typename boost::gil::bit_aligned_pixel_reference&lt;C,L,true&gt;::value_type&gt;(x,y);
-<a name="l00289"></a>00289 }
+<a name="l00285"></a>00285 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> C, <span class="keyword">typename</span> L, <span class="keyword">typename</span> R&gt; <span class="keyword">inline</span>
+<a name="l00286"></a>00286 <span class="keywordtype">void</span> swap(<span class="keyword">const</span> <a class="code" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">boost::gil::bit_aligned_pixel_reference&lt;B,C,L,true&gt;</a> x, R&amp; y) {
+<a name="l00287"></a>00287 boost::gil::swap_proxy&lt;typename boost::gil::bit_aligned_pixel_reference&lt;B,C,L,true&gt;::value_type&gt;(x,y);
+<a name="l00288"></a>00288 }
+<a name="l00289"></a>00289
 <a name="l00290"></a>00290
-<a name="l00291"></a>00291
-<a name="l00292"></a>00292 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> C, <span class="keyword">typename</span> L&gt; <span class="keyword">inline</span>
-<a name="l00293"></a>00293 <span class="keywordtype">void</span> swap(<a class="code" href="g_i_l_0398.html">boost::gil::bit_aligned_pixel_reference&lt;C,L,true&gt;</a> x, <a class="code" href="g_i_l_0398.html">boost::gil::bit_aligned_pixel_reference&lt;C,L,true&gt;</a> y) {
-<a name="l00294"></a>00294 boost::gil::swap_proxy&lt;typename boost::gil::bit_aligned_pixel_reference&lt;C,L,true&gt;::value_type&gt;(x,y);
-<a name="l00295"></a>00295 }
-<a name="l00296"></a>00296 } <span class="comment">// namespace std</span>
-<a name="l00297"></a>00297 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:16 2007 for Generic Image Library by&nbsp;
+<a name="l00291"></a>00291 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> C, <span class="keyword">typename</span> L&gt; <span class="keyword">inline</span>
+<a name="l00292"></a>00292 <span class="keywordtype">void</span> swap(<span class="keyword">typename</span> <a class="code" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">boost::gil::bit_aligned_pixel_reference&lt;B,C,L,true&gt;::value_type</a>&amp; x, <span class="keyword">const</span> <a class="code" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">boost::gil::bit_aligned_pixel_reference&lt;B,C,L,true&gt;</a> y) {
+<a name="l00293"></a>00293 boost::gil::swap_proxy&lt;typename boost::gil::bit_aligned_pixel_reference&lt;B,C,L,true&gt;::value_type&gt;(x,y);
+<a name="l00294"></a>00294 }
+<a name="l00295"></a>00295
+<a name="l00296"></a>00296
+<a name="l00297"></a>00297 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> C, <span class="keyword">typename</span> L&gt; <span class="keyword">inline</span>
+<a name="l00298"></a>00298 <span class="keywordtype">void</span> swap(<span class="keyword">const</span> <a class="code" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">boost::gil::bit_aligned_pixel_reference&lt;B,C,L,true&gt;</a> x, <span class="keyword">const</span> <a class="code" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">boost::gil::bit_aligned_pixel_reference&lt;B,C,L,true&gt;</a> y) {
+<a name="l00299"></a>00299 boost::gil::swap_proxy&lt;typename boost::gil::bit_aligned_pixel_reference&lt;B,C,L,true&gt;::value_type&gt;(x,y);
+<a name="l00300"></a>00300 }
+<a name="l00301"></a>00301 } <span class="comment">// namespace std</span>
+<a name="l00302"></a>00302 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:37 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0012.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0013.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0013.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0013.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : bit_aligned_pixel_reference.hpp File Reference</TITLE>
+ <TITLE>Generic Image Library: bit_aligned_pixel_reference.hpp File Reference</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,20 +31,20 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="dir_000000.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">gil</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="g_i_l_0076.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0079.html">gil</a>
+ </div>
+<div class="contents">
 <h1>bit_aligned_pixel_reference.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
 A model of a heterogeneous pixel that is not byte aligned. Examples are bitmap (1-bit pixels) or 6-bit RGB (222).
 <p>
-<dl compact><dt><b>Author:</b></dt><dd>Lubomir Bourdev and Hailin Jin <br>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Lubomir Bourdev and Hailin Jin <br>
  Adobe Systems Incorporated </dd></dl>
-<dl compact><dt><b>Date:</b></dt><dd>2005-2007 <br>
- Last updated on September 28, 2006</dd></dl>
+<dl class="date" compact><dt><b>Date:</b></dt><dd>2005-2007 <br>
+ Last updated on September 28, 2006 </dd></dl>
 
 <p>
 <code>#include &lt;functional&gt;</code><br>
@@ -57,8 +55,8 @@
 <code>#include &lt;boost/mpl/plus.hpp&gt;</code><br>
 <code>#include &lt;boost/mpl/push_back.hpp&gt;</code><br>
 <code>#include &lt;boost/mpl/vector.hpp&gt;</code><br>
-<code>#include &quot;<a class="el" href="g_i_l_0088.html">gil_config.hpp</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="g_i_l_0236.html">pixel.hpp</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="g_i_l_0093.html">gil_config.hpp</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="g_i_l_0241.html">pixel.hpp</a>&quot;</code><br>
 <code>#include &quot;<a class="el" href="g_i_l_0014.html">channel.hpp</a>&quot;</code><br>
 
 <p>
@@ -74,35 +72,36 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>std</b></td></tr>
 
 <tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0398.html">bit_aligned_pixel_reference</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0403.html">bit_aligned_pixel_reference</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models <a class="el" href="g_i_l_0269.html">ColorBaseConcept</a>, <a class="el" href="g_i_l_0341.html">PixelConcept</a>, <a class="el" href="g_i_l_0339.html">PixelBasedConcept</a>. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0536.html">is_pixel&lt; bit_aligned_pixel_reference&lt; C, L, M &gt; &gt;</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Heterogeneous <a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a> reference corresponding to non-byte-aligned bit range. Models <a class="el" href="g_i_l_0274.html" title="A color base is a container of color elements (such as channels, channel references...">ColorBaseConcept</a>, <a class="el" href="g_i_l_0346.html" title="Pixel concept - A color base whose elements are channels.">PixelConcept</a>, <a class="el" href="g_i_l_0344.html" title="Concept for all pixel-based GIL constructs, such as pixels, iterators, locators,...">PixelBasedConcept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0542.html">is_pixel&lt; bit_aligned_pixel_reference&lt; B, C, L, M &gt; &gt;</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="g_i_l_0309.html">Metafunction</a> predicate that flags <a class="el" href="g_i_l_0398.html">bit_aligned_pixel_reference</a> as a model of <a class="el" href="g_i_l_0341.html">PixelConcept</a>. Required by <a class="el" href="g_i_l_0341.html">PixelConcept</a>. More...<br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="g_i_l_0314.html">Metafunction</a> predicate that flags <a class="el" href="g_i_l_0403.html" title="Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models...">bit_aligned_pixel_reference</a> as a model of <a class="el" href="g_i_l_0346.html" title="Pixel concept - A color base whose elements are channels.">PixelConcept</a>. Required by <a class="el" href="g_i_l_0346.html" title="Pixel concept - A color base whose elements are channels.">PixelConcept</a>. More...<br></td></tr>
 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a41"></a><!-- doxytag: member="bit_aligned_pixel_reference.hpp::at_c" ref="a41" args="(const bit_aligned_pixel_reference&lt; ChannelBitSizes, L, Mutable &gt; &amp;p)" -->
-template&lt;int K, typename ChannelBitSizes, typename L, bool Mutable&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">kth_element_reference_type&lt;<br>
- bit_aligned_pixel_reference&lt;<br>
- ChannelBitSizes, L, Mutable &gt;,<br>
- K &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::at_c</b> (const bit_aligned_pixel_reference&lt; ChannelBitSizes, L, Mutable &gt; &amp;p)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a7"></a><!-- doxytag: member="bit_aligned_pixel_reference.hpp::swap" ref="a7" args="(boost::gil::bit_aligned_pixel_reference&lt; C, L, true &gt; x, R &amp;y)" -->
-template&lt;typename C, typename L, typename R&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>std::swap</b> (<a class="el" href="g_i_l_0398.html">boost::gil::bit_aligned_pixel_reference</a>&lt; C, L, true &gt; x, R &amp;y)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a8"></a><!-- doxytag: member="bit_aligned_pixel_reference.hpp::swap" ref="a8" args="(typename boost::gil::bit_aligned_pixel_reference&lt; C, L, true &gt;::value_type &amp;x, boost::gil::bit_aligned_pixel_reference&lt; C, L, true &gt; y)" -->
-template&lt;typename C, typename L&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>std::swap</b> (typename <a class="el" href="g_i_l_0398.html">boost::gil::bit_aligned_pixel_reference</a>&lt; C, L, true &gt;::value_type &amp;x, <a class="el" href="g_i_l_0398.html">boost::gil::bit_aligned_pixel_reference</a>&lt; C, L, true &gt; y)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a9"></a><!-- doxytag: member="bit_aligned_pixel_reference.hpp::swap" ref="a9" args="(boost::gil::bit_aligned_pixel_reference&lt; C, L, true &gt; x, boost::gil::bit_aligned_pixel_reference&lt; C, L, true &gt; y)" -->
-template&lt;typename C, typename L&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>std::swap</b> (<a class="el" href="g_i_l_0398.html">boost::gil::bit_aligned_pixel_reference</a>&lt; C, L, true &gt; x, <a class="el" href="g_i_l_0398.html">boost::gil::bit_aligned_pixel_reference</a>&lt; C, L, true &gt; y)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="300d0f1d2ee7436cc99ce17ce8fdb786"></a><!-- doxytag: member="bit_aligned_pixel_reference.hpp::at_c" ref="300d0f1d2ee7436cc99ce17ce8fdb786" args="(const bit_aligned_pixel_reference&lt; BitField, ChannelBitSizes, L, Mutable &gt; &amp;p)" -->
+template&lt;int K, typename BitField, typename ChannelBitSizes, typename L, bool Mutable&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">kth_element_reference_type<br>
+&lt; bit_aligned_pixel_reference<br>
+&lt; BitField, ChannelBitSizes, L, <br>
+Mutable &gt;, K &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>at_c</b> (const bit_aligned_pixel_reference&lt; BitField, ChannelBitSizes, L, Mutable &gt; &amp;p)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="8722bde753fce09dbb74c0887a81bb70"></a><!-- doxytag: member="bit_aligned_pixel_reference.hpp::swap" ref="8722bde753fce09dbb74c0887a81bb70" args="(const boost::gil::bit_aligned_pixel_reference&lt; B, C, L, true &gt; x, R &amp;y)" -->
+template&lt;typename B, typename C, typename L, typename R&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>swap</b> (const <a class="el" href="g_i_l_0403.html">boost::gil::bit_aligned_pixel_reference</a>&lt; B, C, L, true &gt; x, R &amp;y)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="5a0daef03e2249ed752edbb4365a2180"></a><!-- doxytag: member="bit_aligned_pixel_reference.hpp::swap" ref="5a0daef03e2249ed752edbb4365a2180" args="(typename boost::gil::bit_aligned_pixel_reference&lt; B, C, L, true &gt;::value_type &amp;x, const boost::gil::bit_aligned_pixel_reference&lt; B, C, L, true &gt; y)" -->
+template&lt;typename B, typename C, typename L&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>swap</b> (typename <a class="el" href="g_i_l_0403.html">boost::gil::bit_aligned_pixel_reference</a>&lt; B, C, L, true &gt;::value_type &amp;x, const <a class="el" href="g_i_l_0403.html">boost::gil::bit_aligned_pixel_reference</a>&lt; B, C, L, true &gt; y)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="e03de3c94c4eb58074039bfc365646f7"></a><!-- doxytag: member="bit_aligned_pixel_reference.hpp::swap" ref="e03de3c94c4eb58074039bfc365646f7" args="(const boost::gil::bit_aligned_pixel_reference&lt; B, C, L, true &gt; x, const boost::gil::bit_aligned_pixel_reference&lt; B, C, L, true &gt; y)" -->
+template&lt;typename B, typename C, typename L&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>swap</b> (const <a class="el" href="g_i_l_0403.html">boost::gil::bit_aligned_pixel_reference</a>&lt; B, C, L, true &gt; x, const <a class="el" href="g_i_l_0403.html">boost::gil::bit_aligned_pixel_reference</a>&lt; B, C, L, true &gt; y)</td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:18 2007 for Generic Image Library by&nbsp;
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:39 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0013.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0014.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0014.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0014.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : channel.hpp Source File</TITLE>
+ <TITLE>Generic Image Library: channel.hpp Source File</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,13 +31,13 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="dir_000000.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">gil</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="g_i_l_0076.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0079.html">gil</a>
+ </div>
+<div class="contents">
 <h1>channel.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
 <a name="l00002"></a>00002 <span class="comment"> Copyright 2005-2007 Adobe Systems Incorporated</span>
 <a name="l00003"></a>00003 <span class="comment"> </span>
@@ -47,7 +45,7 @@
 <a name="l00005"></a>00005 <span class="comment"> Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
 <a name="l00006"></a>00006 <span class="comment"> http://www.boost.org/LICENSE_1_0.txt).</span>
 <a name="l00007"></a>00007 <span class="comment"></span>
-<a name="l00008"></a>00008 <span class="comment"> See http://opensource.adobe.com/gil for most recent version including documentation.</span>
+<a name="l00008"></a>00008 <span class="comment"> See http://stlab.adobe.com/gil for most recent version including documentation.</span>
 <a name="l00009"></a>00009 <span class="comment">*/</span>
 <a name="l00010"></a>00010
 <a name="l00011"></a>00011 <span class="comment">/*************************************************************************************************/</span>
@@ -59,8 +57,8 @@
 <a name="l00027"></a>00027 <span class="preprocessor">#include &lt;limits&gt;</span>
 <a name="l00028"></a>00028 <span class="preprocessor">#include &lt;cassert&gt;</span>
 <a name="l00029"></a>00029 <span class="preprocessor">#include &lt;boost/cstdint.hpp&gt;</span>
-<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="g_i_l_0089.html">gil_config.hpp</a>"</span>
-<a name="l00031"></a>00031 <span class="preprocessor">#include "<a class="code" href="utilities_8hpp.html">utilities.hpp</a>"</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="g_i_l_0094.html" title="GIL configuration file.">gil_config.hpp</a>"</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include "<a class="code" href="utilities_8hpp.html" title="Various utilities not specific to the image library. Some are non-standard STL extensions...">utilities.hpp</a>"</span>
 <a name="l00032"></a>00032
 <a name="l00033"></a>00033 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
 <a name="l00034"></a>00034
@@ -105,10 +103,10 @@
 <a name="l00087"></a>00087 }
 <a name="l00088"></a>00088
 <a name="l00107"></a>00107 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00108"></a><a class="code" href="g_i_l_0424.html">00108</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0424.html">channel_traits</a> : <span class="keyword">public</span> detail::channel_traits_impl&lt;T, is_class&lt;T&gt;::value&gt; {};
+<a name="l00108"></a><a class="code" href="g_i_l_0429.html">00108</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0429.html" title="Traits for channels. Contains the following members:.">channel_traits</a> : <span class="keyword">public</span> detail::channel_traits_impl&lt;T, is_class&lt;T&gt;::value&gt; {};
 <a name="l00109"></a>00109
 <a name="l00110"></a>00110 <span class="comment">// Channel traits for C++ reference type - remove the reference</span>
-<a name="l00111"></a>00111 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span><a class="code" href="g_i_l_0424.html">channel_traits</a>&lt; T&amp;&gt; : <span class="keyword">public</span> <a class="code" href="g_i_l_0424.html">channel_traits&lt;T&gt;</a> {};
+<a name="l00111"></a>00111 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span><a class="code" href="g_i_l_0429.html" title="Traits for channels. Contains the following members:.">channel_traits</a>&lt; T&amp;&gt; : <span class="keyword">public</span> <a class="code" href="g_i_l_0429.html" title="Traits for channels. Contains the following members:.">channel_traits&lt;T&gt;</a> {};
 <a name="l00112"></a>00112
 <a name="l00113"></a>00113 <span class="comment">// Channel traits for constant C++ reference type</span>
 <a name="l00114"></a>00114 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>channel_traits&lt;const T&amp;&gt; : <span class="keyword">public</span> channel_traits&lt;T&gt; {
@@ -122,33 +120,33 @@
 <a name="l00147"></a>00147
 <a name="l00148"></a>00148 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BaseChannelValue, <span class="comment">// base channel (models ChannelValueConcept)</span>
 <a name="l00149"></a>00149 <span class="keyword">typename</span> MinVal, <span class="keyword">typename</span> MaxVal&gt; <span class="comment">// classes with a static apply() function returning the minimum/maximum channel values</span>
-<a name="l00150"></a><a class="code" href="g_i_l_0614.html">00150</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0614.html">scoped_channel_value</a> {
-<a name="l00151"></a>00151 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0614.html">scoped_channel_value</a> <a class="code" href="g_i_l_0614.html">value_type</a>;
-<a name="l00152"></a>00152 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0614.html">value_type</a>&amp; <a class="code" href="g_i_l_0614.html">reference</a>;
-<a name="l00153"></a>00153 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0614.html">value_type</a>* <a class="code" href="g_i_l_0614.html">pointer</a>;
-<a name="l00154"></a>00154 <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="g_i_l_0614.html">value_type</a>&amp; <a class="code" href="g_i_l_0614.html">const_reference</a>;
-<a name="l00155"></a>00155 <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="g_i_l_0614.html">value_type</a>* <a class="code" href="g_i_l_0614.html">const_pointer</a>;
-<a name="l00156"></a>00156 BOOST_STATIC_CONSTANT(<span class="keywordtype">bool</span>, is_mutable=<a class="code" href="g_i_l_0424.html">channel_traits&lt;BaseChannelValue&gt;</a>::is_mutable);
+<a name="l00150"></a><a class="code" href="g_i_l_0620.html">00150</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">scoped_channel_value</a> {
+<a name="l00151"></a>00151 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">scoped_channel_value</a> <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">value_type</a>;
+<a name="l00152"></a>00152 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">value_type</a>&amp; <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">reference</a>;
+<a name="l00153"></a>00153 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">value_type</a>* <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">pointer</a>;
+<a name="l00154"></a>00154 <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">value_type</a>&amp; <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">const_reference</a>;
+<a name="l00155"></a>00155 <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">value_type</a>* <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">const_pointer</a>;
+<a name="l00156"></a>00156 BOOST_STATIC_CONSTANT(<span class="keywordtype">bool</span>, is_mutable=<a class="code" href="g_i_l_0429.html" title="Traits for channels. Contains the following members:.">channel_traits&lt;BaseChannelValue&gt;::is_mutable</a>);
 <a name="l00157"></a>00157
-<a name="l00158"></a>00158 <span class="keyword">static</span> <a class="code" href="g_i_l_0614.html">value_type</a> min_value() { <span class="keywordflow">return</span> MinVal::apply(); }
-<a name="l00159"></a>00159 <span class="keyword">static</span> <a class="code" href="g_i_l_0614.html">value_type</a> max_value() { <span class="keywordflow">return</span> MaxVal::apply(); }
+<a name="l00158"></a>00158 <span class="keyword">static</span> <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">value_type</a> min_value() { <span class="keywordflow">return</span> MinVal::apply(); }
+<a name="l00159"></a>00159 <span class="keyword">static</span> <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">value_type</a> max_value() { <span class="keywordflow">return</span> MaxVal::apply(); }
 <a name="l00160"></a>00160
-<a name="l00161"></a>00161 <a class="code" href="g_i_l_0614.html">scoped_channel_value</a>() {}
-<a name="l00162"></a>00162 <a class="code" href="g_i_l_0614.html">scoped_channel_value</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0614.html">scoped_channel_value</a>&amp; c) : _value(c.<a class="code" href="g_i_l_0614.html#r0">_value</a>) {}
-<a name="l00163"></a>00163 <a class="code" href="g_i_l_0614.html">scoped_channel_value</a>(BaseChannelValue val) : _value(val) {}
+<a name="l00161"></a>00161 <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">scoped_channel_value</a>() {}
+<a name="l00162"></a>00162 <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">scoped_channel_value</a>(<span class="keyword">const</span> <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">scoped_channel_value</a>&amp; c) : _value(c.<a class="code" href="g_i_l_0620.html#734cfc58c2d23ec05c26288f29070346">_value</a>) {}
+<a name="l00163"></a>00163 <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">scoped_channel_value</a>(BaseChannelValue val) : _value(val) {}
 <a name="l00164"></a>00164
-<a name="l00165"></a>00165 <a class="code" href="g_i_l_0614.html">scoped_channel_value</a>&amp; operator++() { ++_value; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00166"></a>00166 <a class="code" href="g_i_l_0614.html">scoped_channel_value</a>&amp; operator--() { --_value; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00165"></a>00165 <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">scoped_channel_value</a>&amp; operator++() { ++_value; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00166"></a>00166 <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">scoped_channel_value</a>&amp; operator--() { --_value; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
 <a name="l00167"></a>00167
-<a name="l00168"></a>00168 <a class="code" href="g_i_l_0614.html">scoped_channel_value</a> operator++(<span class="keywordtype">int</span>) { <a class="code" href="g_i_l_0614.html">scoped_channel_value</a> tmp=*<span class="keyword">this</span>; this-&gt;operator++(); <span class="keywordflow">return</span> tmp; }
-<a name="l00169"></a>00169 <a class="code" href="g_i_l_0614.html">scoped_channel_value</a> operator--(<span class="keywordtype">int</span>) { <a class="code" href="g_i_l_0614.html">scoped_channel_value</a> tmp=*<span class="keyword">this</span>; this-&gt;operator--(); <span class="keywordflow">return</span> tmp; }
+<a name="l00168"></a>00168 <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">scoped_channel_value</a> operator++(<span class="keywordtype">int</span>) { <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">scoped_channel_value</a> tmp=*<span class="keyword">this</span>; this-&gt;operator++(); <span class="keywordflow">return</span> tmp; }
+<a name="l00169"></a>00169 <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">scoped_channel_value</a> operator--(<span class="keywordtype">int</span>) { <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">scoped_channel_value</a> tmp=*<span class="keyword">this</span>; this-&gt;operator--(); <span class="keywordflow">return</span> tmp; }
 <a name="l00170"></a>00170
-<a name="l00171"></a>00171 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Scalar2&gt; <a class="code" href="g_i_l_0614.html">scoped_channel_value</a>&amp; operator+=(Scalar2 v) { _value+=v; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00172"></a>00172 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Scalar2&gt; <a class="code" href="g_i_l_0614.html">scoped_channel_value</a>&amp; operator-=(Scalar2 v) { _value-=v; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00173"></a>00173 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Scalar2&gt; <a class="code" href="g_i_l_0614.html">scoped_channel_value</a>&amp; operator*=(Scalar2 v) { _value*=v; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00174"></a>00174 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Scalar2&gt; <a class="code" href="g_i_l_0614.html">scoped_channel_value</a>&amp; operator/=(Scalar2 v) { _value/=v; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00171"></a>00171 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Scalar2&gt; <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">scoped_channel_value</a>&amp; operator+=(Scalar2 v) { _value+=v; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00172"></a>00172 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Scalar2&gt; <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">scoped_channel_value</a>&amp; operator-=(Scalar2 v) { _value-=v; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00173"></a>00173 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Scalar2&gt; <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">scoped_channel_value</a>&amp; operator*=(Scalar2 v) { _value*=v; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00174"></a>00174 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Scalar2&gt; <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">scoped_channel_value</a>&amp; operator/=(Scalar2 v) { _value/=v; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
 <a name="l00175"></a>00175
-<a name="l00176"></a>00176 <a class="code" href="g_i_l_0614.html">scoped_channel_value</a>&amp; operator=(BaseChannelValue v) { _value=v; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00176"></a>00176 <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">scoped_channel_value</a>&amp; operator=(BaseChannelValue v) { _value=v; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
 <a name="l00177"></a>00177 operator BaseChannelValue()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _value; }
 <a name="l00178"></a>00178 <span class="keyword">private</span>:
 <a name="l00179"></a>00179 BaseChannelValue _value;
@@ -207,284 +205,312 @@
 <a name="l00253"></a>00253 };
 <a name="l00254"></a>00254
 <a name="l00255"></a>00255 namespace detail {
-<a name="l00256"></a>00256 template &lt;typename Derived, typename BitField, int NumBits, bool Mutable&gt;
-<a name="l00257"></a>00257 class packed_channel_reference_base {
-<a name="l00258"></a>00258 protected:
-<a name="l00259"></a>00259 typedef typename mpl::if_c&lt;Mutable,void*,const void*&gt;::type data_ptr_t;
-<a name="l00260"></a>00260 public:
-<a name="l00261"></a>00261 data_ptr_t _data_ptr; <span class="comment">// void* pointer to the first byte of the bit range</span>
-<a name="l00262"></a>00262
-<a name="l00263"></a>00263 typedef packed_channel_value&lt;NumBits&gt; value_type;
-<a name="l00264"></a>00264 typedef const Derived reference;
-<a name="l00265"></a>00265 typedef value_type* pointer;
-<a name="l00266"></a>00266 typedef const value_type* const_pointer;
-<a name="l00267"></a>00267 BOOST_STATIC_CONSTANT(int, num_bits=NumBits);
-<a name="l00268"></a>00268 BOOST_STATIC_CONSTANT(bool, is_mutable=Mutable);
+<a name="l00256"></a>00256
+<a name="l00257"></a>00257 template &lt;std::size_t K&gt;
+<a name="l00258"></a>00258 struct static_copy_bytes {
+<a name="l00259"></a>00259 void operator()(const unsigned char* from, unsigned char* to) const {
+<a name="l00260"></a>00260 *to = *from;
+<a name="l00261"></a>00261 static_copy_bytes&lt;K-1&gt;()(++from,++to);
+<a name="l00262"></a>00262 }
+<a name="l00263"></a>00263 };
+<a name="l00264"></a>00264
+<a name="l00265"></a>00265 template &lt;&gt;
+<a name="l00266"></a>00266 struct static_copy_bytes&lt;0&gt; {
+<a name="l00267"></a>00267 void operator()(const unsigned char* , unsigned char*) const {}
+<a name="l00268"></a>00268 };
 <a name="l00269"></a>00269
-<a name="l00270"></a>00270 static value_type min_value() { return channel_traits&lt;value_type&gt;::min_value(); }
-<a name="l00271"></a>00271 static value_type max_value() { return channel_traits&lt;value_type&gt;::max_value(); }
-<a name="l00272"></a>00272
-<a name="l00273"></a>00273 typedef BitField bitfield_t;
-<a name="l00274"></a>00274 typedef typename value_type::integer_t integer_t;
-<a name="l00275"></a>00275
-<a name="l00276"></a>00276 packed_channel_reference_base(data_ptr_t data_ptr) : _data_ptr(data_ptr) {}
-<a name="l00277"></a>00277 packed_channel_reference_base(const packed_channel_reference_base&amp; ref) : _data_ptr(ref._data_ptr) {}
-<a name="l00278"></a>00278 const Derived&amp; operator=(integer_t v) const { set(v); return derived(); }
-<a name="l00279"></a>00279
-<a name="l00280"></a>00280 const Derived&amp; operator++() const { set(get()+1); return derived(); }
-<a name="l00281"></a>00281 const Derived&amp; operator--() const { set(get()-1); return derived(); }
-<a name="l00282"></a>00282
-<a name="l00283"></a>00283 Derived operator++(int) const { Derived tmp=derived(); this-&gt;operator++(); return tmp; }
-<a name="l00284"></a>00284 Derived operator--(int) const { Derived tmp=derived(); this-&gt;operator--(); return tmp; }
-<a name="l00285"></a>00285
-<a name="l00286"></a>00286 template &lt;typename Scalar2&gt; const Derived&amp; operator+=(Scalar2 v) const { set(get()+v); return derived(); }
-<a name="l00287"></a>00287 template &lt;typename Scalar2&gt; const Derived&amp; operator-=(Scalar2 v) const { set(get()-v); return derived(); }
-<a name="l00288"></a>00288 template &lt;typename Scalar2&gt; const Derived&amp; operator*=(Scalar2 v) const { set(get()*v); return derived(); }
-<a name="l00289"></a>00289 template &lt;typename Scalar2&gt; const Derived&amp; operator/=(Scalar2 v) const { set(get()/v); return derived(); }
-<a name="l00290"></a>00290
-<a name="l00291"></a>00291 operator integer_t() const { return get(); }
-<a name="l00292"></a>00292 data_ptr_t operator &amp;() const {return _data_ptr;}
-<a name="l00293"></a>00293 protected:
-<a name="l00294"></a>00294 static const integer_t max_val = (1&lt;&lt;NumBits) - 1;
-<a name="l00295"></a>00295 const bitfield_t&amp; const_data() const { return *static_cast&lt;const bitfield_t*&gt;(_data_ptr); }
-<a name="l00296"></a>00296 bitfield_t&amp; data() const { return *static_cast&lt; bitfield_t*&gt;(_data_ptr); }
-<a name="l00297"></a>00297 private:
-<a name="l00298"></a>00298 void set(integer_t value) const { <span class="comment">// can this be done faster??</span>
-<a name="l00299"></a>00299 const integer_t num_values = max_val+1;
-<a name="l00300"></a>00300 this-&gt;derived().set_unsafe(((value % num_values) + num_values) % num_values);
-<a name="l00301"></a>00301 }
-<a name="l00302"></a>00302 integer_t get() const { return derived().get(); }
-<a name="l00303"></a>00303 const Derived&amp; derived() const { return static_cast&lt;const Derived&amp;&gt;(*this); }
-<a name="l00304"></a>00304 };
-<a name="l00305"></a>00305 } <span class="comment">// namespace detail</span>
-<a name="l00306"></a>00306
-<a name="l00323"></a>00323 template &lt;typename BitField, <span class="comment">// A type that holds the bits of the pixel from which the channel is referenced. Typically an integral type, like boost::uint16_t</span>
-<a name="l00324"></a>00324 int FirstBit, int NumBits,<span class="comment">// Defines the sequence of bits in the data value that contain the channel </span>
-<a name="l00325"></a>00325 bool Mutable&gt; <span class="comment">// true if the reference is mutable </span>
-<a name="l00326"></a>00326 class packed_channel_reference;
-<a name="l00327"></a>00327
-<a name="l00328"></a>00328 template &lt;typename BitField, <span class="comment">// A type that holds the bits of the pixel from which the channel is referenced. Typically an integral type, like boost::uint16_t</span>
-<a name="l00329"></a>00329 int NumBits, <span class="comment">// Defines the sequence of bits in the data value that contain the channel </span>
-<a name="l00330"></a>00330 bool Mutable&gt; <span class="comment">// true if the reference is mutable </span>
-<a name="l00331"></a>00331 class packed_dynamic_channel_reference;
-<a name="l00332"></a>00332
-<a name="l00335"></a>00335 template &lt;typename BitField, int FirstBit, int NumBits&gt;
-<a name="l00336"></a><a class="code" href="g_i_l_0048.html">00336</a> class packed_channel_reference&lt;BitField,FirstBit,NumBits,false&gt;
-<a name="l00337"></a>00337 : public detail::packed_channel_reference_base&lt;packed_channel_reference&lt;BitField,FirstBit,NumBits,false&gt;,BitField,NumBits,false&gt; {
-<a name="l00338"></a>00338 typedef detail::packed_channel_reference_base&lt;packed_channel_reference&lt;BitField,FirstBit,NumBits,false&gt;,BitField,NumBits,false&gt; parent_t;
-<a name="l00339"></a>00339 friend class packed_channel_reference&lt;BitField,FirstBit,NumBits,true&gt;;
-<a name="l00340"></a>00340
-<a name="l00341"></a>00341 static const BitField channel_mask = parent_t::max_val&lt;&lt;FirstBit;
-<a name="l00342"></a>00342 void operator=(const packed_channel_reference&amp;);
-<a name="l00343"></a>00343 public:
-<a name="l00344"></a>00344 typedef const packed_channel_reference&lt;BitField,FirstBit,NumBits,false&gt; const_reference;
-<a name="l00345"></a>00345 typedef const packed_channel_reference&lt;BitField,FirstBit,NumBits,true&gt; mutable_reference;
-<a name="l00346"></a>00346 typedef typename parent_t::integer_t integer_t;
-<a name="l00347"></a>00347
-<a name="l00348"></a>00348 explicit packed_channel_reference(const void* data_ptr) : parent_t(data_ptr) {}
-<a name="l00349"></a>00349 packed_channel_reference(const packed_channel_reference&amp; ref) : parent_t(ref._data_ptr) {}
-<a name="l00350"></a>00350 packed_channel_reference(const mutable_reference&amp; ref) : parent_t(ref._data_ptr) {}
-<a name="l00351"></a>00351
-<a name="l00352"></a>00352 unsigned first_bit() const { return FirstBit; }
-<a name="l00353"></a>00353
-<a name="l00354"></a>00354 integer_t get() const { return integer_t((this-&gt;const_data()&amp;channel_mask) &gt;&gt; FirstBit); }
-<a name="l00355"></a>00355 };
-<a name="l00356"></a>00356
-<a name="l00359"></a>00359 template &lt;typename BitField, int FirstBit, int NumBits&gt;
-<a name="l00360"></a><a class="code" href="g_i_l_0050.html">00360</a> class packed_channel_reference&lt;BitField,FirstBit,NumBits,true&gt;
-<a name="l00361"></a>00361 : public detail::packed_channel_reference_base&lt;packed_channel_reference&lt;BitField,FirstBit,NumBits,true&gt;,BitField,NumBits,true&gt; {
-<a name="l00362"></a>00362 typedef detail::packed_channel_reference_base&lt;packed_channel_reference&lt;BitField,FirstBit,NumBits,true&gt;,BitField,NumBits,true&gt; parent_t;
-<a name="l00363"></a>00363 friend class packed_channel_reference&lt;BitField,FirstBit,NumBits,false&gt;;
-<a name="l00364"></a>00364
-<a name="l00365"></a>00365 static const BitField channel_mask = parent_t::max_val&lt;&lt;FirstBit;
-<a name="l00366"></a>00366 public:
-<a name="l00367"></a>00367 typedef const packed_channel_reference&lt;BitField,FirstBit,NumBits,false&gt; const_reference;
-<a name="l00368"></a>00368 typedef const packed_channel_reference&lt;BitField,FirstBit,NumBits,true&gt; mutable_reference;
-<a name="l00369"></a>00369 typedef typename parent_t::integer_t integer_t;
-<a name="l00370"></a>00370
-<a name="l00371"></a>00371 explicit packed_channel_reference(void* data_ptr) : parent_t(data_ptr) {}
-<a name="l00372"></a>00372 packed_channel_reference(const packed_channel_reference&amp; ref) : parent_t(ref._data_ptr) {}
-<a name="l00373"></a>00373
-<a name="l00374"></a>00374 const packed_channel_reference&amp; operator=(integer_t value) const { assert(value&lt;=parent_t::max_val); set_unsafe(value); return *this; }
-<a name="l00375"></a>00375 const packed_channel_reference&amp; operator=(const mutable_reference&amp; ref) const { set_from_reference(ref.data()); return *this; }
-<a name="l00376"></a>00376 const packed_channel_reference&amp; operator=(const const_reference&amp; ref) const { set_from_reference(ref.const_data()); return *this; }
-<a name="l00377"></a>00377
-<a name="l00378"></a>00378 template &lt;bool Mutable1&gt;
-<a name="l00379"></a>00379 const packed_channel_reference&amp; operator=(const packed_dynamic_channel_reference&lt;BitField,NumBits,Mutable1&gt;&amp; ref) const { set_unsafe(ref.get()); return *this; }
+<a name="l00270"></a>00270 template &lt;typename Derived, typename BitField, int NumBits, bool Mutable&gt;
+<a name="l00271"></a>00271 class packed_channel_reference_base {
+<a name="l00272"></a>00272 protected:
+<a name="l00273"></a>00273 typedef typename mpl::if_c&lt;Mutable,void*,const void*&gt;::type data_ptr_t;
+<a name="l00274"></a>00274 public:
+<a name="l00275"></a>00275 data_ptr_t _data_ptr; <span class="comment">// void* pointer to the first byte of the bit range</span>
+<a name="l00276"></a>00276
+<a name="l00277"></a>00277 typedef packed_channel_value&lt;NumBits&gt; value_type;
+<a name="l00278"></a>00278 typedef const Derived reference;
+<a name="l00279"></a>00279 typedef value_type* pointer;
+<a name="l00280"></a>00280 typedef const value_type* const_pointer;
+<a name="l00281"></a>00281 BOOST_STATIC_CONSTANT(int, num_bits=NumBits);
+<a name="l00282"></a>00282 BOOST_STATIC_CONSTANT(bool, is_mutable=Mutable);
+<a name="l00283"></a>00283
+<a name="l00284"></a>00284 static value_type min_value() { return channel_traits&lt;value_type&gt;::min_value(); }
+<a name="l00285"></a>00285 static value_type max_value() { return channel_traits&lt;value_type&gt;::max_value(); }
+<a name="l00286"></a>00286
+<a name="l00287"></a>00287 typedef BitField bitfield_t;
+<a name="l00288"></a>00288 typedef typename value_type::integer_t integer_t;
+<a name="l00289"></a>00289
+<a name="l00290"></a>00290 packed_channel_reference_base(data_ptr_t data_ptr) : _data_ptr(data_ptr) {}
+<a name="l00291"></a>00291 packed_channel_reference_base(const packed_channel_reference_base&amp; ref) : _data_ptr(ref._data_ptr) {}
+<a name="l00292"></a>00292 const Derived&amp; operator=(integer_t v) const { set(v); return derived(); }
+<a name="l00293"></a>00293
+<a name="l00294"></a>00294 const Derived&amp; operator++() const { set(get()+1); return derived(); }
+<a name="l00295"></a>00295 const Derived&amp; operator--() const { set(get()-1); return derived(); }
+<a name="l00296"></a>00296
+<a name="l00297"></a>00297 Derived operator++(int) const { Derived tmp=derived(); this-&gt;operator++(); return tmp; }
+<a name="l00298"></a>00298 Derived operator--(int) const { Derived tmp=derived(); this-&gt;operator--(); return tmp; }
+<a name="l00299"></a>00299
+<a name="l00300"></a>00300 template &lt;typename Scalar2&gt; const Derived&amp; operator+=(Scalar2 v) const { set(get()+v); return derived(); }
+<a name="l00301"></a>00301 template &lt;typename Scalar2&gt; const Derived&amp; operator-=(Scalar2 v) const { set(get()-v); return derived(); }
+<a name="l00302"></a>00302 template &lt;typename Scalar2&gt; const Derived&amp; operator*=(Scalar2 v) const { set(get()*v); return derived(); }
+<a name="l00303"></a>00303 template &lt;typename Scalar2&gt; const Derived&amp; operator/=(Scalar2 v) const { set(get()/v); return derived(); }
+<a name="l00304"></a>00304
+<a name="l00305"></a>00305 operator integer_t() const { return get(); }
+<a name="l00306"></a>00306 data_ptr_t operator &amp;() const {return _data_ptr;}
+<a name="l00307"></a>00307 protected:
+<a name="l00308"></a>00308 static const integer_t max_val = (1&lt;&lt;NumBits) - 1;
+<a name="l00309"></a>00309
+<a name="l00310"></a>00310 #ifdef GIL_NONWORD_POINTER_ALIGNMENT_SUPPORTED
+<a name="l00311"></a>00311 const bitfield_t&amp; get_data() const { return *static_cast&lt;const bitfield_t*&gt;(_data_ptr); }
+<a name="l00312"></a>00312 void set_data(const bitfield_t&amp; val) const { *static_cast&lt; bitfield_t*&gt;(_data_ptr) = val; }
+<a name="l00313"></a>00313 #else
+<a name="l00314"></a>00314 bitfield_t get_data() const {
+<a name="l00315"></a>00315 bitfield_t ret;
+<a name="l00316"></a>00316 static_copy_bytes&lt;sizeof(bitfield_t) &gt;()(gil_reinterpret_cast_c&lt;const unsigned char*&gt;(_data_ptr),gil_reinterpret_cast&lt;unsigned char*&gt;(&amp;ret));
+<a name="l00317"></a>00317 return ret;
+<a name="l00318"></a>00318 }
+<a name="l00319"></a>00319 void set_data(const bitfield_t&amp; val) const {
+<a name="l00320"></a>00320 static_copy_bytes&lt;sizeof(bitfield_t) &gt;()(gil_reinterpret_cast_c&lt;const unsigned char*&gt;(&amp;val),gil_reinterpret_cast&lt;unsigned char*&gt;(_data_ptr));
+<a name="l00321"></a>00321 }
+<a name="l00322"></a>00322 #endif
+<a name="l00323"></a>00323
+<a name="l00324"></a>00324 private:
+<a name="l00325"></a>00325 void set(integer_t value) const { <span class="comment">// can this be done faster??</span>
+<a name="l00326"></a>00326 const integer_t num_values = max_val+1;
+<a name="l00327"></a>00327 this-&gt;derived().set_unsafe(((value % num_values) + num_values) % num_values);
+<a name="l00328"></a>00328 }
+<a name="l00329"></a>00329 integer_t get() const { return derived().get(); }
+<a name="l00330"></a>00330 const Derived&amp; derived() const { return static_cast&lt;const Derived&amp;&gt;(*this); }
+<a name="l00331"></a>00331 };
+<a name="l00332"></a>00332 } <span class="comment">// namespace detail</span>
+<a name="l00333"></a>00333
+<a name="l00350"></a>00350 template &lt;typename BitField, <span class="comment">// A type that holds the bits of the pixel from which the channel is referenced. Typically an integral type, like boost::uint16_t</span>
+<a name="l00351"></a>00351 int FirstBit, int NumBits,<span class="comment">// Defines the sequence of bits in the data value that contain the channel </span>
+<a name="l00352"></a>00352 bool Mutable&gt; <span class="comment">// true if the reference is mutable </span>
+<a name="l00353"></a>00353 class packed_channel_reference;
+<a name="l00354"></a>00354
+<a name="l00355"></a>00355 template &lt;typename BitField, <span class="comment">// A type that holds the bits of the pixel from which the channel is referenced. Typically an integral type, like boost::uint16_t</span>
+<a name="l00356"></a>00356 int NumBits, <span class="comment">// Defines the sequence of bits in the data value that contain the channel </span>
+<a name="l00357"></a>00357 bool Mutable&gt; <span class="comment">// true if the reference is mutable </span>
+<a name="l00358"></a>00358 class packed_dynamic_channel_reference;
+<a name="l00359"></a>00359
+<a name="l00362"></a>00362 template &lt;typename BitField, int FirstBit, int NumBits&gt;
+<a name="l00363"></a><a class="code" href="g_i_l_0048.html">00363</a> class packed_channel_reference&lt;BitField,FirstBit,NumBits,false&gt;
+<a name="l00364"></a>00364 : public detail::packed_channel_reference_base&lt;packed_channel_reference&lt;BitField,FirstBit,NumBits,false&gt;,BitField,NumBits,false&gt; {
+<a name="l00365"></a>00365 typedef detail::packed_channel_reference_base&lt;packed_channel_reference&lt;BitField,FirstBit,NumBits,false&gt;,BitField,NumBits,false&gt; parent_t;
+<a name="l00366"></a>00366 friend class packed_channel_reference&lt;BitField,FirstBit,NumBits,true&gt;;
+<a name="l00367"></a>00367
+<a name="l00368"></a>00368 static const BitField channel_mask = parent_t::max_val&lt;&lt;FirstBit;
+<a name="l00369"></a>00369 void operator=(const packed_channel_reference&amp;);
+<a name="l00370"></a>00370 public:
+<a name="l00371"></a>00371 typedef const packed_channel_reference&lt;BitField,FirstBit,NumBits,false&gt; const_reference;
+<a name="l00372"></a>00372 typedef const packed_channel_reference&lt;BitField,FirstBit,NumBits,true&gt; mutable_reference;
+<a name="l00373"></a>00373 typedef typename parent_t::integer_t integer_t;
+<a name="l00374"></a>00374
+<a name="l00375"></a>00375 explicit packed_channel_reference(const void* data_ptr) : parent_t(data_ptr) {}
+<a name="l00376"></a>00376 packed_channel_reference(const packed_channel_reference&amp; ref) : parent_t(ref._data_ptr) {}
+<a name="l00377"></a>00377 packed_channel_reference(const mutable_reference&amp; ref) : parent_t(ref._data_ptr) {}
+<a name="l00378"></a>00378
+<a name="l00379"></a>00379 unsigned first_bit() const { return FirstBit; }
 <a name="l00380"></a>00380
-<a name="l00381"></a>00381 unsigned first_bit() const { return FirstBit; }
-<a name="l00382"></a>00382
-<a name="l00383"></a>00383 integer_t get() const { return integer_t((this-&gt;const_data()&amp;channel_mask) &gt;&gt; FirstBit); }
-<a name="l00384"></a>00384 void set_unsafe(integer_t value) const { this-&gt;data() = (this-&gt;const_data() &amp; ~channel_mask) | (value&lt;&lt;FirstBit); }
-<a name="l00385"></a>00385 private:
-<a name="l00386"></a>00386 void set_from_reference(const BitField&amp; other_bits) const { this-&gt;data() = (this-&gt;const_data() &amp; ~channel_mask) | (other_bits &amp; channel_mask); }
-<a name="l00387"></a>00387 };
-<a name="l00388"></a>00388
-<a name="l00389"></a>00389 } } <span class="comment">// namespace boost::gil</span>
-<a name="l00390"></a>00390
-<a name="l00391"></a>00391 namespace std {
-<a name="l00392"></a>00392 <span class="comment">// We are forced to define swap inside std namespace because on some platforms (Visual Studio 8) STL calls swap qualified.</span>
-<a name="l00393"></a>00393 <span class="comment">// swap with 'left bias': </span>
-<a name="l00394"></a>00394 <span class="comment">// - swap between proxy and anything</span>
-<a name="l00395"></a>00395 <span class="comment">// - swap between value type and proxy</span>
-<a name="l00396"></a>00396 <span class="comment">// - swap between proxy and proxy</span>
+<a name="l00381"></a>00381 integer_t get() const { return integer_t((this-&gt;get_data()&amp;channel_mask) &gt;&gt; FirstBit); }
+<a name="l00382"></a>00382 };
+<a name="l00383"></a>00383
+<a name="l00386"></a>00386 template &lt;typename BitField, int FirstBit, int NumBits&gt;
+<a name="l00387"></a><a class="code" href="g_i_l_0050.html">00387</a> class packed_channel_reference&lt;BitField,FirstBit,NumBits,true&gt;
+<a name="l00388"></a>00388 : public detail::packed_channel_reference_base&lt;packed_channel_reference&lt;BitField,FirstBit,NumBits,true&gt;,BitField,NumBits,true&gt; {
+<a name="l00389"></a>00389 typedef detail::packed_channel_reference_base&lt;packed_channel_reference&lt;BitField,FirstBit,NumBits,true&gt;,BitField,NumBits,true&gt; parent_t;
+<a name="l00390"></a>00390 friend class packed_channel_reference&lt;BitField,FirstBit,NumBits,false&gt;;
+<a name="l00391"></a>00391
+<a name="l00392"></a>00392 static const BitField channel_mask = parent_t::max_val&lt;&lt;FirstBit;
+<a name="l00393"></a>00393 public:
+<a name="l00394"></a>00394 typedef const packed_channel_reference&lt;BitField,FirstBit,NumBits,false&gt; const_reference;
+<a name="l00395"></a>00395 typedef const packed_channel_reference&lt;BitField,FirstBit,NumBits,true&gt; mutable_reference;
+<a name="l00396"></a>00396 typedef typename parent_t::integer_t integer_t;
 <a name="l00397"></a>00397
-<a name="l00400"></a>00400 template &lt;typename BF, int FB, int NB, bool M, typename R&gt; inline
-<a name="l00401"></a><a class="code" href="g_i_l_0171.html#ga0">00401</a> void swap(boost::gil::packed_channel_reference&lt;BF,FB,NB,M&gt; x, R&amp; y) {
-<a name="l00402"></a>00402 boost::gil::swap_proxy&lt;typename boost::gil::packed_channel_reference&lt;BF,FB,NB,M&gt;::value_type&gt;(x,y);
-<a name="l00403"></a>00403 }
+<a name="l00398"></a>00398 explicit packed_channel_reference(void* data_ptr) : parent_t(data_ptr) {}
+<a name="l00399"></a>00399 packed_channel_reference(const packed_channel_reference&amp; ref) : parent_t(ref._data_ptr) {}
+<a name="l00400"></a>00400
+<a name="l00401"></a>00401 const packed_channel_reference&amp; operator=(integer_t value) const { assert(value&lt;=parent_t::max_val); set_unsafe(value); return *this; }
+<a name="l00402"></a>00402 const packed_channel_reference&amp; operator=(const mutable_reference&amp; ref) const { set_from_reference(ref.get_data()); return *this; }
+<a name="l00403"></a>00403 const packed_channel_reference&amp; operator=(const const_reference&amp; ref) const { set_from_reference(ref.get_data()); return *this; }
 <a name="l00404"></a>00404
-<a name="l00405"></a>00405
-<a name="l00408"></a>00408 template &lt;typename BF, int FB, int NB, bool M&gt; inline
-<a name="l00409"></a><a class="code" href="g_i_l_0171.html#ga1">00409</a> void swap(typename boost::gil::packed_channel_reference&lt;BF,FB,NB,M&gt;::value_type&amp; x, boost::gil::packed_channel_reference&lt;BF,FB,NB,M&gt; y) {
-<a name="l00410"></a>00410 boost::gil::swap_proxy&lt;typename boost::gil::packed_channel_reference&lt;BF,FB,NB,M&gt;::value_type&gt;(x,y);
-<a name="l00411"></a>00411 }
-<a name="l00412"></a>00412
-<a name="l00413"></a>00413
-<a name="l00416"></a>00416 template &lt;typename BF, int FB, int NB, bool M&gt; inline
-<a name="l00417"></a><a class="code" href="g_i_l_0171.html#ga2">00417</a> void swap(boost::gil::packed_channel_reference&lt;BF,FB,NB,M&gt; x, boost::gil::packed_channel_reference&lt;BF,FB,NB,M&gt; y) {
-<a name="l00418"></a>00418 boost::gil::swap_proxy&lt;typename boost::gil::packed_channel_reference&lt;BF,FB,NB,M&gt;::value_type&gt;(x,y);
-<a name="l00419"></a>00419 }
-<a name="l00420"></a>00420 } <span class="comment">// namespace std</span>
-<a name="l00421"></a>00421
-<a name="l00422"></a>00422 namespace boost { namespace gil {
-<a name="l00423"></a>00423
-<a name="l00441"></a>00441
-<a name="l00442"></a>00442
-<a name="l00443"></a>00443
-<a name="l00444"></a>00444 template &lt;typename BitField, int NumBits&gt;
-<a name="l00445"></a><a class="code" href="g_i_l_0054.html">00445</a> class packed_dynamic_channel_reference&lt;BitField,NumBits,false&gt;
-<a name="l00446"></a>00446 : public detail::packed_channel_reference_base&lt;packed_dynamic_channel_reference&lt;BitField,NumBits,false&gt;,BitField,NumBits,false&gt; {
-<a name="l00447"></a>00447 typedef detail::packed_channel_reference_base&lt;packed_dynamic_channel_reference&lt;BitField,NumBits,false&gt;,BitField,NumBits,false&gt; parent_t;
-<a name="l00448"></a>00448 friend class packed_dynamic_channel_reference&lt;BitField,NumBits,true&gt;;
-<a name="l00449"></a>00449
-<a name="l00450"></a>00450 unsigned _first_bit; <span class="comment">// 0..7</span>
-<a name="l00451"></a>00451
-<a name="l00452"></a>00452 void operator=(const packed_dynamic_channel_reference&amp;);
-<a name="l00453"></a>00453 public:
-<a name="l00454"></a>00454 typedef const packed_dynamic_channel_reference&lt;BitField,NumBits,false&gt; const_reference;
-<a name="l00455"></a>00455 typedef const packed_dynamic_channel_reference&lt;BitField,NumBits,true&gt; mutable_reference;
-<a name="l00456"></a>00456 typedef typename parent_t::integer_t integer_t;
-<a name="l00457"></a>00457
-<a name="l00458"></a>00458 packed_dynamic_channel_reference(const void* data_ptr, unsigned first_bit) : parent_t(data_ptr), _first_bit(first_bit) {}
-<a name="l00459"></a>00459 packed_dynamic_channel_reference(const const_reference&amp; ref) : parent_t(ref._data_ptr), _first_bit(ref._first_bit) {}
-<a name="l00460"></a>00460 packed_dynamic_channel_reference(const mutable_reference&amp; ref) : parent_t(ref._data_ptr), _first_bit(ref._first_bit) {}
-<a name="l00461"></a>00461
-<a name="l00462"></a>00462 unsigned first_bit() const { return _first_bit; }
-<a name="l00463"></a>00463
-<a name="l00464"></a>00464 integer_t get() const {
-<a name="l00465"></a>00465 const BitField channel_mask = parent_t::max_val&lt;&lt;_first_bit;
-<a name="l00466"></a>00466 return (this-&gt;const_data()&amp;channel_mask) &gt;&gt; _first_bit;
-<a name="l00467"></a>00467 }
-<a name="l00468"></a>00468 };
+<a name="l00405"></a>00405 template &lt;bool Mutable1&gt;
+<a name="l00406"></a>00406 const packed_channel_reference&amp; operator=(const packed_dynamic_channel_reference&lt;BitField,NumBits,Mutable1&gt;&amp; ref) const { set_unsafe(ref.get()); return *this; }
+<a name="l00407"></a>00407
+<a name="l00408"></a>00408 unsigned first_bit() const { return FirstBit; }
+<a name="l00409"></a>00409
+<a name="l00410"></a>00410 integer_t get() const { return integer_t((this-&gt;get_data()&amp;channel_mask) &gt;&gt; FirstBit); }
+<a name="l00411"></a>00411 void set_unsafe(integer_t value) const { this-&gt;set_data((this-&gt;get_data() &amp; ~channel_mask) | (value&lt;&lt;FirstBit)); }
+<a name="l00412"></a>00412 private:
+<a name="l00413"></a>00413 void set_from_reference(const BitField&amp; other_bits) const { this-&gt;set_data((this-&gt;get_data() &amp; ~channel_mask) | (other_bits &amp; channel_mask)); }
+<a name="l00414"></a>00414 };
+<a name="l00415"></a>00415
+<a name="l00416"></a>00416 } } <span class="comment">// namespace boost::gil</span>
+<a name="l00417"></a>00417
+<a name="l00418"></a>00418 namespace std {
+<a name="l00419"></a>00419 <span class="comment">// We are forced to define swap inside std namespace because on some platforms (Visual Studio 8) STL calls swap qualified.</span>
+<a name="l00420"></a>00420 <span class="comment">// swap with 'left bias': </span>
+<a name="l00421"></a>00421 <span class="comment">// - swap between proxy and anything</span>
+<a name="l00422"></a>00422 <span class="comment">// - swap between value type and proxy</span>
+<a name="l00423"></a>00423 <span class="comment">// - swap between proxy and proxy</span>
+<a name="l00424"></a>00424
+<a name="l00427"></a>00427 template &lt;typename BF, int FB, int NB, bool M, typename R&gt; inline
+<a name="l00428"></a><a class="code" href="g_i_l_0176.html#g80e89636c0d110249fedf6ea14a477f7">00428</a> void swap(const boost::gil::packed_channel_reference&lt;BF,FB,NB,M&gt; x, R&amp; y) {
+<a name="l00429"></a>00429 boost::gil::swap_proxy&lt;typename boost::gil::packed_channel_reference&lt;BF,FB,NB,M&gt;::value_type&gt;(x,y);
+<a name="l00430"></a>00430 }
+<a name="l00431"></a>00431
+<a name="l00432"></a>00432
+<a name="l00435"></a>00435 template &lt;typename BF, int FB, int NB, bool M&gt; inline
+<a name="l00436"></a><a class="code" href="g_i_l_0176.html#g9541bc0769202d632e1b869e1cf217e0">00436</a> void swap(typename boost::gil::packed_channel_reference&lt;BF,FB,NB,M&gt;::value_type&amp; x, const boost::gil::packed_channel_reference&lt;BF,FB,NB,M&gt; y) {
+<a name="l00437"></a>00437 boost::gil::swap_proxy&lt;typename boost::gil::packed_channel_reference&lt;BF,FB,NB,M&gt;::value_type&gt;(x,y);
+<a name="l00438"></a>00438 }
+<a name="l00439"></a>00439
+<a name="l00440"></a>00440
+<a name="l00443"></a>00443 template &lt;typename BF, int FB, int NB, bool M&gt; inline
+<a name="l00444"></a><a class="code" href="g_i_l_0176.html#g20a753330c605ac59c89aa784ab89eca">00444</a> void swap(const boost::gil::packed_channel_reference&lt;BF,FB,NB,M&gt; x, const boost::gil::packed_channel_reference&lt;BF,FB,NB,M&gt; y) {
+<a name="l00445"></a>00445 boost::gil::swap_proxy&lt;typename boost::gil::packed_channel_reference&lt;BF,FB,NB,M&gt;::value_type&gt;(x,y);
+<a name="l00446"></a>00446 }
+<a name="l00447"></a>00447 } <span class="comment">// namespace std</span>
+<a name="l00448"></a>00448
+<a name="l00449"></a>00449 namespace boost { namespace gil {
+<a name="l00450"></a>00450
+<a name="l00468"></a>00468
 <a name="l00469"></a>00469
-<a name="l00473"></a>00473 template &lt;typename BitField, int NumBits&gt;
-<a name="l00474"></a><a class="code" href="g_i_l_0056.html">00474</a> class packed_dynamic_channel_reference&lt;BitField,NumBits,true&gt;
-<a name="l00475"></a>00475 : <span class="keyword">public</span> detail::packed_channel_reference_base&lt;packed_dynamic_channel_reference&lt;BitField,NumBits,true&gt;,BitField,NumBits,true&gt; {
-<a name="l00476"></a>00476 <span class="keyword">typedef</span> detail::packed_channel_reference_base&lt;packed_dynamic_channel_reference&lt;BitField,NumBits,true&gt;,BitField,NumBits,<span class="keyword">true</span>&gt; parent_t;
-<a name="l00477"></a>00477 <span class="keyword">friend</span> <span class="keyword">class </span>packed_dynamic_channel_reference&lt;BitField,NumBits,false&gt;;
+<a name="l00470"></a>00470
+<a name="l00471"></a>00471 template &lt;typename BitField, int NumBits&gt;
+<a name="l00472"></a><a class="code" href="g_i_l_0054.html">00472</a> class packed_dynamic_channel_reference&lt;BitField,NumBits,false&gt;
+<a name="l00473"></a>00473 : public detail::packed_channel_reference_base&lt;packed_dynamic_channel_reference&lt;BitField,NumBits,false&gt;,BitField,NumBits,false&gt; {
+<a name="l00474"></a>00474 typedef detail::packed_channel_reference_base&lt;packed_dynamic_channel_reference&lt;BitField,NumBits,false&gt;,BitField,NumBits,false&gt; parent_t;
+<a name="l00475"></a>00475 friend class packed_dynamic_channel_reference&lt;BitField,NumBits,true&gt;;
+<a name="l00476"></a>00476
+<a name="l00477"></a>00477 unsigned _first_bit; <span class="comment">// 0..7</span>
 <a name="l00478"></a>00478
-<a name="l00479"></a>00479 <span class="keywordtype">unsigned</span> _first_bit;
-<a name="l00480"></a>00480
-<a name="l00481"></a>00481 <span class="keyword">public</span>:
-<a name="l00482"></a>00482 <span class="keyword">typedef</span> <span class="keyword">const</span> packed_dynamic_channel_reference&lt;BitField,NumBits,false&gt; <a class="code" href="g_i_l_0054.html">const_reference</a>;
-<a name="l00483"></a>00483 <span class="keyword">typedef</span> <span class="keyword">const</span> packed_dynamic_channel_reference&lt;BitField,NumBits,true&gt; <a class="code" href="g_i_l_0056.html">mutable_reference</a>;
-<a name="l00484"></a>00484 <span class="keyword">typedef</span> <span class="keyword">typename</span> parent_t::integer_t integer_t;
-<a name="l00485"></a>00485
-<a name="l00486"></a>00486 packed_dynamic_channel_reference(<span class="keywordtype">void</span>* data_ptr, <span class="keywordtype">unsigned</span> first_bit) : parent_t((((<span class="keywordtype">char</span>*)data_ptr)+first_bit/8)), _first_bit(first_bit%8) {}
-<a name="l00487"></a>00487 packed_dynamic_channel_reference(<span class="keyword">const</span> packed_dynamic_channel_reference&amp; ref) : parent_t(ref._data_ptr), _first_bit(ref._first_bit) {}
+<a name="l00479"></a>00479 void operator=(const packed_dynamic_channel_reference&amp;);
+<a name="l00480"></a>00480 public:
+<a name="l00481"></a>00481 typedef const packed_dynamic_channel_reference&lt;BitField,NumBits,false&gt; const_reference;
+<a name="l00482"></a>00482 typedef const packed_dynamic_channel_reference&lt;BitField,NumBits,true&gt; mutable_reference;
+<a name="l00483"></a>00483 typedef typename parent_t::integer_t integer_t;
+<a name="l00484"></a>00484
+<a name="l00485"></a>00485 packed_dynamic_channel_reference(const void* data_ptr, unsigned first_bit) : parent_t(data_ptr), _first_bit(first_bit) {}
+<a name="l00486"></a>00486 packed_dynamic_channel_reference(const const_reference&amp; ref) : parent_t(ref._data_ptr), _first_bit(ref._first_bit) {}
+<a name="l00487"></a>00487 packed_dynamic_channel_reference(const mutable_reference&amp; ref) : parent_t(ref._data_ptr), _first_bit(ref._first_bit) {}
 <a name="l00488"></a>00488
-<a name="l00489"></a>00489 <span class="keyword">const</span> packed_dynamic_channel_reference&amp; operator=(integer_t value)<span class="keyword"> const </span>{ assert(value&lt;=parent_t::max_val); set_unsafe(value); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00490"></a>00490 <span class="keyword">const</span> packed_dynamic_channel_reference&amp; operator=(<span class="keyword">const</span> <a class="code" href="g_i_l_0056.html">mutable_reference</a>&amp; ref)<span class="keyword"> const </span>{ set_unsafe(ref.<a class="code" href="g_i_l_0056.html#a7">get</a>()); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00491"></a>00491 <span class="keyword">const</span> packed_dynamic_channel_reference&amp; operator=(<span class="keyword">const</span> <a class="code" href="g_i_l_0054.html">const_reference</a>&amp; ref)<span class="keyword"> const </span>{ set_unsafe(ref.<a class="code" href="g_i_l_0054.html#a4">get</a>()); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-<a name="l00492"></a>00492
-<a name="l00493"></a>00493 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BitField1, <span class="keywordtype">int</span> FirstBit1, <span class="keywordtype">bool</span> Mutable1&gt;
-<a name="l00494"></a>00494 <span class="keyword">const</span> packed_dynamic_channel_reference&amp; operator=(<span class="keyword">const</span> packed_channel_reference&lt;BitField1, FirstBit1, NumBits, Mutable1&gt;&amp; ref)<span class="keyword"> const </span>
-<a name="l00495"></a>00495 <span class="keyword"> </span>{ set_unsafe(ref.get()); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00489"></a>00489 unsigned first_bit() const { return _first_bit; }
+<a name="l00490"></a>00490
+<a name="l00491"></a>00491 integer_t get() const {
+<a name="l00492"></a>00492 const BitField channel_mask = parent_t::max_val&lt;&lt;_first_bit;
+<a name="l00493"></a>00493 return (this-&gt;get_data()&amp;channel_mask) &gt;&gt; _first_bit;
+<a name="l00494"></a>00494 }
+<a name="l00495"></a>00495 };
 <a name="l00496"></a>00496
-<a name="l00497"></a>00497 <span class="keywordtype">unsigned</span> first_bit()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _first_bit; }
-<a name="l00498"></a>00498
-<a name="l00499"></a>00499 integer_t get()<span class="keyword"> const </span>{
-<a name="l00500"></a>00500 <span class="keyword">const</span> BitField channel_mask = parent_t::max_val&lt;&lt;_first_bit;
-<a name="l00501"></a>00501 <span class="keywordflow">return</span> (this-&gt;const_data()&amp;channel_mask) &gt;&gt; _first_bit;
-<a name="l00502"></a>00502 }
-<a name="l00503"></a>00503 <span class="keywordtype">void</span> set_unsafe(integer_t value)<span class="keyword"> const </span>{
-<a name="l00504"></a>00504 <span class="keyword">const</span> BitField channel_mask = parent_t::max_val&lt;&lt;_first_bit;
-<a name="l00505"></a>00505 this-&gt;data() = (this-&gt;const_data() &amp; ~channel_mask) | value&lt;&lt;_first_bit;
-<a name="l00506"></a>00506 }
-<a name="l00507"></a>00507 };
-<a name="l00508"></a>00508 } } <span class="comment">// namespace boost::gil</span>
-<a name="l00509"></a>00509
-<a name="l00510"></a>00510 <span class="keyword">namespace </span>std {
-<a name="l00511"></a>00511 <span class="comment">// We are forced to define swap inside std namespace because on some platforms (Visual Studio 8) STL calls swap qualified.</span>
-<a name="l00512"></a>00512 <span class="comment">// swap with 'left bias': </span>
-<a name="l00513"></a>00513 <span class="comment">// - swap between proxy and anything</span>
-<a name="l00514"></a>00514 <span class="comment">// - swap between value type and proxy</span>
-<a name="l00515"></a>00515 <span class="comment">// - swap between proxy and proxy</span>
-<a name="l00516"></a>00516
-<a name="l00517"></a>00517
-<a name="l00520"></a>00520 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BF, <span class="keywordtype">int</span> NB, <span class="keywordtype">bool</span> M, <span class="keyword">typename</span> R&gt; <span class="keyword">inline</span>
-<a name="l00521"></a><a class="code" href="g_i_l_0170.html#ga0">00521</a> <span class="keywordtype">void</span> swap(boost::gil::packed_dynamic_channel_reference&lt;BF,NB,M&gt; x, R&amp; y) {
-<a name="l00522"></a>00522 boost::gil::swap_proxy&lt;typename boost::gil::packed_dynamic_channel_reference&lt;BF,NB,M&gt;::value_type&gt;(x,y);
-<a name="l00523"></a>00523 }
-<a name="l00524"></a>00524
+<a name="l00500"></a>00500 template &lt;typename BitField, int NumBits&gt;
+<a name="l00501"></a><a class="code" href="g_i_l_0056.html">00501</a> class packed_dynamic_channel_reference&lt;BitField,NumBits,true&gt;
+<a name="l00502"></a>00502 : <span class="keyword">public</span> detail::packed_channel_reference_base&lt;packed_dynamic_channel_reference&lt;BitField,NumBits,true&gt;,BitField,NumBits,true&gt; {
+<a name="l00503"></a>00503 <span class="keyword">typedef</span> detail::packed_channel_reference_base&lt;packed_dynamic_channel_reference&lt;BitField,NumBits,true&gt;,BitField,NumBits,<span class="keyword">true</span>&gt; parent_t;
+<a name="l00504"></a>00504 <span class="keyword">friend</span> <span class="keyword">class </span>packed_dynamic_channel_reference&lt;BitField,NumBits,false&gt;;
+<a name="l00505"></a>00505
+<a name="l00506"></a>00506 <span class="keywordtype">unsigned</span> _first_bit;
+<a name="l00507"></a>00507
+<a name="l00508"></a>00508 <span class="keyword">public</span>:
+<a name="l00509"></a>00509 <span class="keyword">typedef</span> <span class="keyword">const</span> packed_dynamic_channel_reference&lt;BitField,NumBits,false&gt; <a class="code" href="g_i_l_0054.html" title="Models a constant subbyte channel reference whose bit offset is a runtime parameter...">const_reference</a>;
+<a name="l00510"></a>00510 <span class="keyword">typedef</span> <span class="keyword">const</span> packed_dynamic_channel_reference&lt;BitField,NumBits,true&gt; <a class="code" href="g_i_l_0056.html" title="Models a mutable subbyte channel reference whose bit offset is a runtime parameter...">mutable_reference</a>;
+<a name="l00511"></a>00511 <span class="keyword">typedef</span> <span class="keyword">typename</span> parent_t::integer_t integer_t;
+<a name="l00512"></a>00512
+<a name="l00513"></a>00513 packed_dynamic_channel_reference(<span class="keywordtype">void</span>* data_ptr, <span class="keywordtype">unsigned</span> first_bit) : parent_t(data_ptr), _first_bit(first_bit) {}
+<a name="l00514"></a>00514 packed_dynamic_channel_reference(<span class="keyword">const</span> packed_dynamic_channel_reference&amp; ref) : parent_t(ref._data_ptr), _first_bit(ref._first_bit) {}
+<a name="l00515"></a>00515
+<a name="l00516"></a>00516 <span class="keyword">const</span> packed_dynamic_channel_reference&amp; operator=(integer_t value)<span class="keyword"> const </span>{ assert(value&lt;=parent_t::max_val); set_unsafe(value); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00517"></a>00517 <span class="keyword">const</span> packed_dynamic_channel_reference&amp; operator=(<span class="keyword">const</span> <a class="code" href="g_i_l_0056.html" title="Models a mutable subbyte channel reference whose bit offset is a runtime parameter...">mutable_reference</a>&amp; ref)<span class="keyword"> const </span>{ set_unsafe(ref.<a class="code" href="g_i_l_0056.html#acb80df4b55e284a1e5cc442604aedea">get</a>()); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00518"></a>00518 <span class="keyword">const</span> packed_dynamic_channel_reference&amp; operator=(<span class="keyword">const</span> <a class="code" href="g_i_l_0054.html" title="Models a constant subbyte channel reference whose bit offset is a runtime parameter...">const_reference</a>&amp; ref)<span class="keyword"> const </span>{ set_unsafe(ref.<a class="code" href="g_i_l_0054.html#acb80df4b55e284a1e5cc442604aedea">get</a>()); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00519"></a>00519
+<a name="l00520"></a>00520 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BitField1, <span class="keywordtype">int</span> FirstBit1, <span class="keywordtype">bool</span> Mutable1&gt;
+<a name="l00521"></a>00521 <span class="keyword">const</span> packed_dynamic_channel_reference&amp; operator=(<span class="keyword">const</span> packed_channel_reference&lt;BitField1, FirstBit1, NumBits, Mutable1&gt;&amp; ref)<span class="keyword"> const </span>
+<a name="l00522"></a>00522 <span class="keyword"> </span>{ set_unsafe(ref.get()); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00523"></a>00523
+<a name="l00524"></a>00524 <span class="keywordtype">unsigned</span> first_bit()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _first_bit; }
 <a name="l00525"></a>00525
-<a name="l00528"></a>00528 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BF, <span class="keywordtype">int</span> NB, <span class="keywordtype">bool</span> M&gt; <span class="keyword">inline</span>
-<a name="l00529"></a><a class="code" href="g_i_l_0170.html#ga1">00529</a> <span class="keywordtype">void</span> swap(<span class="keyword">typename</span> boost::gil::packed_dynamic_channel_reference&lt;BF,NB,M&gt;::value_type&amp; x, boost::gil::packed_dynamic_channel_reference&lt;BF,NB,M&gt; y) {
-<a name="l00530"></a>00530 boost::gil::swap_proxy&lt;typename boost::gil::packed_dynamic_channel_reference&lt;BF,NB,M&gt;::value_type&gt;(x,y);
-<a name="l00531"></a>00531 }
-<a name="l00532"></a>00532
-<a name="l00533"></a>00533
-<a name="l00536"></a>00536 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BF, <span class="keywordtype">int</span> NB, <span class="keywordtype">bool</span> M&gt; <span class="keyword">inline</span>
-<a name="l00537"></a><a class="code" href="g_i_l_0170.html#ga2">00537</a> <span class="keywordtype">void</span> swap(boost::gil::packed_dynamic_channel_reference&lt;BF,NB,M&gt; x, boost::gil::packed_dynamic_channel_reference&lt;BF,NB,M&gt; y) {
-<a name="l00538"></a>00538 boost::gil::swap_proxy&lt;typename boost::gil::packed_dynamic_channel_reference&lt;BF,NB,M&gt;::value_type&gt;(x,y);
-<a name="l00539"></a>00539 }
-<a name="l00540"></a>00540 } <span class="comment">// namespace std</span>
-<a name="l00541"></a>00541
-<a name="l00542"></a>00542 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
-<a name="l00548"></a>00548
+<a name="l00526"></a>00526 integer_t <span class="keyword">get</span>() <span class="keyword">const</span> {
+<a name="l00527"></a>00527 <span class="keyword">const</span> BitField channel_mask = parent_t::max_val&lt;&lt;_first_bit;
+<a name="l00528"></a>00528 <span class="keywordflow">return</span> (this-&gt;get_data()&amp;channel_mask) &gt;&gt; _first_bit;
+<a name="l00529"></a>00529 }
+<a name="l00530"></a>00530 <span class="keywordtype">void</span> set_unsafe(integer_t value)<span class="keyword"> const </span>{
+<a name="l00531"></a>00531 <span class="keyword">const</span> BitField channel_mask = parent_t::max_val&lt;&lt;_first_bit;
+<a name="l00532"></a>00532 this-&gt;set_data((this-&gt;get_data() &amp; ~channel_mask) | value&lt;&lt;_first_bit);
+<a name="l00533"></a>00533 }
+<a name="l00534"></a>00534 };
+<a name="l00535"></a>00535 } } <span class="comment">// namespace boost::gil</span>
+<a name="l00536"></a>00536
+<a name="l00537"></a>00537 <span class="keyword">namespace </span>std {
+<a name="l00538"></a>00538 <span class="comment">// We are forced to define swap inside std namespace because on some platforms (Visual Studio 8) STL calls swap qualified.</span>
+<a name="l00539"></a>00539 <span class="comment">// swap with 'left bias': </span>
+<a name="l00540"></a>00540 <span class="comment">// - swap between proxy and anything</span>
+<a name="l00541"></a>00541 <span class="comment">// - swap between value type and proxy</span>
+<a name="l00542"></a>00542 <span class="comment">// - swap between proxy and proxy</span>
+<a name="l00543"></a>00543
+<a name="l00544"></a>00544
+<a name="l00547"></a>00547 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BF, <span class="keywordtype">int</span> NB, <span class="keywordtype">bool</span> M, <span class="keyword">typename</span> R&gt; <span class="keyword">inline</span>
+<a name="l00548"></a><a class="code" href="g_i_l_0175.html#g45affd7c290ef9a24ac79edbd6f9ca7f">00548</a> <span class="keywordtype">void</span> swap(<span class="keyword">const</span> boost::gil::packed_dynamic_channel_reference&lt;BF,NB,M&gt; x, R&amp; y) {
+<a name="l00549"></a>00549 boost::gil::swap_proxy&lt;typename boost::gil::packed_dynamic_channel_reference&lt;BF,NB,M&gt;::value_type&gt;(x,y);
+<a name="l00550"></a>00550 }
+<a name="l00551"></a>00551
 <a name="l00552"></a>00552
-<a name="l00554"></a>00554 <span class="keyword">typedef</span> uint8_t bits8;
-<a name="l00555"></a>00555
+<a name="l00555"></a>00555 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BF, <span class="keywordtype">int</span> NB, <span class="keywordtype">bool</span> M&gt; <span class="keyword">inline</span>
+<a name="l00556"></a><a class="code" href="g_i_l_0175.html#gc25302c1ae9ad02851565565fd95e03e">00556</a> <span class="keywordtype">void</span> swap(<span class="keyword">typename</span> boost::gil::packed_dynamic_channel_reference&lt;BF,NB,M&gt;::value_type&amp; x, <span class="keyword">const</span> boost::gil::packed_dynamic_channel_reference&lt;BF,NB,M&gt; y) {
+<a name="l00557"></a>00557 boost::gil::swap_proxy&lt;typename boost::gil::packed_dynamic_channel_reference&lt;BF,NB,M&gt;::value_type&gt;(x,y);
+<a name="l00558"></a>00558 }
 <a name="l00559"></a>00559
-<a name="l00561"></a>00561 <span class="keyword">typedef</span> uint16_t bits16;
-<a name="l00562"></a>00562
-<a name="l00566"></a>00566
-<a name="l00568"></a>00568 <span class="keyword">typedef</span> uint32_t bits32;
-<a name="l00569"></a>00569
-<a name="l00573"></a>00573
-<a name="l00575"></a>00575 <span class="keyword">typedef</span> int8_t bits8s;
-<a name="l00576"></a>00576
-<a name="l00580"></a>00580
-<a name="l00582"></a>00582 <span class="keyword">typedef</span> int16_t bits16s;
-<a name="l00583"></a>00583
-<a name="l00587"></a>00587
-<a name="l00589"></a>00589 <span class="keyword">typedef</span> int32_t bits32s;
-<a name="l00590"></a>00590
-<a name="l00594"></a>00594
-<a name="l00596"></a>00596 <span class="keyword">typedef</span> scoped_channel_value&lt;float,float_zero,float_one&gt; bits32f;
-<a name="l00597"></a>00597
-<a name="l00598"></a>00598 } } <span class="comment">// namespace boost::gil</span>
-<a name="l00599"></a>00599
-<a name="l00600"></a>00600 <span class="keyword">namespace </span>boost {
-<a name="l00601"></a>00601
-<a name="l00602"></a>00602 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> NumBits&gt;
-<a name="l00603"></a>00603 <span class="keyword">struct </span>is_integral&lt;gil::packed_channel_value&lt;NumBits&gt; &gt; : <span class="keyword">public</span> mpl::true_ {};
-<a name="l00604"></a>00604
-<a name="l00605"></a>00605 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BitField, <span class="keywordtype">int</span> FirstBit, <span class="keywordtype">int</span> NumBits, <span class="keywordtype">bool</span> IsMutable&gt;
-<a name="l00606"></a>00606 <span class="keyword">struct </span>is_integral&lt;gil::packed_channel_reference&lt;BitField,FirstBit,NumBits,IsMutable&gt; &gt; : <span class="keyword">public</span> mpl::true_ {};
+<a name="l00560"></a>00560
+<a name="l00563"></a>00563 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BF, <span class="keywordtype">int</span> NB, <span class="keywordtype">bool</span> M&gt; <span class="keyword">inline</span>
+<a name="l00564"></a><a class="code" href="g_i_l_0175.html#gd5c9bdabc34d65825f30d2ae71cb07dc">00564</a> <span class="keywordtype">void</span> swap(<span class="keyword">const</span> boost::gil::packed_dynamic_channel_reference&lt;BF,NB,M&gt; x, <span class="keyword">const</span> boost::gil::packed_dynamic_channel_reference&lt;BF,NB,M&gt; y) {
+<a name="l00565"></a>00565 boost::gil::swap_proxy&lt;typename boost::gil::packed_dynamic_channel_reference&lt;BF,NB,M&gt;::value_type&gt;(x,y);
+<a name="l00566"></a>00566 }
+<a name="l00567"></a>00567 } <span class="comment">// namespace std</span>
+<a name="l00568"></a>00568
+<a name="l00569"></a>00569 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
+<a name="l00575"></a>00575
+<a name="l00579"></a>00579
+<a name="l00581"></a>00581 <span class="keyword">typedef</span> uint8_t bits8;
+<a name="l00582"></a>00582
+<a name="l00586"></a>00586
+<a name="l00588"></a>00588 <span class="keyword">typedef</span> uint16_t bits16;
+<a name="l00589"></a>00589
+<a name="l00593"></a>00593
+<a name="l00595"></a>00595 <span class="keyword">typedef</span> uint32_t bits32;
+<a name="l00596"></a>00596
+<a name="l00600"></a>00600
+<a name="l00602"></a>00602 <span class="keyword">typedef</span> int8_t bits8s;
+<a name="l00603"></a>00603
 <a name="l00607"></a>00607
-<a name="l00608"></a>00608 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BitField, <span class="keywordtype">int</span> NumBits, <span class="keywordtype">bool</span> IsMutable&gt;
-<a name="l00609"></a>00609 <span class="keyword">struct </span>is_integral&lt;gil::packed_dynamic_channel_reference&lt;BitField,NumBits,IsMutable&gt; &gt; : <span class="keyword">public</span> mpl::true_ {};
+<a name="l00609"></a>00609 <span class="keyword">typedef</span> int16_t bits16s;
 <a name="l00610"></a>00610
-<a name="l00611"></a>00611 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BaseChannelValue, <span class="keyword">typename</span> MinVal, <span class="keyword">typename</span> MaxVal&gt;
-<a name="l00612"></a>00612 <span class="keyword">struct </span>is_integral&lt;gil::scoped_channel_value&lt;BaseChannelValue,MinVal,MaxVal&gt; &gt; : <span class="keyword">public</span> is_integral&lt;BaseChannelValue&gt; {};
-<a name="l00613"></a>00613
-<a name="l00614"></a>00614 }
-<a name="l00615"></a>00615
-<a name="l00616"></a>00616 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:16 2007 for Generic Image Library by&nbsp;
+<a name="l00614"></a>00614
+<a name="l00616"></a>00616 <span class="keyword">typedef</span> int32_t bits32s;
+<a name="l00617"></a>00617
+<a name="l00621"></a>00621
+<a name="l00623"></a>00623 <span class="keyword">typedef</span> scoped_channel_value&lt;float,float_zero,float_one&gt; bits32f;
+<a name="l00624"></a>00624
+<a name="l00625"></a>00625 } } <span class="comment">// namespace boost::gil</span>
+<a name="l00626"></a>00626
+<a name="l00627"></a>00627 <span class="keyword">namespace </span>boost {
+<a name="l00628"></a>00628
+<a name="l00629"></a>00629 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> NumBits&gt;
+<a name="l00630"></a>00630 <span class="keyword">struct </span>is_integral&lt;gil::packed_channel_value&lt;NumBits&gt; &gt; : <span class="keyword">public</span> mpl::true_ {};
+<a name="l00631"></a>00631
+<a name="l00632"></a>00632 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BitField, <span class="keywordtype">int</span> FirstBit, <span class="keywordtype">int</span> NumBits, <span class="keywordtype">bool</span> IsMutable&gt;
+<a name="l00633"></a>00633 <span class="keyword">struct </span>is_integral&lt;gil::packed_channel_reference&lt;BitField,FirstBit,NumBits,IsMutable&gt; &gt; : <span class="keyword">public</span> mpl::true_ {};
+<a name="l00634"></a>00634
+<a name="l00635"></a>00635 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BitField, <span class="keywordtype">int</span> NumBits, <span class="keywordtype">bool</span> IsMutable&gt;
+<a name="l00636"></a>00636 <span class="keyword">struct </span>is_integral&lt;gil::packed_dynamic_channel_reference&lt;BitField,NumBits,IsMutable&gt; &gt; : <span class="keyword">public</span> mpl::true_ {};
+<a name="l00637"></a>00637
+<a name="l00638"></a>00638 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> BaseChannelValue, <span class="keyword">typename</span> MinVal, <span class="keyword">typename</span> MaxVal&gt;
+<a name="l00639"></a>00639 <span class="keyword">struct </span>is_integral&lt;gil::scoped_channel_value&lt;BaseChannelValue,MinVal,MaxVal&gt; &gt; : <span class="keyword">public</span> is_integral&lt;BaseChannelValue&gt; {};
+<a name="l00640"></a>00640
+<a name="l00641"></a>00641 }
+<a name="l00642"></a>00642
+<a name="l00643"></a>00643 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:37 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0014.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0015.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0015.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0015.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : channel_algorithm.hpp Source File</TITLE>
+ <TITLE>Generic Image Library: channel_algorithm.hpp Source File</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,13 +31,13 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="dir_000000.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">gil</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="g_i_l_0076.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0079.html">gil</a>
+ </div>
+<div class="contents">
 <h1>channel_algorithm.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
 <a name="l00002"></a>00002 <span class="comment"> Copyright 2005-2007 Adobe Systems Incorporated</span>
 <a name="l00003"></a>00003 <span class="comment"> </span>
@@ -55,8 +53,8 @@
 <a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define GIL_CHANNEL_ALGORITHM_HPP</span>
 <a name="l00014"></a>00014 <span class="preprocessor"></span>
 <a name="l00025"></a>00025
-<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="g_i_l_0089.html">gil_config.hpp</a>"</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="channel_8hpp.html">channel.hpp</a>"</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="g_i_l_0094.html" title="GIL configuration file.">gil_config.hpp</a>"</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="channel_8hpp.html" title="Channel utilities.">channel.hpp</a>"</span>
 <a name="l00028"></a>00028 <span class="preprocessor">#include &lt;boost/mpl/less.hpp&gt;</span>
 <a name="l00029"></a>00029 <span class="preprocessor">#include &lt;boost/mpl/integral_c.hpp&gt;</span>
 <a name="l00030"></a>00030 <span class="preprocessor">#include &lt;boost/mpl/greater.hpp&gt;</span>
@@ -64,11 +62,11 @@
 <a name="l00032"></a>00032
 <a name="l00033"></a>00033 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
 <a name="l00034"></a>00034
-<a name="l00035"></a>00035 <span class="preprocessor">#ifdef _MSC_VER</span>
-<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#pragma warning(push)</span>
-<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#pragma warning(disable: 4309) // disable truncation of constant value warning (using -1 to get the max value of an integral)</span>
-<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00039"></a>00039 <span class="preprocessor"></span>
+<a name="l00035"></a>00035 <span class="comment">//#ifdef _MSC_VER</span>
+<a name="l00036"></a>00036 <span class="comment">//#pragma warning(push)</span>
+<a name="l00037"></a>00037 <span class="comment">//#pragma warning(disable: 4309) // disable truncation of constant value warning (using -1 to get the max value of an integral)</span>
+<a name="l00038"></a>00038 <span class="comment">//#endif</span>
+<a name="l00039"></a>00039
 <a name="l00040"></a>00040 <span class="keyword">namespace </span>detail {
 <a name="l00041"></a>00041
 <a name="l00042"></a>00042 <span class="comment">// some forward declarations</span>
@@ -113,14 +111,14 @@
 <a name="l00120"></a>00120 : public detail::channel_converter_unsigned_impl&lt;SrcChannelV,DstChannelV,is_integral&lt;SrcChannelV&gt;::value,is_integral&lt;DstChannelV&gt;::value&gt; {};
 <a name="l00121"></a>00121
 <a name="l00122"></a>00122
-<a name="l00124"></a><a class="code" href="g_i_l_0405.html">00124</a> template &lt;typename T&gt; struct channel_converter_unsigned&lt;T,T&gt; : public detail::identity&lt;T&gt; {};
+<a name="l00124"></a><a class="code" href="g_i_l_0410.html">00124</a> template &lt;typename T&gt; struct channel_converter_unsigned&lt;T,T&gt; : public detail::identity&lt;T&gt; {};
 <a name="l00125"></a>00125
 <a name="l00126"></a>00126
 <a name="l00127"></a>00127 namespace detail {
 <a name="l00128"></a>00128
 <a name="l00132"></a>00132
 <a name="l00134"></a>00134 template &lt;typename SrcChannelV, typename DstChannelV, bool SrcIsIntegral, bool DstIsIntegral&gt;
-<a name="l00135"></a><a class="code" href="g_i_l_0471.html">00135</a> struct channel_converter_unsigned_impl : public std::unary_function&lt;DstChannelV,SrcChannelV&gt; {
+<a name="l00135"></a><a class="code" href="g_i_l_0477.html">00135</a> struct channel_converter_unsigned_impl : public std::unary_function&lt;DstChannelV,SrcChannelV&gt; {
 <a name="l00136"></a>00136 DstChannelV operator()(SrcChannelV src) const {
 <a name="l00137"></a>00137 return DstChannelV(channel_traits&lt;DstChannelV&gt;::min_value() +
 <a name="l00138"></a>00138 (src - channel_traits&lt;SrcChannelV&gt;::min_value()) / channel_range&lt;SrcChannelV&gt;() * channel_range&lt;DstChannelV&gt;());
@@ -243,7 +241,7 @@
 <a name="l00261"></a>00261 } <span class="comment">// namespace detail</span>
 <a name="l00262"></a>00262
 <a name="l00266"></a>00266
-<a name="l00267"></a><a class="code" href="g_i_l_0409.html">00267</a> template &lt;typename DstChannelV&gt; struct channel_converter_unsigned&lt;bits32f,DstChannelV&gt; : public std::unary_function&lt;bits32f,DstChannelV&gt; {
+<a name="l00267"></a><a class="code" href="g_i_l_0414.html">00267</a> template &lt;typename DstChannelV&gt; struct channel_converter_unsigned&lt;bits32f,DstChannelV&gt; : public std::unary_function&lt;bits32f,DstChannelV&gt; {
 <a name="l00268"></a>00268 DstChannelV operator()(bits32f x) const { return DstChannelV(x*channel_traits&lt;DstChannelV&gt;::max_value()+0.5f); }
 <a name="l00269"></a>00269 };
 <a name="l00270"></a>00270
@@ -256,18 +254,18 @@
 <a name="l00277"></a>00277 };
 <a name="l00278"></a>00278
 <a name="l00279"></a>00279
-<a name="l00281"></a><a class="code" href="g_i_l_0407.html">00281</a> template &lt;&gt; struct channel_converter_unsigned&lt;bits32,bits32f&gt; : public std::unary_function&lt;bits32,bits32f&gt; {
+<a name="l00281"></a><a class="code" href="g_i_l_0412.html">00281</a> template &lt;&gt; struct channel_converter_unsigned&lt;bits32,bits32f&gt; : public std::unary_function&lt;bits32,bits32f&gt; {
 <a name="l00282"></a>00282 bits32f operator()(bits32 x) const {
 <a name="l00283"></a>00283 <span class="comment">// unfortunately without an explicit check it is possible to get a round-off error. We must ensure that max_value of bits32 matches max_value of bits32f</span>
-<a name="l00284"></a>00284 if (x&gt;=channel_traits&lt;bits32&gt;::max_value()) return <a class="code" href="g_i_l_0424.html">channel_traits</a>&lt;bits32f&gt;::max_value();
+<a name="l00284"></a>00284 if (x&gt;=channel_traits&lt;bits32&gt;::max_value()) return <a class="code" href="g_i_l_0429.html" title="Traits for channels. Contains the following members:.">channel_traits</a>&lt;bits32f&gt;::max_value();
 <a name="l00285"></a>00285 return float(x) / float(channel_traits&lt;bits32&gt;::max_value());
 <a name="l00286"></a>00286 }
 <a name="l00287"></a>00287 };
-<a name="l00289"></a><a class="code" href="g_i_l_0411.html">00289</a> template &lt;&gt; struct channel_converter_unsigned&lt;bits32f,bits32&gt; : <span class="keyword">public</span> std::unary_function&lt;bits32f,bits32&gt; {
-<a name="l00290"></a>00290 bits32 operator()(<a class="code" href="g_i_l_0614.html">bits32f</a> x)<span class="keyword"> const </span>{
+<a name="l00289"></a><a class="code" href="g_i_l_0416.html">00289</a> template &lt;&gt; struct channel_converter_unsigned&lt;bits32f,bits32&gt; : <span class="keyword">public</span> std::unary_function&lt;bits32f,bits32&gt; {
+<a name="l00290"></a>00290 bits32 operator()(<a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">bits32f</a> x)<span class="keyword"> const </span>{
 <a name="l00291"></a>00291 <span class="comment">// unfortunately without an explicit check it is possible to get a round-off error. We must ensure that max_value of bits32 matches max_value of bits32f</span>
-<a name="l00292"></a>00292 <span class="keywordflow">if</span> (x&gt;=<a class="code" href="g_i_l_0424.html">channel_traits&lt;bits32f&gt;</a>::max_value()) <span class="keywordflow">return</span> <a class="code" href="g_i_l_0424.html">channel_traits&lt;bits32&gt;::max_value</a>();
-<a name="l00293"></a>00293 <span class="keywordflow">return</span> bits32(x * <a class="code" href="g_i_l_0424.html">channel_traits&lt;bits32&gt;</a>::max_value() + 0.5f);
+<a name="l00292"></a>00292 <span class="keywordflow">if</span> (x&gt;=<a class="code" href="g_i_l_0429.html" title="Traits for channels. Contains the following members:.">channel_traits&lt;bits32f&gt;::max_value</a>()) <span class="keywordflow">return</span> <a class="code" href="g_i_l_0429.html" title="Traits for channels. Contains the following members:.">channel_traits&lt;bits32&gt;::max_value</a>();
+<a name="l00293"></a>00293 <span class="keywordflow">return</span> bits32(x * <a class="code" href="g_i_l_0429.html" title="Traits for channels. Contains the following members:.">channel_traits&lt;bits32&gt;::max_value</a>() + 0.5f);
 <a name="l00294"></a>00294 }
 <a name="l00295"></a>00295 };
 <a name="l00296"></a>00296
@@ -292,7 +290,7 @@
 <a name="l00316"></a>00316
 <a name="l00317"></a>00317 <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>channel_convert_to_unsigned&lt;bits32s&gt; : <span class="keyword">public</span> std::unary_function&lt;bits32s,bits32&gt; {
 <a name="l00318"></a>00318 <span class="keyword">typedef</span> bits32 type;
-<a name="l00319"></a>00319 type operator()(bits32s x)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> static_cast&lt;bits32&gt;(x+(1&lt;&lt;31)); }
+<a name="l00319"></a>00319 type operator()(bits32s x)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>bits32<span class="keyword">&gt;</span>(x+(1&lt;&lt;31)); }
 <a name="l00320"></a>00320 };
 <a name="l00321"></a>00321
 <a name="l00322"></a>00322
@@ -315,15 +313,15 @@
 <a name="l00339"></a>00339
 <a name="l00340"></a>00340 <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>channel_convert_from_unsigned&lt;bits32s&gt; : <span class="keyword">public</span> std::unary_function&lt;bits32,bits32s&gt; {
 <a name="l00341"></a>00341 <span class="keyword">typedef</span> bits32s type;
-<a name="l00342"></a>00342 type operator()(bits32 x)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> static_cast&lt;bits32s&gt;(x-(1&lt;&lt;31)); }
+<a name="l00342"></a>00342 type operator()(bits32 x)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>bits32s<span class="keyword">&gt;</span>(x-(1&lt;&lt;31)); }
 <a name="l00343"></a>00343 };
 <a name="l00344"></a>00344
-<a name="l00345"></a>00345 } <span class="comment">// namespace detail</span>
+<a name="l00345"></a>00345 } <span class="comment">// namespace detail</span>
 <a name="l00346"></a>00346
 <a name="l00349"></a>00349 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> SrcChannelV, <span class="keyword">typename</span> DstChannelV&gt; <span class="comment">// Model ChannelValueConcept</span>
-<a name="l00350"></a><a class="code" href="g_i_l_0403.html">00350</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0403.html">channel_converter</a> : <span class="keyword">public</span> std::unary_function&lt;SrcChannelV,DstChannelV&gt; {
+<a name="l00350"></a><a class="code" href="g_i_l_0408.html">00350</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0408.html" title="A unary function object converting between channel types.">channel_converter</a> : <span class="keyword">public</span> std::unary_function&lt;SrcChannelV,DstChannelV&gt; {
 <a name="l00351"></a>00351 DstChannelV operator()(SrcChannelV src)<span class="keyword"> const </span>{
-<a name="l00352"></a>00352 <span class="keyword">typedef</span> detail::channel_convert_to_unsigned&lt;SrcChannelV&gt; to_unsigned;
+<a name="l00352"></a>00352 <span class="keyword">typedef</span> detail::channel_convert_to_unsigned&lt;SrcChannelV&gt; to_unsigned;
 <a name="l00353"></a>00353 <span class="keyword">typedef</span> detail::channel_convert_from_unsigned&lt;DstChannelV&gt; from_unsigned;
 <a name="l00354"></a>00354 <span class="keyword">typedef</span> channel_converter_unsigned&lt;typename to_unsigned::result_type, typename from_unsigned::argument_type&gt; converter_unsigned;
 <a name="l00355"></a>00355 <span class="keywordflow">return</span> from_unsigned()(converter_unsigned()(to_unsigned()(src)));
@@ -331,12 +329,12 @@
 <a name="l00357"></a>00357 };
 <a name="l00358"></a>00358
 <a name="l00361"></a>00361 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> DstChannel, <span class="keyword">typename</span> SrcChannel&gt; <span class="comment">// Model ChannelConcept (could be channel references)</span>
-<a name="l00362"></a><a class="code" href="g_i_l_0094.html#ga0">00362</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="g_i_l_0424.html">channel_traits&lt;DstChannel&gt;</a>::value_type <a class="code" href="g_i_l_0094.html#ga0">channel_convert</a>(SrcChannel src) {
-<a name="l00363"></a>00363 <span class="keywordflow">return</span> <a class="code" href="g_i_l_0403.html">channel_converter&lt;typename channel_traits&lt;SrcChannel&gt;</a>::value_type,
-<a name="l00364"></a>00364 <span class="keyword">typename</span> <a class="code" href="g_i_l_0424.html">channel_traits&lt;DstChannel&gt;</a>::value_type&gt;()(src);
+<a name="l00362"></a><a class="code" href="g_i_l_0099.html#gf04e6ac30a35a1f68a8bb84730e34786">00362</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="g_i_l_0429.html" title="Traits for channels. Contains the following members:.">channel_traits&lt;DstChannel&gt;::value_type</a> <a class="code" href="g_i_l_0099.html#gf04e6ac30a35a1f68a8bb84730e34786" title="Converting from one channel type to another.">channel_convert</a>(SrcChannel src) {
+<a name="l00363"></a>00363 <span class="keywordflow">return</span> <a class="code" href="g_i_l_0408.html" title="A unary function object converting between channel types.">channel_converter&lt;typename channel_traits&lt;SrcChannel&gt;::value_type</a>,
+<a name="l00364"></a>00364 <span class="keyword">typename</span> <a class="code" href="g_i_l_0429.html" title="Traits for channels. Contains the following members:.">channel_traits&lt;DstChannel&gt;::value_type</a>&gt;()(src);
 <a name="l00365"></a>00365 }
 <a name="l00366"></a>00366
-<a name="l00371"></a><a class="code" href="g_i_l_0444.html">00371</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0444.html">default_channel_converter</a> {
+<a name="l00371"></a><a class="code" href="g_i_l_0450.html">00371</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0450.html" title="Same as channel_converter, except it takes the destination channel by reference,...">default_channel_converter</a> {
 <a name="l00372"></a>00372 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ch1, <span class="keyword">typename</span> Ch2&gt;
 <a name="l00373"></a>00373 <span class="keywordtype">void</span> operator()(<span class="keyword">const</span> Ch1&amp; src, Ch2&amp; dst)<span class="keyword"> const </span>{
 <a name="l00374"></a>00374 dst=channel_convert&lt;Ch2&gt;(src);
@@ -354,55 +352,56 @@
 <a name="l00399"></a>00399
 <a name="l00400"></a>00400
 <a name="l00402"></a>00402 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> ChannelValue&gt;
-<a name="l00403"></a><a class="code" href="g_i_l_0417.html">00403</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0417.html">channel_multiplier_unsigned</a> : <span class="keyword">public</span> std::binary_function&lt;ChannelValue,ChannelValue,ChannelValue&gt; {
+<a name="l00403"></a><a class="code" href="g_i_l_0422.html">00403</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0422.html" title="This is the default implementation. Performance specializatons are provided.">channel_multiplier_unsigned</a> : <span class="keyword">public</span> std::binary_function&lt;ChannelValue,ChannelValue,ChannelValue&gt; {
 <a name="l00404"></a>00404 ChannelValue operator()(ChannelValue a, ChannelValue b)<span class="keyword"> const </span>{
-<a name="l00405"></a>00405 <span class="keywordflow">return</span> ChannelValue(a / <span class="keywordtype">double</span>(<a class="code" href="g_i_l_0424.html">channel_traits&lt;ChannelValue&gt;</a>::max_value()) * b);
+<a name="l00405"></a>00405 <span class="keywordflow">return</span> ChannelValue(a / <span class="keywordtype">double</span>(<a class="code" href="g_i_l_0429.html" title="Traits for channels. Contains the following members:.">channel_traits&lt;ChannelValue&gt;::max_value</a>()) * b);
 <a name="l00406"></a>00406 }
 <a name="l00407"></a>00407 };
 <a name="l00408"></a>00408
-<a name="l00410"></a><a class="code" href="g_i_l_0423.html">00410</a> <span class="keyword">template</span>&lt;&gt; <span class="keyword">struct </span><a class="code" href="g_i_l_0417.html">channel_multiplier_unsigned</a>&lt;bits8&gt; : <span class="keyword">public</span> std::binary_function&lt;bits8,bits8,bits8&gt; {
+<a name="l00410"></a><a class="code" href="g_i_l_0428.html">00410</a> <span class="keyword">template</span>&lt;&gt; <span class="keyword">struct </span><a class="code" href="g_i_l_0422.html" title="This is the default implementation. Performance specializatons are provided.">channel_multiplier_unsigned</a>&lt;bits8&gt; : <span class="keyword">public</span> std::binary_function&lt;bits8,bits8,bits8&gt; {
 <a name="l00411"></a>00411 bits8 operator()(bits8 a, bits8 b)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> bits8(detail::div255(uint32_t(a) * uint32_t(b))); }
 <a name="l00412"></a>00412 };
 <a name="l00413"></a>00413
-<a name="l00415"></a><a class="code" href="g_i_l_0419.html">00415</a> <span class="keyword">template</span>&lt;&gt; <span class="keyword">struct </span><a class="code" href="g_i_l_0417.html">channel_multiplier_unsigned</a>&lt;bits16&gt; : <span class="keyword">public</span> std::binary_function&lt;bits16,bits16,bits16&gt; {
+<a name="l00415"></a><a class="code" href="g_i_l_0424.html">00415</a> <span class="keyword">template</span>&lt;&gt; <span class="keyword">struct </span><a class="code" href="g_i_l_0422.html" title="This is the default implementation. Performance specializatons are provided.">channel_multiplier_unsigned</a>&lt;bits16&gt; : <span class="keyword">public</span> std::binary_function&lt;bits16,bits16,bits16&gt; {
 <a name="l00416"></a>00416 bits16 operator()(bits16 a, bits16 b)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> bits16((uint32_t(a) * uint32_t(b))/65535); }
 <a name="l00417"></a>00417 };
 <a name="l00418"></a>00418
-<a name="l00420"></a><a class="code" href="g_i_l_0421.html">00420</a> <span class="keyword">template</span>&lt;&gt; <span class="keyword">struct </span><a class="code" href="g_i_l_0417.html">channel_multiplier_unsigned</a>&lt;bits32f&gt; : <span class="keyword">public</span> std::binary_function&lt;bits32f,bits32f,bits32f&gt; {
-<a name="l00421"></a>00421 bits32f operator()(bits32f a, bits32f b)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> a*b; }
+<a name="l00420"></a><a class="code" href="g_i_l_0426.html">00420</a> <span class="keyword">template</span>&lt;&gt; <span class="keyword">struct </span><a class="code" href="g_i_l_0422.html" title="This is the default implementation. Performance specializatons are provided.">channel_multiplier_unsigned</a>&lt;<a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">bits32f</a>&gt; : <span class="keyword">public</span> std::binary_function&lt;bits32f,bits32f,bits32f&gt; {
+<a name="l00421"></a>00421 <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">bits32f</a> operator()(<a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">bits32f</a> a, <a class="code" href="g_i_l_0620.html" title="A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept...">bits32f</a> b)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> a*b; }
 <a name="l00422"></a>00422 };
 <a name="l00423"></a>00423
 <a name="l00425"></a>00425 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> ChannelValue&gt;
-<a name="l00426"></a><a class="code" href="g_i_l_0415.html">00426</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0415.html">channel_multiplier</a> : <span class="keyword">public</span> std::binary_function&lt;ChannelValue, ChannelValue, ChannelValue&gt; {
+<a name="l00426"></a><a class="code" href="g_i_l_0420.html">00426</a> <span class="keyword">struct </span><a class="code" href="g_i_l_0420.html" title="A function object to multiply two channels. result = a * b / max_value.">channel_multiplier</a> : <span class="keyword">public</span> std::binary_function&lt;ChannelValue, ChannelValue, ChannelValue&gt; {
 <a name="l00427"></a>00427 ChannelValue operator()(ChannelValue a, ChannelValue b)<span class="keyword"> const </span>{
-<a name="l00428"></a>00428 <span class="keyword">typedef</span> detail::channel_convert_to_unsigned&lt;ChannelValue&gt; to_unsigned;
+<a name="l00428"></a>00428 <span class="keyword">typedef</span> detail::channel_convert_to_unsigned&lt;ChannelValue&gt; to_unsigned;
 <a name="l00429"></a>00429 <span class="keyword">typedef</span> detail::channel_convert_from_unsigned&lt;ChannelValue&gt; from_unsigned;
-<a name="l00430"></a>00430 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0417.html">channel_multiplier_unsigned&lt;typename to_unsigned::result_type&gt;</a> multiplier_unsigned;
+<a name="l00430"></a>00430 <span class="keyword">typedef</span> <a class="code" href="g_i_l_0422.html" title="This is the default implementation. Performance specializatons are provided.">channel_multiplier_unsigned&lt;typename to_unsigned::result_type&gt;</a> multiplier_unsigned;
 <a name="l00431"></a>00431 <span class="keywordflow">return</span> from_unsigned()(multiplier_unsigned()(to_unsigned()(a), to_unsigned()(b)));
 <a name="l00432"></a>00432 }
 <a name="l00433"></a>00433 };
 <a name="l00434"></a>00434
 <a name="l00436"></a>00436 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Channel&gt; <span class="comment">// Models ChannelConcept (could be a channel reference)</span>
-<a name="l00437"></a><a class="code" href="g_i_l_0098.html#ga0">00437</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="g_i_l_0424.html">channel_traits&lt;Channel&gt;</a>::value_type <a class="code" href="g_i_l_0098.html#ga0">channel_multiply</a>(Channel a, Channel b) {
-<a name="l00438"></a>00438 <span class="keywordflow">return</span> <a class="code" href="g_i_l_0415.html">channel_multiplier&lt;typename channel_traits&lt;Channel&gt;</a>::value_type&gt;()(a,b);
+<a name="l00437"></a><a class="code" href="g_i_l_0103.html#gf73b2a47a7877767534df0eee46dda17">00437</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="g_i_l_0429.html" title="Traits for channels. Contains the following members:.">channel_traits&lt;Channel&gt;::value_type</a> <a class="code" href="g_i_l_0103.html#gf73b2a47a7877767534df0eee46dda17" title="A function multiplying two channels. result = a * b / max_value.">channel_multiply</a>(Channel a, Channel b) {
+<a name="l00438"></a>00438 <span class="keywordflow">return</span> <a class="code" href="g_i_l_0420.html" title="A function object to multiply two channels. result = a * b / max_value.">channel_multiplier&lt;typename channel_traits&lt;Channel&gt;::value_type</a>&gt;()(a,b);
 <a name="l00439"></a>00439 }
 <a name="l00441"></a>00441
 <a name="l00456"></a>00456
 <a name="l00457"></a>00457
 <a name="l00458"></a>00458 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Channel&gt; <span class="comment">// Models ChannelConcept (could be a channel reference)</span>
-<a name="l00459"></a><a class="code" href="g_i_l_0096.html#ga0">00459</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="g_i_l_0424.html">channel_traits&lt;Channel&gt;</a>::value_type <a class="code" href="g_i_l_0096.html#ga0">channel_invert</a>(Channel x) {
-<a name="l00460"></a>00460 <span class="keywordflow">return</span> <a class="code" href="g_i_l_0424.html">channel_traits&lt;Channel&gt;::max_value</a>()-x + <a class="code" href="g_i_l_0424.html">channel_traits&lt;Channel&gt;::min_value</a>();
+<a name="l00459"></a><a class="code" href="g_i_l_0101.html#ge2e0267865f89610ef26148874a04bb5">00459</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="g_i_l_0429.html" title="Traits for channels. Contains the following members:.">channel_traits&lt;Channel&gt;::value_type</a> <a class="code" href="g_i_l_0101.html#ge2e0267865f89610ef26148874a04bb5" title="Default implementation. Provide overloads for performance.">channel_invert</a>(Channel x) {
+<a name="l00460"></a>00460 <span class="keywordflow">return</span> <a class="code" href="g_i_l_0429.html" title="Traits for channels. Contains the following members:.">channel_traits&lt;Channel&gt;::max_value</a>()-x + <a class="code" href="g_i_l_0429.html" title="Traits for channels. Contains the following members:.">channel_traits&lt;Channel&gt;::min_value</a>();
 <a name="l00461"></a>00461 }
 <a name="l00462"></a>00462
-<a name="l00463"></a>00463 <span class="preprocessor">#ifdef _MSC_VER</span>
-<a name="l00464"></a>00464 <span class="preprocessor"></span><span class="preprocessor">#pragma warning(pop)</span>
-<a name="l00465"></a>00465 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00466"></a>00466 <span class="preprocessor"></span>
+<a name="l00463"></a>00463 <span class="comment">//#ifdef _MSC_VER</span>
+<a name="l00464"></a>00464 <span class="comment">//#pragma warning(pop)</span>
+<a name="l00465"></a>00465 <span class="comment">//#endif</span>
+<a name="l00466"></a>00466
 <a name="l00467"></a>00467 } } <span class="comment">// namespace boost::gil</span>
 <a name="l00468"></a>00468
 <a name="l00469"></a>00469 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:16 2007 for Generic Image Library by&nbsp;
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:37 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0015.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0016.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0016.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0016.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : channel_algorithm.hpp File Reference</TITLE>
+ <TITLE>Generic Image Library: channel_algorithm.hpp File Reference</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,23 +31,23 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="dir_000000.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">gil</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="g_i_l_0076.html">boost</a>&nbsp;&raquo&nbsp;<a class="el" href="g_i_l_0079.html">gil</a>
+ </div>
+<div class="contents">
 <h1>channel_algorithm.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
 Channel algorithms.
 <p>
-<dl compact><dt><b>Author:</b></dt><dd>Lubomir Bourdev and Hailin Jin <br>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Lubomir Bourdev and Hailin Jin <br>
  Adobe Systems Incorporated </dd></dl>
-<dl compact><dt><b>Date:</b></dt><dd>2005-2007 <br>
+<dl class="date" compact><dt><b>Date:</b></dt><dd>2005-2007 <br>
  Last updated on May 6, 2007</dd></dl>
-Definitions of standard GIL 8-bit, 16-bit, 32-bit channels
+Definitions of standard GIL 8-bit, 16-bit, 32-bit channels
 <p>
-<code>#include &quot;<a class="el" href="g_i_l_0088.html">gil_config.hpp</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="g_i_l_0093.html">gil_config.hpp</a>&quot;</code><br>
 <code>#include &quot;<a class="el" href="g_i_l_0014.html">channel.hpp</a>&quot;</code><br>
 <code>#include &lt;boost/mpl/less.hpp&gt;</code><br>
 <code>#include &lt;boost/mpl/integral_c.hpp&gt;</code><br>
@@ -67,69 +65,70 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil::detail</b></td></tr>
 
 <tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0405.html">channel_converter_unsigned&lt; T, T &gt;</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0410.html">channel_converter_unsigned&lt; T, T &gt;</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converting a channel to itself - identity operation. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0471.html">channel_converter_unsigned_impl</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converting a channel to itself - identity operation. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0477.html">channel_converter_unsigned_impl</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is the default implementation. Performance specializatons are provided. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0409.html">channel_converter_unsigned&lt; bits32f, DstChannelV &gt;</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is the default implementation. Performance specializatons are provided. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0414.html">channel_converter_unsigned&lt; bits32f, DstChannelV &gt;</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0407.html">channel_converter_unsigned&lt; bits32, bits32f &gt;</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0412.html">channel_converter_unsigned&lt; bits32, bits32f &gt;</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">32 bit &lt;-&gt; float channel conversion More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0411.html">channel_converter_unsigned&lt; bits32f, bits32 &gt;</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">32 bit &lt;-&gt; float channel conversion More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0416.html">channel_converter_unsigned&lt; bits32f, bits32 &gt;</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">32 bit &lt;-&gt; float channel conversion More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0403.html">channel_converter</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">32 bit &lt;-&gt; float channel conversion More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0408.html">channel_converter</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A unary function object converting between channel types. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0444.html">default_channel_converter</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A unary function object converting between channel types. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0450.html">default_channel_converter</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Same as <a class="el" href="g_i_l_0403.html">channel_converter</a>, except it takes the destination channel by reference, which allows us to move the templates from the class level to the method level. This is important when invoking it on heterogeneous pixels. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0417.html">channel_multiplier_unsigned</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Same as <a class="el" href="g_i_l_0408.html" title="A unary function object converting between channel types.">channel_converter</a>, except it takes the destination channel by reference, which allows us to move the templates from the class level to the method level. This is important when invoking it on heterogeneous pixels. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0422.html">channel_multiplier_unsigned</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is the default implementation. Performance specializatons are provided. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0423.html">channel_multiplier_unsigned&lt; bits8 &gt;</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is the default implementation. Performance specializatons are provided. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0428.html">channel_multiplier_unsigned&lt; bits8 &gt;</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specialization of channel_multiply for 8-bit unsigned channels. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0419.html">channel_multiplier_unsigned&lt; bits16 &gt;</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specialization of channel_multiply for 8-bit unsigned channels. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0424.html">channel_multiplier_unsigned&lt; bits16 &gt;</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specialization of channel_multiply for 16-bit unsigned channels. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0421.html">channel_multiplier_unsigned&lt; bits32f &gt;</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specialization of channel_multiply for 16-bit unsigned channels. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0426.html">channel_multiplier_unsigned&lt; bits32f &gt;</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specialization of channel_multiply for float 0..1 channels. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0415.html">channel_multiplier</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specialization of channel_multiply for float 0..1 channels. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0420.html">channel_multiplier</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A function object to multiply two channels. result = a * b / max_value. More...<br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A function object to multiply two channels. result = a * b / max_value. More...<br></td></tr>
 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="channel_algorithm.hpp::channel_convert" ref="ga0" args="(SrcChannel src)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gf04e6ac30a35a1f68a8bb84730e34786"></a><!-- doxytag: member="channel_algorithm.hpp::channel_convert" ref="gf04e6ac30a35a1f68a8bb84730e34786" args="(SrcChannel src)" -->
 template&lt;typename DstChannel, typename SrcChannel&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">channel_traits&lt; DstChannel <br>
-&gt;::value_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0094.html#ga0">boost::gil::channel_convert</a> (SrcChannel src)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">channel_traits&lt; DstChannel &gt;<br>
+::value_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0099.html#gf04e6ac30a35a1f68a8bb84730e34786">channel_convert</a> (SrcChannel src)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converting from one channel type to another. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a18"></a><!-- doxytag: member="channel_algorithm.hpp::div255" ref="a18" args="(uint32_t in)" -->
-uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil::detail::div255</b> (uint32_t in)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="36fdfb4869446c1151d0850faf72e3b3"></a><!-- doxytag: member="channel_algorithm.hpp::div255" ref="36fdfb4869446c1151d0850faf72e3b3" args="(uint32_t in)" -->
+uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>div255</b> (uint32_t in)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a19"></a><!-- doxytag: member="channel_algorithm.hpp::div32768" ref="a19" args="(uint32_t in)" -->
-uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil::detail::div32768</b> (uint32_t in)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="114bcacf9a7cce97638fe8704d44559f"></a><!-- doxytag: member="channel_algorithm.hpp::div32768" ref="114bcacf9a7cce97638fe8704d44559f" args="(uint32_t in)" -->
+uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>div32768</b> (uint32_t in)</td></tr>
 
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="channel_algorithm.hpp::channel_multiply" ref="ga0" args="(Channel a, Channel b)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gf73b2a47a7877767534df0eee46dda17"></a><!-- doxytag: member="channel_algorithm.hpp::channel_multiply" ref="gf73b2a47a7877767534df0eee46dda17" args="(Channel a, Channel b)" -->
 template&lt;typename Channel&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">channel_traits&lt; Channel <br>
-&gt;::value_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0098.html#ga0">boost::gil::channel_multiply</a> (Channel a, Channel b)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">channel_traits&lt; Channel &gt;<br>
+::value_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0103.html#gf73b2a47a7877767534df0eee46dda17">channel_multiply</a> (Channel a, Channel b)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A function multiplying two channels. result = a * b / max_value. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="channel_algorithm.hpp::channel_invert" ref="ga0" args="(Channel x)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ge2e0267865f89610ef26148874a04bb5"></a><!-- doxytag: member="channel_algorithm.hpp::channel_invert" ref="ge2e0267865f89610ef26148874a04bb5" args="(Channel x)" -->
 template&lt;typename Channel&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">channel_traits&lt; Channel <br>
-&gt;::value_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0096.html#ga0">boost::gil::channel_invert</a> (Channel x)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">channel_traits&lt; Channel &gt;<br>
+::value_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0101.html#ge2e0267865f89610ef26148874a04bb5">channel_invert</a> (Channel x)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default implementation. Provide overloads for performance. <br></td></tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:18 2007 for Generic Image Library by&nbsp;
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:39 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0016.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0017.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0017.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0017.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : Member List</TITLE>
+ <TITLE>Generic Image Library: Member List</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,11 +31,11 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
+<!-- Generated by Doxygen 1.5.6 -->
+<div class="contents">
 <h1>any_image Member List</h1>This is the complete list of members for <a class="el" href="g_i_l_0018.html">any_image</a>, including all inherited members.<p><table>
   <tr bgcolor="#f0f0f0"><td><b>_dynamic_cast</b>() const (defined in <a class="el" href="g_i_l_0062.html">variant&lt; ImageTypes &gt;</a>)</td><td><a class="el" href="g_i_l_0062.html">variant&lt; ImageTypes &gt;</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>_dynamic_cast</b>() (defined in <a class="el" href="g_i_l_0062.html">variant&lt; ImageTypes &gt;</a>)</td><td><a class="el" href="g_i_l_0062.html">variant&lt; ImageTypes &gt;</a></td><td><code> [inline]</code></td></tr>
@@ -63,15 +61,16 @@
   <tr bgcolor="#f0f0f0"><td><b>types_t</b> typedef (defined in <a class="el" href="g_i_l_0062.html">variant&lt; ImageTypes &gt;</a>)</td><td><a class="el" href="g_i_l_0062.html">variant&lt; ImageTypes &gt;</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>variant</b>() (defined in <a class="el" href="g_i_l_0062.html">variant&lt; ImageTypes &gt;</a>)</td><td><a class="el" href="g_i_l_0062.html">variant&lt; ImageTypes &gt;</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>variant</b>(const T &amp;obj) (defined in <a class="el" href="g_i_l_0062.html">variant&lt; ImageTypes &gt;</a>)</td><td><a class="el" href="g_i_l_0062.html">variant&lt; ImageTypes &gt;</a></td><td><code> [inline, explicit]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>variant</b>(T &amp;obj, bool do_swap) (defined in <a class="el" href="g_i_l_0062.html">variant&lt; ImageTypes &gt;</a>)</td><td><a class="el" href="g_i_l_0062.html">variant&lt; ImageTypes &gt;</a></td><td><code> [explicit]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>variant</b>(T &amp;obj, bool do_swap) (defined in <a class="el" href="g_i_l_0062.html">variant&lt; ImageTypes &gt;</a>)</td><td><a class="el" href="g_i_l_0062.html">variant&lt; ImageTypes &gt;</a></td><td><code> [inline, explicit]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>variant</b>(const variant &amp;v) (defined in <a class="el" href="g_i_l_0062.html">variant&lt; ImageTypes &gt;</a>)</td><td><a class="el" href="g_i_l_0062.html">variant&lt; ImageTypes &gt;</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>view_t</b> typedef (defined in <a class="el" href="g_i_l_0018.html">any_image</a>)</td><td><a class="el" href="g_i_l_0018.html">any_image</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>width</b>() const (defined in <a class="el" href="g_i_l_0018.html">any_image</a>)</td><td><a class="el" href="g_i_l_0018.html">any_image</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>x_coord_t</b> typedef (defined in <a class="el" href="g_i_l_0018.html">any_image</a>)</td><td><a class="el" href="g_i_l_0018.html">any_image</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>y_coord_t</b> typedef (defined in <a class="el" href="g_i_l_0018.html">any_image</a>)</td><td><a class="el" href="g_i_l_0018.html">any_image</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>~variant</b>() (defined in <a class="el" href="g_i_l_0062.html">variant&lt; ImageTypes &gt;</a>)</td><td><a class="el" href="g_i_l_0062.html">variant&lt; ImageTypes &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:24 2007 for Generic Image Library by&nbsp;
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:42 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0017.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0018.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0018.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0018.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : any_image Class Template Reference</TITLE>
+ <TITLE>Generic Image Library: any_image Class Template Reference</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,95 +31,102 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="namespaceboost.html">boost</a>::<b>gil</b>::<a class="el" href="g_i_l_0018.html">any_image</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<b>gil</b>::<a class="el" href="g_i_l_0018.html">any_image</a>
+ </div>
+<div class="contents">
 <h1>any_image Class Template Reference<br>
 <small>
-[<a class="el" href="g_i_l_0130.html">Models</a>]</small>
-</h1><!-- doxytag: class="boost::gil::any_image" --><!-- doxytag: inherits="boost::gil::variant&lt; ImageTypes &gt;" --><code>#include &lt;<a class="el" href="g_i_l_0002.html">any_image.hpp</a>&gt;</code>
+[<a class="el" href="g_i_l_0135.html">Models</a>]</small>
+</h1><!-- doxytag: class="boost::gil::any_image" --><!-- doxytag: inherits="variant&lt; ImageTypes &gt;" --><code>#include &lt;<a class="el" href="g_i_l_0002.html">any_image.hpp</a>&gt;</code>
 <p>
-<p>Inheritance diagram for any_image:
+<div class="dynheader">
+Inheritance diagram for any_image:</div>
+<div class="dynsection">
+
 <p><center><img src="g_i_l_0001.png" usemap="#any_image_map" border="0" alt=""></center>
 <map name="any_image_map">
 <area href="g_i_l_0062.html" alt="variant< ImageTypes >" shape="rect" coords="0,0,142,24">
 </map>
+</div>
+
+<p>
 <a href="g_i_l_0017.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
 <h3>template&lt;typename ImageTypes&gt;<br>
  class boost::gil::any_image&lt; ImageTypes &gt;</h3>
 
-Represents a run-time specified image. Note it does NOT model <a class="el" href="g_i_l_0301.html">ImageConcept</a>.
-<p>
-Represents an image whose type (color space, layout, planar/interleaved organization, etc) can be specified at run time. It is the runtime equivalent of <code>image</code>. Some of the requirements of <a class="el" href="g_i_l_0301.html">ImageConcept</a>, such as the <code>value_type</code> typedef cannot be fulfilled, since the language does not allow runtime type specification. Other requirements, such as access to the pixels, would be inefficient to provide. Thus <code><a class="el" href="g_i_l_0018.html">any_image</a></code> does not fully model <a class="el" href="g_i_l_0301.html">ImageConcept</a>. In particular, its <code>view</code> and <code>const_view</code> methods return <code><a class="el" href="g_i_l_0020.html">any_image_view</a></code>, which does not fully model <a class="el" href="g_i_l_0303.html">ImageViewConcept</a>. See <code><a class="el" href="g_i_l_0020.html">any_image_view</a></code> for more.
+Represents a run-time specified <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a>. Note it does NOT model <a class="el" href="g_i_l_0306.html" title="2-dimensional image whose value type models PixelValueConcept">ImageConcept</a>.
 <p>
-<table border="0" cellpadding="0" cellspacing="0">
+Represents an <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> whose type (color space, <a class="el" href="g_i_l_0567.html" title="Represents a color space and ordering of channels in memory.">layout</a>, planar/interleaved organization, etc) can be specified at run time. It is the runtime equivalent of <code><a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a></code>. Some of the requirements of <a class="el" href="g_i_l_0306.html" title="2-dimensional image whose value type models PixelValueConcept">ImageConcept</a>, such as the <code>value_type</code> typedef cannot be fulfilled, since the language does not allow runtime type specification. Other requirements, such as access to the pixels, would be inefficient to provide. Thus <code><a class="el" href="g_i_l_0018.html" title="Represents a run-time specified image. Note it does NOT model ImageConc
ept.">any_image</a></code> does not fully model <a class="el" href="g_i_l_0306.html" title="2-dimensional image whose value type models PixelValueConcept">ImageConcept</a>. In particular, its <code>view</code> and <code>const_view</code> methods return <code><a class="el" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a></code>, which does not fully model <a class="el" href="g_i_l_0308.html" title="GIL&#39;s 2-dimensional view over immutable GIL pixels.">ImageViewConcept</a>. See <code><a class="el" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a></code> for more. <table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="w0"></a><!-- doxytag: member="boost::gil::any_image::const_view_t" ref="w0" args="" -->
-typedef <a class="el" href="g_i_l_0020.html">any_image_view</a>&lt; typename <br>
-detail::images_get_const_views_t&lt;<br>
- ImageTypes &gt;::type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_view_t</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="w1"></a><!-- doxytag: member="boost::gil::any_image::view_t" ref="w1" args="" -->
-typedef <a class="el" href="g_i_l_0020.html">any_image_view</a>&lt; typename <br>
-detail::images_get_views_t&lt;<br>
- ImageTypes &gt;::type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>view_t</b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2acd50477b4c80241d1a9a360b9920ff"></a><!-- doxytag: member="boost::gil::any_image::const_view_t" ref="2acd50477b4c80241d1a9a360b9920ff" args="" -->
+typedef <a class="el" href="g_i_l_0020.html">any_image_view</a><br>
+&lt; typename <br>
+detail::images_get_const_views_t<br>
+&lt; ImageTypes &gt;::type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_view_t</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e6b59952cd0e8904070f04b5e1fb51f"></a><!-- doxytag: member="boost::gil::any_image::view_t" ref="0e6b59952cd0e8904070f04b5e1fb51f" args="" -->
+typedef <a class="el" href="g_i_l_0020.html">any_image_view</a><br>
+&lt; typename <br>
+detail::images_get_views_t<br>
+&lt; ImageTypes &gt;::type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>view_t</b></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="w2"></a><!-- doxytag: member="boost::gil::any_image::x_coord_t" ref="w2" args="" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5396c00a891ea52bd233a307bdaf6a64"></a><!-- doxytag: member="boost::gil::any_image::x_coord_t" ref="5396c00a891ea52bd233a307bdaf6a64" args="" -->
 typedef std::ptrdiff_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>x_coord_t</b></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="w3"></a><!-- doxytag: member="boost::gil::any_image::y_coord_t" ref="w3" args="" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e21c9a09689df0e5118fd07840e055bb"></a><!-- doxytag: member="boost::gil::any_image::y_coord_t" ref="e21c9a09689df0e5118fd07840e055bb" args="" -->
 typedef std::ptrdiff_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>y_coord_t</b></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="w4"></a><!-- doxytag: member="boost::gil::any_image::point_t" ref="w4" args="" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ce54a5224e10a07eb7fc9d9c78c259a0"></a><!-- doxytag: member="boost::gil::any_image::point_t" ref="ce54a5224e10a07eb7fc9d9c78c259a0" args="" -->
 typedef <a class="el" href="g_i_l_0060.html">point2</a>&lt; std::ptrdiff_t &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>point_t</b></td></tr>
 
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a1"></a><!-- doxytag: member="boost::gil::any_image::any_image" ref="a1" args="(const T &amp;obj)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="b2ab8889c140ac3d25adb661014847db"></a><!-- doxytag: member="boost::gil::any_image::any_image" ref="b2ab8889c140ac3d25adb661014847db" args="(const T &amp;obj)" -->
 template&lt;typename T&gt; </td></tr>
 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>any_image</b> (const T &amp;obj)</td></tr>
 
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a2"></a><!-- doxytag: member="boost::gil::any_image::any_image" ref="a2" args="(T &amp;obj, bool do_swap)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="6f15d1d344d00eeddf06aaa45815c935"></a><!-- doxytag: member="boost::gil::any_image::any_image" ref="6f15d1d344d00eeddf06aaa45815c935" args="(T &amp;obj, bool do_swap)" -->
 template&lt;typename T&gt; </td></tr>
 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>any_image</b> (T &amp;obj, bool do_swap)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a3"></a><!-- doxytag: member="boost::gil::any_image::any_image" ref="a3" args="(const any_image &amp;v)" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ac20cb95fc50f10db76f90a3032f6c22"></a><!-- doxytag: member="boost::gil::any_image::any_image" ref="ac20cb95fc50f10db76f90a3032f6c22" args="(const any_image &amp;v)" -->
 &nbsp;</td><td class="memItemRight" valign="bottom"><b>any_image</b> (const <a class="el" href="g_i_l_0018.html">any_image</a> &amp;v)</td></tr>
 
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a4"></a><!-- doxytag: member="boost::gil::any_image::operator=" ref="a4" args="(const T &amp;obj)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="2eb3e62b2bb5bc11817a3235d026ed7f"></a><!-- doxytag: member="boost::gil::any_image::operator=" ref="2eb3e62b2bb5bc11817a3235d026ed7f" args="(const T &amp;obj)" -->
 template&lt;typename T&gt; </td></tr>
 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="g_i_l_0018.html">any_image</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator=</b> (const T &amp;obj)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5"></a><!-- doxytag: member="boost::gil::any_image::operator=" ref="a5" args="(const any_image &amp;v)" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f1a9aed5bd8bd9f5649a7c7adc9db08c"></a><!-- doxytag: member="boost::gil::any_image::operator=" ref="f1a9aed5bd8bd9f5649a7c7adc9db08c" args="(const any_image &amp;v)" -->
 <a class="el" href="g_i_l_0018.html">any_image</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="g_i_l_0018.html">any_image</a> &amp;v)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a6"></a><!-- doxytag: member="boost::gil::any_image::recreate" ref="a6" args="(const point_t &amp;dims, unsigned alignment=1)" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7625c48852788be3463d7320b5ea50e5"></a><!-- doxytag: member="boost::gil::any_image::recreate" ref="7625c48852788be3463d7320b5ea50e5" args="(const point_t &amp;dims, unsigned alignment=1)" -->
 void&nbsp;</td><td class="memItemRight" valign="bottom"><b>recreate</b> (const <a class="el" href="g_i_l_0060.html">point_t</a> &amp;dims, unsigned alignment=1)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a7"></a><!-- doxytag: member="boost::gil::any_image::recreate" ref="a7" args="(x_coord_t width, y_coord_t height, unsigned alignment=1)" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="31a2d04ff9175ac5ddc7a82cde18d8c2"></a><!-- doxytag: member="boost::gil::any_image::recreate" ref="31a2d04ff9175ac5ddc7a82cde18d8c2" args="(x_coord_t width, y_coord_t height, unsigned alignment=1)" -->
 void&nbsp;</td><td class="memItemRight" valign="bottom"><b>recreate</b> (x_coord_t width, y_coord_t height, unsigned alignment=1)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8"></a><!-- doxytag: member="boost::gil::any_image::num_channels" ref="a8" args="() const " -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7e7336b5e1b9d3674e5bb27d4adbb46a"></a><!-- doxytag: member="boost::gil::any_image::num_channels" ref="7e7336b5e1b9d3674e5bb27d4adbb46a" args="() const " -->
 std::size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>num_channels</b> () const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9"></a><!-- doxytag: member="boost::gil::any_image::dimensions" ref="a9" args="() const " -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d72453f8233186957b5274e32b593006"></a><!-- doxytag: member="boost::gil::any_image::dimensions" ref="d72453f8233186957b5274e32b593006" args="() const " -->
 <a class="el" href="g_i_l_0060.html">point_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimensions</b> () const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a10"></a><!-- doxytag: member="boost::gil::any_image::width" ref="a10" args="() const " -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="edb657636fdfa1645708f3beaad70d8d"></a><!-- doxytag: member="boost::gil::any_image::width" ref="edb657636fdfa1645708f3beaad70d8d" args="() const " -->
 x_coord_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>width</b> () const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a11"></a><!-- doxytag: member="boost::gil::any_image::height" ref="a11" args="() const " -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5d84f7f164c70ba5b617ffa1e69f71a1"></a><!-- doxytag: member="boost::gil::any_image::height" ref="5d84f7f164c70ba5b617ffa1e69f71a1" args="() const " -->
 y_coord_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>height</b> () const </td></tr>
 
 </table>
 <hr>The documentation for this class was generated from the following file:<ul>
 <li><a class="el" href="g_i_l_0002.html">any_image.hpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:24 2007 for Generic Image Library by&nbsp;
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:42 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0018.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0019.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0019.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0019.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : Member List</TITLE>
+ <TITLE>Generic Image Library: Member List</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,11 +31,11 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
+<!-- Generated by Doxygen 1.5.6 -->
+<div class="contents">
 <h1>any_image_view Member List</h1>This is the complete list of members for <a class="el" href="g_i_l_0020.html">any_image_view</a>, including all inherited members.<p><table>
   <tr bgcolor="#f0f0f0"><td><b>_dynamic_cast</b>() const (defined in <a class="el" href="g_i_l_0062.html">variant&lt; ImageViewTypes &gt;</a>)</td><td><a class="el" href="g_i_l_0062.html">variant&lt; ImageViewTypes &gt;</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>_dynamic_cast</b>() (defined in <a class="el" href="g_i_l_0062.html">variant&lt; ImageViewTypes &gt;</a>)</td><td><a class="el" href="g_i_l_0062.html">variant&lt; ImageViewTypes &gt;</a></td><td><code> [inline]</code></td></tr>
@@ -60,14 +58,15 @@
   <tr bgcolor="#f0f0f0"><td><b>types_t</b> typedef (defined in <a class="el" href="g_i_l_0062.html">variant&lt; ImageViewTypes &gt;</a>)</td><td><a class="el" href="g_i_l_0062.html">variant&lt; ImageViewTypes &gt;</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>variant</b>() (defined in <a class="el" href="g_i_l_0062.html">variant&lt; ImageViewTypes &gt;</a>)</td><td><a class="el" href="g_i_l_0062.html">variant&lt; ImageViewTypes &gt;</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>variant</b>(const T &amp;obj) (defined in <a class="el" href="g_i_l_0062.html">variant&lt; ImageViewTypes &gt;</a>)</td><td><a class="el" href="g_i_l_0062.html">variant&lt; ImageViewTypes &gt;</a></td><td><code> [inline, explicit]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>variant</b>(T &amp;obj, bool do_swap) (defined in <a class="el" href="g_i_l_0062.html">variant&lt; ImageViewTypes &gt;</a>)</td><td><a class="el" href="g_i_l_0062.html">variant&lt; ImageViewTypes &gt;</a></td><td><code> [explicit]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>variant</b>(T &amp;obj, bool do_swap) (defined in <a class="el" href="g_i_l_0062.html">variant&lt; ImageViewTypes &gt;</a>)</td><td><a class="el" href="g_i_l_0062.html">variant&lt; ImageViewTypes &gt;</a></td><td><code> [inline, explicit]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>variant</b>(const variant &amp;v) (defined in <a class="el" href="g_i_l_0062.html">variant&lt; ImageViewTypes &gt;</a>)</td><td><a class="el" href="g_i_l_0062.html">variant&lt; ImageViewTypes &gt;</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>width</b>() const (defined in <a class="el" href="g_i_l_0020.html">any_image_view</a>)</td><td><a class="el" href="g_i_l_0020.html">any_image_view</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>x_coord_t</b> typedef (defined in <a class="el" href="g_i_l_0020.html">any_image_view</a>)</td><td><a class="el" href="g_i_l_0020.html">any_image_view</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>y_coord_t</b> typedef (defined in <a class="el" href="g_i_l_0020.html">any_image_view</a>)</td><td><a class="el" href="g_i_l_0020.html">any_image_view</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>~variant</b>() (defined in <a class="el" href="g_i_l_0062.html">variant&lt; ImageViewTypes &gt;</a>)</td><td><a class="el" href="g_i_l_0062.html">variant&lt; ImageViewTypes &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:24 2007 for Generic Image Library by&nbsp;
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:42 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0019.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0020.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0020.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0020.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : any_image_view Class Template Reference</TITLE>
+ <TITLE>Generic Image Library: any_image_view Class Template Reference</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,82 +31,88 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="namespaceboost.html">boost</a>::<b>gil</b>::<a class="el" href="g_i_l_0020.html">any_image_view</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<b>gil</b>::<a class="el" href="g_i_l_0020.html">any_image_view</a>
+ </div>
+<div class="contents">
 <h1>any_image_view Class Template Reference<br>
 <small>
-[<a class="el" href="g_i_l_0136.html">Models</a>]</small>
-</h1><!-- doxytag: class="boost::gil::any_image_view" --><!-- doxytag: inherits="boost::gil::variant&lt; ImageViewTypes &gt;" --><code>#include &lt;<a class="el" href="g_i_l_0003.html">any_image_view.hpp</a>&gt;</code>
+[<a class="el" href="g_i_l_0141.html">Models</a>]</small>
+</h1><!-- doxytag: class="boost::gil::any_image_view" --><!-- doxytag: inherits="variant&lt; ImageViewTypes &gt;" --><code>#include &lt;<a class="el" href="g_i_l_0003.html">any_image_view.hpp</a>&gt;</code>
 <p>
-<p>Inheritance diagram for any_image_view:
+<div class="dynheader">
+Inheritance diagram for any_image_view:</div>
+<div class="dynsection">
+
 <p><center><img src="g_i_l_0002.png" usemap="#any_image_view_map" border="0" alt=""></center>
 <map name="any_image_view_map">
 <area href="g_i_l_0062.html" alt="variant< ImageViewTypes >" shape="rect" coords="0,0,170,24">
 </map>
+</div>
+
+<p>
 <a href="g_i_l_0019.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
 <h3>template&lt;typename ImageViewTypes&gt;<br>
  class boost::gil::any_image_view&lt; ImageViewTypes &gt;</h3>
 
-Represents a run-time specified image view. Models <a class="el" href="g_i_l_0285.html">HasDynamicXStepTypeConcept</a>, <a class="el" href="g_i_l_0287.html">HasDynamicYStepTypeConcept</a>, Note that this class does NOT model <a class="el" href="g_i_l_0303.html">ImageViewConcept</a>.
-<p>
-CLASS <a class="el" href="g_i_l_0020.html">any_image_view</a><p>
-Represents a view whose type (color space, layout, planar/interleaved organization, etc) can be specified at run time. It is the runtime equivalent of <code><a class="el" href="g_i_l_0040.html">image_view</a></code>. Some of the requirements of <a class="el" href="g_i_l_0303.html">ImageViewConcept</a>, such as the <code>value_type</code> typedef cannot be fulfilled, since the language does not allow runtime type specification. Other requirements, such as access to the pixels, would be inefficient to provide. Thus <code><a class="el" href="g_i_l_0020.html">any_image_view</a></code> does not fully model <a class="el" href="g_i_l_0303.html">ImageViewConcept</a>. However, many algorithms provide overloads taking runtime specified views and thus in many cases <code><a class="el" href="g_i_l_0020.html">any_image_view</a></code> can be used in places taking a view.<p>
-To perform an algorithm on <a class="el" href="g_i_l_0020.html">any_image_view</a>, put the algorithm in a function object and invoke it by calling <code>apply_operation(runtime_view, algorithm_fn)</code>;
+Represents a run-time specified <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> view. Models <a class="el" href="g_i_l_0290.html" title="Concept for iterators, locators and views that can define a type just like the given...">HasDynamicXStepTypeConcept</a>, <a class="el" href="g_i_l_0292.html" title="Concept for locators and views that can define a type just like the given locator...">HasDynamicYStepTypeConcept</a>, Note that this class does NOT model <a class="el" href="g_i_l_0308.html" title="GIL&#39;s 2-dimensional view over immutable GIL pixels.">ImageViewConcept</a>.
 <p>
-<table border="0" cellpadding="0" cellspacing="0">
+CLASS <a class="el" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a><p>
+Represents a view whose type (color space, <a class="el" href="g_i_l_0567.html" title="Represents a color space and ordering of channels in memory.">layout</a>, planar/interleaved organization, etc) can be specified at run time. It is the runtime equivalent of <code><a class="el" href="g_i_l_0040.html" title="A lightweight object that interprets memory as a 2D array of pixels. Models ImageViewConcept...">image_view</a></code>. Some of the requirements of <a class="el" href="g_i_l_0308.html" title="GIL&#39;s 2-dimensional view over immutable GIL pixels.">ImageViewConcept</a>, such as the <code>value_type</code> typedef cannot be fulfilled, since the language does not allow runtime type specification. Other requirements, such as access to the pixels, would be inefficient to provide. Thus <code><a class="el" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a></code> does not fully model <a class="el" href="g_i
_l_0308.html" title="GIL&#39;s 2-dimensional view over immutable GIL pixels.">ImageViewConcept</a>. However, many algorithms provide overloads taking runtime specified views and thus in many cases <code><a class="el" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a></code> can be used in places taking a view.<p>
+To perform an algorithm on <a class="el" href="g_i_l_0020.html" title="Represents a run-time specified image view. Models HasDynamicXStepTypeConcept, HasDynamicYStepTypeCo...">any_image_view</a>, put the algorithm in a function object and invoke it by calling <code>apply_operation(runtime_view, algorithm_fn)</code>; <table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="w0"></a><!-- doxytag: member="boost::gil::any_image_view::const_t" ref="w0" args="" -->
-typedef <a class="el" href="g_i_l_0020.html">any_image_view</a>&lt; typename <br>
-detail::views_get_const_t&lt;<br>
- ImageViewTypes &gt;::type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_t</b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="19cfd9d07bae93585c0a9804044565eb"></a><!-- doxytag: member="boost::gil::any_image_view::const_t" ref="19cfd9d07bae93585c0a9804044565eb" args="" -->
+typedef <a class="el" href="g_i_l_0020.html">any_image_view</a><br>
+&lt; typename <br>
+detail::views_get_const_t<br>
+&lt; ImageViewTypes &gt;::type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_t</b></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="w1"></a><!-- doxytag: member="boost::gil::any_image_view::x_coord_t" ref="w1" args="" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5396c00a891ea52bd233a307bdaf6a64"></a><!-- doxytag: member="boost::gil::any_image_view::x_coord_t" ref="5396c00a891ea52bd233a307bdaf6a64" args="" -->
 typedef std::ptrdiff_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>x_coord_t</b></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="w2"></a><!-- doxytag: member="boost::gil::any_image_view::y_coord_t" ref="w2" args="" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e21c9a09689df0e5118fd07840e055bb"></a><!-- doxytag: member="boost::gil::any_image_view::y_coord_t" ref="e21c9a09689df0e5118fd07840e055bb" args="" -->
 typedef std::ptrdiff_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>y_coord_t</b></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="w3"></a><!-- doxytag: member="boost::gil::any_image_view::point_t" ref="w3" args="" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ce54a5224e10a07eb7fc9d9c78c259a0"></a><!-- doxytag: member="boost::gil::any_image_view::point_t" ref="ce54a5224e10a07eb7fc9d9c78c259a0" args="" -->
 typedef <a class="el" href="g_i_l_0060.html">point2</a>&lt; std::ptrdiff_t &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>point_t</b></td></tr>
 
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a1"></a><!-- doxytag: member="boost::gil::any_image_view::any_image_view" ref="a1" args="(const T &amp;obj)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a0ab8679dd348337774da557be0aef13"></a><!-- doxytag: member="boost::gil::any_image_view::any_image_view" ref="a0ab8679dd348337774da557be0aef13" args="(const T &amp;obj)" -->
 template&lt;typename T&gt; </td></tr>
 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>any_image_view</b> (const T &amp;obj)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2"></a><!-- doxytag: member="boost::gil::any_image_view::any_image_view" ref="a2" args="(const any_image_view &amp;v)" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="959ea9ab653e33476208225b11cd9090"></a><!-- doxytag: member="boost::gil::any_image_view::any_image_view" ref="959ea9ab653e33476208225b11cd9090" args="(const any_image_view &amp;v)" -->
 &nbsp;</td><td class="memItemRight" valign="bottom"><b>any_image_view</b> (const <a class="el" href="g_i_l_0020.html">any_image_view</a> &amp;v)</td></tr>
 
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a3"></a><!-- doxytag: member="boost::gil::any_image_view::operator=" ref="a3" args="(const T &amp;obj)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="43925d3fbe7a19bf4ffd8d94cb42bec9"></a><!-- doxytag: member="boost::gil::any_image_view::operator=" ref="43925d3fbe7a19bf4ffd8d94cb42bec9" args="(const T &amp;obj)" -->
 template&lt;typename T&gt; </td></tr>
 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="g_i_l_0020.html">any_image_view</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator=</b> (const T &amp;obj)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4"></a><!-- doxytag: member="boost::gil::any_image_view::operator=" ref="a4" args="(const any_image_view &amp;v)" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1ba6a2f72ad1f25d708c4ef7d8012725"></a><!-- doxytag: member="boost::gil::any_image_view::operator=" ref="1ba6a2f72ad1f25d708c4ef7d8012725" args="(const any_image_view &amp;v)" -->
 <a class="el" href="g_i_l_0020.html">any_image_view</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="g_i_l_0020.html">any_image_view</a> &amp;v)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5"></a><!-- doxytag: member="boost::gil::any_image_view::num_channels" ref="a5" args="() const " -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7e7336b5e1b9d3674e5bb27d4adbb46a"></a><!-- doxytag: member="boost::gil::any_image_view::num_channels" ref="7e7336b5e1b9d3674e5bb27d4adbb46a" args="() const " -->
 std::size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>num_channels</b> () const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a6"></a><!-- doxytag: member="boost::gil::any_image_view::dimensions" ref="a6" args="() const " -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d72453f8233186957b5274e32b593006"></a><!-- doxytag: member="boost::gil::any_image_view::dimensions" ref="d72453f8233186957b5274e32b593006" args="() const " -->
 <a class="el" href="g_i_l_0060.html">point_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimensions</b> () const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a7"></a><!-- doxytag: member="boost::gil::any_image_view::width" ref="a7" args="() const " -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="edb657636fdfa1645708f3beaad70d8d"></a><!-- doxytag: member="boost::gil::any_image_view::width" ref="edb657636fdfa1645708f3beaad70d8d" args="() const " -->
 x_coord_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>width</b> () const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8"></a><!-- doxytag: member="boost::gil::any_image_view::height" ref="a8" args="() const " -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5d84f7f164c70ba5b617ffa1e69f71a1"></a><!-- doxytag: member="boost::gil::any_image_view::height" ref="5d84f7f164c70ba5b617ffa1e69f71a1" args="() const " -->
 y_coord_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>height</b> () const </td></tr>
 
 </table>
 <hr>The documentation for this class was generated from the following file:<ul>
 <li><a class="el" href="g_i_l_0003.html">any_image_view.hpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:24 2007 for Generic Image Library by&nbsp;
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:42 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0020.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0021.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0021.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0021.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : Member List</TITLE>
+ <TITLE>Generic Image Library: Member List</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,22 +31,23 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
+<!-- Generated by Doxygen 1.5.6 -->
+<div class="contents">
 <h1>color_convert_deref_fn Member List</h1>This is the complete list of members for <a class="el" href="g_i_l_0022.html">color_convert_deref_fn</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>BOOST_STATIC_CONSTANT</b>(bool, is_mutable=IsMutable) (defined in <a class="el" href="g_i_l_0469.html">deref_base&lt; color_convert_deref_fn&lt; SrcConstRefP, DstP, CC &gt;, DstP, DstP, const DstP &amp;, SrcConstRefP, DstP, false &gt;</a>)</td><td><a class="el" href="g_i_l_0469.html">deref_base&lt; color_convert_deref_fn&lt; SrcConstRefP, DstP, CC &gt;, DstP, DstP, const DstP &amp;, SrcConstRefP, DstP, false &gt;</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>BOOST_STATIC_CONSTANT</b>(bool, is_mutable=IsMutable) (defined in <a class="el" href="g_i_l_0475.html">deref_base</a>)</td><td><a class="el" href="g_i_l_0475.html">deref_base</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>color_convert_deref_fn</b>() (defined in <a class="el" href="g_i_l_0022.html">color_convert_deref_fn</a>)</td><td><a class="el" href="g_i_l_0022.html">color_convert_deref_fn</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>color_convert_deref_fn</b>(CC cc_in) (defined in <a class="el" href="g_i_l_0022.html">color_convert_deref_fn</a>)</td><td><a class="el" href="g_i_l_0022.html">color_convert_deref_fn</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>const_reference</b> typedef (defined in <a class="el" href="g_i_l_0469.html">deref_base&lt; color_convert_deref_fn&lt; SrcConstRefP, DstP, CC &gt;, DstP, DstP, const DstP &amp;, SrcConstRefP, DstP, false &gt;</a>)</td><td><a class="el" href="g_i_l_0469.html">deref_base&lt; color_convert_deref_fn&lt; SrcConstRefP, DstP, CC &gt;, DstP, DstP, const DstP &amp;, SrcConstRefP, DstP, false &gt;</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>const_t</b> typedef (defined in <a class="el" href="g_i_l_0469.html">deref_base&lt; color_convert_deref_fn&lt; SrcConstRefP, DstP, CC &gt;, DstP, DstP, const DstP &amp;, SrcConstRefP, DstP, false &gt;</a>)</td><td><a class="el" href="g_i_l_0469.html">deref_base&lt; color_convert_deref_fn&lt; SrcConstRefP, DstP, CC &gt;, DstP, DstP, const DstP &amp;, SrcConstRefP, DstP, false &gt;</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>const_reference</b> typedef (defined in <a class="el" href="g_i_l_0475.html">deref_base</a>)</td><td><a class="el" href="g_i_l_0475.html">deref_base</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>const_t</b> typedef (defined in <a class="el" href="g_i_l_0475.html">deref_base</a>)</td><td><a class="el" href="g_i_l_0475.html">deref_base</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>operator()</b>(SrcConstRefP srcP) const (defined in <a class="el" href="g_i_l_0022.html">color_convert_deref_fn</a>)</td><td><a class="el" href="g_i_l_0022.html">color_convert_deref_fn</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>reference</b> typedef (defined in <a class="el" href="g_i_l_0469.html">deref_base&lt; color_convert_deref_fn&lt; SrcConstRefP, DstP, CC &gt;, DstP, DstP, const DstP &amp;, SrcConstRefP, DstP, false &gt;</a>)</td><td><a class="el" href="g_i_l_0469.html">deref_base&lt; color_convert_deref_fn&lt; SrcConstRefP, DstP, CC &gt;, DstP, DstP, const DstP &amp;, SrcConstRefP, DstP, false &gt;</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>value_type</b> typedef (defined in <a class="el" href="g_i_l_0469.html">deref_base&lt; color_convert_deref_fn&lt; SrcConstRefP, DstP, CC &gt;, DstP, DstP, const DstP &amp;, SrcConstRefP, DstP, false &gt;</a>)</td><td><a class="el" href="g_i_l_0469.html">deref_base&lt; color_convert_deref_fn&lt; SrcConstRefP, DstP, CC &gt;, DstP, DstP, const DstP &amp;, SrcConstRefP, DstP, false &gt;</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:22 2007 for Generic Image Library by&nbsp;
+ <tr bgcolor="#f0f0f0"><td><b>reference</b> typedef (defined in <a class="el" href="g_i_l_0475.html">deref_base</a>)</td><td><a class="el" href="g_i_l_0475.html">deref_base</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>value_type</b> typedef (defined in <a class="el" href="g_i_l_0475.html">deref_base</a>)</td><td><a class="el" href="g_i_l_0475.html">deref_base</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:41 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0021.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0022.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0022.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0022.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : color_convert_deref_fn Class Template Reference</TITLE>
+ <TITLE>Generic Image Library: color_convert_deref_fn Class Template Reference</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,45 +31,50 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="namespaceboost.html">boost</a>::<b>gil</b>::<a class="el" href="g_i_l_0022.html">color_convert_deref_fn</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<b>gil</b>::<a class="el" href="g_i_l_0022.html">color_convert_deref_fn</a>
+ </div>
+<div class="contents">
 <h1>color_convert_deref_fn Class Template Reference<br>
 <small>
-[<a class="el" href="g_i_l_0156.html">color_converted_view</a>,&nbsp;<a class="el" href="g_i_l_0181.html">Models</a>]</small>
-</h1><!-- doxytag: class="boost::gil::color_convert_deref_fn" --><!-- doxytag: inherits="boost::gil::deref_base&lt; color_convert_deref_fn&lt; SrcConstRefP, DstP, CC &gt;, DstP, DstP, const DstP &amp;, SrcConstRefP, DstP, false &gt;" --><code>#include &lt;<a class="el" href="g_i_l_0221.html">image_view_factory.hpp</a>&gt;</code>
+[<a class="el" href="g_i_l_0161.html">color_converted_view</a>,&nbsp;<a class="el" href="g_i_l_0186.html">Models</a>]</small>
+</h1><!-- doxytag: class="boost::gil::color_convert_deref_fn" --><!-- doxytag: inherits="boost::gil::deref_base" --><code>#include &lt;<a class="el" href="g_i_l_0226.html">image_view_factory.hpp</a>&gt;</code>
 <p>
-<p>Inheritance diagram for color_convert_deref_fn:
+<div class="dynheader">
+Inheritance diagram for color_convert_deref_fn:</div>
+<div class="dynsection">
+
 <p><center><img src="g_i_l_0003.png" usemap="#color_convert_deref_fn_map" border="0" alt=""></center>
 <map name="color_convert_deref_fn_map">
-<area href="g_i_l_0469.html" alt="deref_base< color_convert_deref_fn< SrcConstRefP, DstP, CC >, DstP, DstP, const DstP &, SrcConstRefP, DstP, false >" shape="rect" coords="0,0,712,24">
+<area href="g_i_l_0475.html" alt="deref_base" shape="rect" coords="0,0,767,24">
 </map>
+</div>
+
+<p>
 <a href="g_i_l_0021.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
 <h3>template&lt;typename SrcConstRefP, typename DstP, typename CC = default_color_converter&gt;<br>
  class boost::gil::color_convert_deref_fn&lt; SrcConstRefP, DstP, CC &gt;</h3>
 
-Function object that given a source pixel, returns it converted to a given color space and channel depth. Models: <a class="el" href="g_i_l_0345.html">PixelDereferenceAdaptorConcept</a>.
-<p>
-Useful in constructing a color converted view over a given image view
+Function object that given a source <a class="el" href="g_i_l_0599.html" title="Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept...">pixel</a>, returns it converted to a given color space and channel depth. Models: <a class="el" href="g_i_l_0350.html" title="Represents a unary function object that can be invoked upon dereferencing a pixel...">PixelDereferenceAdaptorConcept</a>.
 <p>
-<table border="0" cellpadding="0" cellspacing="0">
+Useful in constructing a color converted view over a given <a class="el" href="g_i_l_0038.html" title="container interface over image view. Models ImageConcept, PixelBasedConcept">image</a> view <table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1"></a><!-- doxytag: member="boost::gil::color_convert_deref_fn::color_convert_deref_fn" ref="a1" args="(CC cc_in)" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d2bbadcc199aa4b9e1efdc0dd4b60646"></a><!-- doxytag: member="boost::gil::color_convert_deref_fn::color_convert_deref_fn" ref="d2bbadcc199aa4b9e1efdc0dd4b60646" args="(CC cc_in)" -->
 &nbsp;</td><td class="memItemRight" valign="bottom"><b>color_convert_deref_fn</b> (CC cc_in)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2"></a><!-- doxytag: member="boost::gil::color_convert_deref_fn::operator()" ref="a2" args="(SrcConstRefP srcP) const " -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1d94b96c614ff47e856bc18039342300"></a><!-- doxytag: member="boost::gil::color_convert_deref_fn::operator()" ref="1d94b96c614ff47e856bc18039342300" args="(SrcConstRefP srcP) const " -->
 DstP&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator()</b> (SrcConstRefP srcP) const </td></tr>
 
 </table>
 <hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="g_i_l_0221.html">image_view_factory.hpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:22 2007 for Generic Image Library by&nbsp;
+<li><a class="el" href="g_i_l_0226.html">image_view_factory.hpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:41 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0022.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0023.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0023.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0023.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : Member List</TITLE>
+ <TITLE>Generic Image Library: Member List</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,29 +31,30 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
+<!-- Generated by Doxygen 1.5.6 -->
+<div class="contents">
 <h1>deref_compose Member List</h1>This is the complete list of members for <a class="el" href="g_i_l_0024.html">deref_compose</a>, including all inherited members.<p><table>
   <tr bgcolor="#f0f0f0"><td><b>_fn1</b> (defined in <a class="el" href="g_i_l_0024.html">deref_compose</a>)</td><td><a class="el" href="g_i_l_0024.html">deref_compose</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>_fn2</b> (defined in <a class="el" href="g_i_l_0024.html">deref_compose</a>)</td><td><a class="el" href="g_i_l_0024.html">deref_compose</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>argument_type</b> typedef (defined in <a class="el" href="g_i_l_0024.html">deref_compose</a>)</td><td><a class="el" href="g_i_l_0024.html">deref_compose</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>BOOST_STATIC_CONSTANT</b>(bool, is_mutable=IsMutable) (defined in <a class="el" href="g_i_l_0469.html">deref_base&lt; deref_compose&lt; D1::const_t, D2::const_t &gt;, D1::value_type, D1::reference, D1::const_reference, D2::argument_type, D1::result_type, D1::is_mutable &amp;&amp;D2::is_mutable &gt;</a>)</td><td><a class="el" href="g_i_l_0469.html">deref_base&lt; deref_compose&lt; D1::const_t, D2::const_t &gt;, D1::value_type, D1::reference, D1::const_reference, D2::argument_type, D1::result_type, D1::is_mutable &amp;&amp;D2::is_mutable &gt;</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>const_reference</b> typedef (defined in <a class="el" href="g_i_l_0469.html">deref_base&lt; deref_compose&lt; D1::const_t, D2::const_t &gt;, D1::value_type, D1::reference, D1::const_reference, D2::argument_type, D1::result_type, D1::is_mutable &amp;&amp;D2::is_mutable &gt;</a>)</td><td><a class="el" href="g_i_l_0469.html">deref_base&lt; deref_compose&lt; D1::const_t, D2::const_t &gt;, D1::value_type, D1::reference, D1::const_reference, D2::argument_type, D1::result_type, D1::is_mutable &amp;&amp;D2::is_mutable &gt;</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>const_t</b> typedef (defined in <a class="el" href="g_i_l_0469.html">deref_base&lt; deref_compose&lt; D1::const_t, D2::const_t &gt;, D1::value_type, D1::reference, D1::const_reference, D2::argument_type, D1::result_type, D1::is_mutable &amp;&amp;D2::is_mutable &gt;</a>)</td><td><a class="el" href="g_i_l_0469.html">deref_base&lt; deref_compose&lt; D1::const_t, D2::const_t &gt;, D1::value_type, D1::reference, D1::const_reference, D2::argument_type, D1::result_type, D1::is_mutable &amp;&amp;D2::is_mutable &gt;</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>BOOST_STATIC_CONSTANT</b>(bool, is_mutable=IsMutable) (defined in <a class="el" href="g_i_l_0475.html">deref_base</a>)</td><td><a class="el" href="g_i_l_0475.html">deref_base</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>const_reference</b> typedef (defined in <a class="el" href="g_i_l_0475.html">deref_base</a>)</td><td><a class="el" href="g_i_l_0475.html">deref_base</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>const_t</b> typedef (defined in <a class="el" href="g_i_l_0475.html">deref_base</a>)</td><td><a class="el" href="g_i_l_0475.html">deref_base</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>deref_compose</b>() (defined in <a class="el" href="g_i_l_0024.html">deref_compose</a>)</td><td><a class="el" href="g_i_l_0024.html">deref_compose</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>deref_compose</b>(const D1 &amp;x, const D2 &amp;y) (defined in <a class="el" href="g_i_l_0024.html">deref_compose</a>)</td><td><a class="el" href="g_i_l_0024.html">deref_compose</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>deref_compose</b>(const deref_compose &amp;dc) (defined in <a class="el" href="g_i_l_0024.html">deref_compose</a>)</td><td><a class="el" href="g_i_l_0024.html">deref_compose</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>deref_compose</b>(const deref_compose&lt; _D1, _D2 &gt; &amp;dc) (defined in <a class="el" href="g_i_l_0024.html">deref_compose</a>)</td><td><a class="el" href="g_i_l_0024.html">deref_compose</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>operator()</b>(argument_type x) const (defined in <a class="el" href="g_i_l_0024.html">deref_compose</a>)</td><td><a class="el" href="g_i_l_0024.html">deref_compose</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>operator()</b>(argument_type x) (defined in <a class="el" href="g_i_l_0024.html">deref_compose</a>)</td><td><a class="el" href="g_i_l_0024.html">deref_compose</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>reference</b> typedef (defined in <a class="el" href="g_i_l_0469.html">deref_base&lt; deref_compose&lt; D1::const_t, D2::const_t &gt;, D1::value_type, D1::reference, D1::const_reference, D2::argument_type, D1::result_type, D1::is_mutable &amp;&amp;D2::is_mutable &gt;</a>)</td><td><a class="el" href="g_i_l_0469.html">deref_base&lt; deref_compose&lt; D1::const_t, D2::const_t &gt;, D1::value_type, D1::reference, D1::const_reference, D2::argument_type, D1::result_type, D1::is_mutable &amp;&amp;D2::is_mutable &gt;</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>reference</b> typedef (defined in <a class="el" href="g_i_l_0475.html">deref_base</a>)</td><td><a class="el" href="g_i_l_0475.html">deref_base</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>result_type</b> typedef (defined in <a class="el" href="g_i_l_0024.html">deref_compose</a>)</td><td><a class="el" href="g_i_l_0024.html">deref_compose</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>value_type</b> typedef (defined in <a class="el" href="g_i_l_0469.html">deref_base&lt; deref_compose&lt; D1::const_t, D2::const_t &gt;, D1::value_type, D1::reference, D1::const_reference, D2::argument_type, D1::result_type, D1::is_mutable &amp;&amp;D2::is_mutable &gt;</a>)</td><td><a class="el" href="g_i_l_0469.html">deref_base&lt; deref_compose&lt; D1::const_t, D2::const_t &gt;, D1::value_type, D1::reference, D1::const_reference, D2::argument_type, D1::result_type, D1::is_mutable &amp;&amp;D2::is_mutable &gt;</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:23 2007 for Generic Image Library by&nbsp;
+ <tr bgcolor="#f0f0f0"><td><b>value_type</b> typedef (defined in <a class="el" href="g_i_l_0475.html">deref_base</a>)</td><td><a class="el" href="g_i_l_0475.html">deref_base</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:42 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0023.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0024.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0024.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0024.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : deref_compose Class Template Reference</TITLE>
+ <TITLE>Generic Image Library: deref_compose Class Template Reference</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,67 +31,72 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="namespaceboost.html">boost</a>::<b>gil</b>::<a class="el" href="g_i_l_0024.html">deref_compose</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<b>gil</b>::<a class="el" href="g_i_l_0024.html">deref_compose</a>
+ </div>
+<div class="contents">
 <h1>deref_compose Class Template Reference<br>
 <small>
-[<a class="el" href="g_i_l_0181.html">Models</a>]</small>
-</h1><!-- doxytag: class="boost::gil::deref_compose" --><!-- doxytag: inherits="boost::gil::deref_base&lt; deref_compose&lt; D1::const_t, D2::const_t &gt;, D1::value_type, D1::reference, D1::const_reference, D2::argument_type, D1::result_type, D1::is_mutable &amp;&amp;D2::is_mutable &gt;" --><code>#include &lt;<a class="el" href="g_i_l_0636.html">utilities.hpp</a>&gt;</code>
+[<a class="el" href="g_i_l_0186.html">Models</a>]</small>
+</h1><!-- doxytag: class="boost::gil::deref_compose" --><!-- doxytag: inherits="boost::gil::deref_base" --><code>#include &lt;<a class="el" href="g_i_l_0642.html">utilities.hpp</a>&gt;</code>
 <p>
-<p>Inheritance diagram for deref_compose:
+<div class="dynheader">
+Inheritance diagram for deref_compose:</div>
+<div class="dynsection">
+
 <p><center><img src="g_i_l_0004.png" usemap="#deref_compose_map" border="0" alt=""></center>
 <map name="deref_compose_map">
-<area href="g_i_l_0469.html" alt="deref_base< deref_compose< D1::const_t, D2::const_t >, D1::value_type, D1::reference, D1::const_reference, D2::argument_type, D1::result_type, D1::is_mutable &&D2::is_mutable >" shape="rect" coords="0,0,1049,24">
+<area href="g_i_l_0475.html" alt="deref_base" shape="rect" coords="0,0,1104,24">
 </map>
+</div>
+
+<p>
 <a href="g_i_l_0023.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
 <h3>template&lt;typename D1, typename D2&gt;<br>
  class boost::gil::deref_compose&lt; D1, D2 &gt;</h3>
 
-Composes two dereference function objects. Similar to std::unary_compose but needs to pull some typedefs from the component types. Models: <a class="el" href="g_i_l_0345.html">PixelDereferenceAdaptorConcept</a>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
+Composes two dereference function objects. Similar to std::unary_compose but needs to pull some typedefs from the component types. Models: <a class="el" href="g_i_l_0350.html" title="Represents a unary function object that can be invoked upon dereferencing a pixel...">PixelDereferenceAdaptorConcept</a>. <table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="w0"></a><!-- doxytag: member="boost::gil::deref_compose::argument_type" ref="w0" args="" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fdbf121ada7bb303057b5b5decb6db49"></a><!-- doxytag: member="boost::gil::deref_compose::argument_type" ref="fdbf121ada7bb303057b5b5decb6db49" args="" -->
 typedef D2::argument_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>argument_type</b></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="w1"></a><!-- doxytag: member="boost::gil::deref_compose::result_type" ref="w1" args="" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3ecff708e38cbbf5954abfbf54a3f944"></a><!-- doxytag: member="boost::gil::deref_compose::result_type" ref="3ecff708e38cbbf5954abfbf54a3f944" args="" -->
 typedef D1::result_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>result_type</b></td></tr>
 
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1"></a><!-- doxytag: member="boost::gil::deref_compose::deref_compose" ref="a1" args="(const D1 &amp;x, const D2 &amp;y)" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a7ad5518deba57aa35db893b6f037b8d"></a><!-- doxytag: member="boost::gil::deref_compose::deref_compose" ref="a7ad5518deba57aa35db893b6f037b8d" args="(const D1 &amp;x, const D2 &amp;y)" -->
 &nbsp;</td><td class="memItemRight" valign="bottom"><b>deref_compose</b> (const D1 &amp;x, const D2 &amp;y)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2"></a><!-- doxytag: member="boost::gil::deref_compose::deref_compose" ref="a2" args="(const deref_compose &amp;dc)" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fc74b575d85acaa8a504722f5dc2d7f3"></a><!-- doxytag: member="boost::gil::deref_compose::deref_compose" ref="fc74b575d85acaa8a504722f5dc2d7f3" args="(const deref_compose &amp;dc)" -->
 &nbsp;</td><td class="memItemRight" valign="bottom"><b>deref_compose</b> (const <a class="el" href="g_i_l_0024.html">deref_compose</a> &amp;dc)</td></tr>
 
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a3"></a><!-- doxytag: member="boost::gil::deref_compose::deref_compose" ref="a3" args="(const deref_compose&lt; _D1, _D2 &gt; &amp;dc)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="2fd5a27429ecef5ac93beaf5a98521ed"></a><!-- doxytag: member="boost::gil::deref_compose::deref_compose" ref="2fd5a27429ecef5ac93beaf5a98521ed" args="(const deref_compose&lt; _D1, _D2 &gt; &amp;dc)" -->
 template&lt;typename _D1, typename _D2&gt; </td></tr>
 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>deref_compose</b> (const <a class="el" href="g_i_l_0024.html">deref_compose</a>&lt; _D1, _D2 &gt; &amp;dc)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4"></a><!-- doxytag: member="boost::gil::deref_compose::operator()" ref="a4" args="(argument_type x) const " -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="125f66e1a3dfd9e5621235e8d4fb8b58"></a><!-- doxytag: member="boost::gil::deref_compose::operator()" ref="125f66e1a3dfd9e5621235e8d4fb8b58" args="(argument_type x) const " -->
 result_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator()</b> (argument_type x) const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5"></a><!-- doxytag: member="boost::gil::deref_compose::operator()" ref="a5" args="(argument_type x)" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8bd11513346bc122922757642cfb5329"></a><!-- doxytag: member="boost::gil::deref_compose::operator()" ref="8bd11513346bc122922757642cfb5329" args="(argument_type x)" -->
 result_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator()</b> (argument_type x)</td></tr>
 
 <tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o0"></a><!-- doxytag: member="boost::gil::deref_compose::_fn1" ref="o0" args="" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fbe38941175e93403e20454f43a45371"></a><!-- doxytag: member="boost::gil::deref_compose::_fn1" ref="fbe38941175e93403e20454f43a45371" args="" -->
 D1&nbsp;</td><td class="memItemRight" valign="bottom"><b>_fn1</b></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o1"></a><!-- doxytag: member="boost::gil::deref_compose::_fn2" ref="o1" args="" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3b5402cbecf2cb062d68afeb8fca26eb"></a><!-- doxytag: member="boost::gil::deref_compose::_fn2" ref="3b5402cbecf2cb062d68afeb8fca26eb" args="" -->
 D2&nbsp;</td><td class="memItemRight" valign="bottom"><b>_fn2</b></td></tr>
 
 </table>
 <hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="g_i_l_0636.html">utilities.hpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:23 2007 for Generic Image Library by&nbsp;
+<li><a class="el" href="g_i_l_0642.html">utilities.hpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:42 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0024.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0025.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0025.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0025.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : Member List</TITLE>
+ <TITLE>Generic Image Library: Member List</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,11 +31,11 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
+<!-- Generated by Doxygen 1.5.6 -->
+<div class="contents">
 <h1>dereference_iterator_adaptor Member List</h1>This is the complete list of members for <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a>, including all inherited members.<p><table>
   <tr bgcolor="#f0f0f0"><td><b>base</b>() (defined in <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a>)</td><td><a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>base</b>() const (defined in <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a>)</td><td><a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a></td><td><code> [inline]</code></td></tr>
@@ -56,11 +54,12 @@
   <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const dereference_iterator_adaptor &amp;p) const (defined in <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a>)</td><td><a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>operator&gt;</b>(const dereference_iterator_adaptor &amp;p) const (defined in <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a>)</td><td><a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>operator&gt;=</b>(const dereference_iterator_adaptor &amp;p) const (defined in <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a>)</td><td><a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="g_i_l_0026.html#a4">operator[]</a>(difference_type d) const </td><td><a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="g_i_l_0026.html#de1279c4ed222b6efb0867c038765ea1">operator[]</a>(difference_type d) const </td><td><a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>parent_t</b> typedef (defined in <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a>)</td><td><a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>reference</b> typedef (defined in <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a>)</td><td><a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:23 2007 for Generic Image Library by&nbsp;
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:42 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0025.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0026.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0026.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0026.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 
 <head>
- <TITLE>Generic Image Library : dereference_iterator_adaptor Class Template Reference</TITLE>
+ <TITLE>Generic Image Library: dereference_iterator_adaptor Class Template Reference</TITLE>
     <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
     <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
- <LINK REL="alternate" TITLE="opensource.adobe.com RSS" HREF="http://sourceforge.net/export/rss2_projnews.php?group_id=132417&amp;rss_fulltext=1" TYPE="application/rss+xml"/>
 </head>
 <body>
 <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
@@ -33,127 +31,122 @@
                   | <a class="qindex" href="annotated.html">Class List</a>
                   | <a class="qindex" href="dirs.html">Directories</a>
                   | <a class="qindex" href="files.html">File List</a>
- | <a class="qindex" href="globals.html">File Members</a>
                   | <a class="qindex" href="../index.html">GIL Home Page</a>
 </div>
 <!-- End Header -->
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="nav">
-<a class="el" href="namespaceboost.html">boost</a>::<b>gil</b>::<a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a></div>
+<!-- Generated by Doxygen 1.5.6 -->
+ <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<b>gil</b>::<a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a>
+ </div>
+<div class="contents">
 <h1>dereference_iterator_adaptor Class Template Reference<br>
 <small>
-[<a class="el" href="g_i_l_0189.html">dereference_iterator_adaptor</a>,&nbsp;<a class="el" href="g_i_l_0177.html">Models</a>]</small>
-</h1><!-- doxytag: class="boost::gil::dereference_iterator_adaptor" --><code>#include &lt;<a class="el" href="g_i_l_0239.html">pixel_iterator_adaptor.hpp</a>&gt;</code>
+[<a class="el" href="g_i_l_0194.html">dereference_iterator_adaptor</a>,&nbsp;<a class="el" href="g_i_l_0182.html">Models</a>]</small>
+</h1><!-- doxytag: class="boost::gil::dereference_iterator_adaptor" --><!-- doxytag: inherits="iterator_adaptor" --><code>#include &lt;<a class="el" href="g_i_l_0244.html">pixel_iterator_adaptor.hpp</a>&gt;</code>
+<p>
+Inherits iterator_adaptor&lt; boost::gil::dereference_iterator_adaptor&lt; Iterator, DFn &gt;, Iterator, DFn::value_type, use_default, DFn::reference, use_default &gt;.
+<p>
+
 <p>
 <a href="g_i_l_0025.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
 <h3>template&lt;typename Iterator, typename DFn&gt;<br>
  class boost::gil::dereference_iterator_adaptor&lt; Iterator, DFn &gt;</h3>
 
-An adaptor over an existing iterator that provides for custom filter on dereferencing the object. Models: <a class="el" href="g_i_l_0305.html">IteratorAdaptorConcept</a>, <a class="el" href="g_i_l_0347.html">PixelIteratorConcept</a>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
+An adaptor over an existing iterator that provides for custom filter on dereferencing the object. Models: <a class="el" href="g_i_l_0310.html" title="Iterator adaptor is a forward iterator adapting another forward iterator.">IteratorAdaptorConcept</a>, <a class="el" href="g_i_l_0352.html" title="An STL random access traversal iterator over a model of PixelConcept.">PixelIteratorConcept</a>. <table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="w0"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::parent_t" ref="w0" args="" -->
-typedef iterator_adaptor&lt;<br>
- <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a>&lt;<br>
- Iterator, DFn &gt;, Iterator,<br>
- typename DFn::value_type,<br>
- use_default, typename DFn::reference,<br>
- use_default &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>parent_t</b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fc63a336589f8e781f0f1e6213340e2f"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::parent_t" ref="fc63a336589f8e781f0f1e6213340e2f" args="" -->
+typedef iterator_adaptor<br>
+&lt; <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a><br>
+&lt; Iterator, DFn &gt;, Iterator, <br>
+typename DFn::value_type, <br>
+use_default, typename <br>
+DFn::reference, use_default &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>parent_t</b></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="w1"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::reference" ref="w1" args="" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="925a77333811e037f4a6d8646999518b"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::reference" ref="925a77333811e037f4a6d8646999518b" args="" -->
 typedef DFn::result_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="w2"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::difference_type" ref="w2" args="" -->
-typedef std::iterator_traits&lt;<br>
- Iterator &gt;::difference_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2e6780c1f76e61ef32d8d9682be7cf9f"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::difference_type" ref="2e6780c1f76e61ef32d8d9682be7cf9f" args="" -->
+typedef std::iterator_traits<br>
+&lt; Iterator &gt;::difference_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="w3"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::dereference_fn" ref="w3" args="" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c82fa666cbc2cbbc0edea3c495001a39"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::dereference_fn" ref="c82fa666cbc2cbbc0edea3c495001a39" args="" -->
 typedef DFn&nbsp;</td><td class="memItemRight" valign="bottom"><b>dereference_fn</b></td></tr>
 
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a1"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::dereference_iterator_adaptor" ref="a1" args="(const dereference_iterator_adaptor&lt; Iterator1, DFn &gt; &amp;dit)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="719878495aa8c962f9018b4a5f884ce6"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::dereference_iterator_adaptor" ref="719878495aa8c962f9018b4a5f884ce6" args="(const dereference_iterator_adaptor&lt; Iterator1, DFn &gt; &amp;dit)" -->
 template&lt;typename Iterator1&gt; </td></tr>
 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>dereference_iterator_adaptor</b> (const <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a>&lt; Iterator1, DFn &gt; &amp;dit)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::dereference_iterator_adaptor" ref="a2" args="(Iterator it, DFn deref_fn=DFn())" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="59216761b450991ae857f8ed69ace8ba"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::dereference_iterator_adaptor" ref="59216761b450991ae857f8ed69ace8ba" args="(Iterator it, DFn deref_fn=DFn())" -->
 &nbsp;</td><td class="memItemRight" valign="bottom"><b>dereference_iterator_adaptor</b> (Iterator it, DFn deref_fn=DFn())</td></tr>
 
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a3"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::dereference_iterator_adaptor" ref="a3" args="(const dereference_iterator_adaptor&lt; Iterator1, DFn1 &gt; &amp;it)" -->
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="bb777a3f4899e0b98ec05a9b3b19a157"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::dereference_iterator_adaptor" ref="bb777a3f4899e0b98ec05a9b3b19a157" args="(const dereference_iterator_adaptor&lt; Iterator1, DFn1 &gt; &amp;it)" -->
 template&lt;typename Iterator1, typename DFn1&gt; </td></tr>
 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>dereference_iterator_adaptor</b> (const <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a>&lt; Iterator1, DFn1 &gt; &amp;it)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">reference&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0026.html#a4">operator[]</a> (difference_type d) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">reference&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0026.html#de1279c4ed222b6efb0867c038765ea1">operator[]</a> (difference_type d) const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator&gt;" ref="a5" args="(const dereference_iterator_adaptor &amp;p) const " -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0ee047e7f335eb8afd77ea58e94ad2c5"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator&gt;" ref="0ee047e7f335eb8afd77ea58e94ad2c5" args="(const dereference_iterator_adaptor &amp;p) const " -->
 bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&gt;</b> (const <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a> &amp;p) const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a6"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator&lt;" ref="a6" args="(const dereference_iterator_adaptor &amp;p) const " -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c83520fc09f8fb9a789662732a76924f"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator&lt;" ref="c83520fc09f8fb9a789662732a76924f" args="(const dereference_iterator_adaptor &amp;p) const " -->
 bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&lt;</b> (const <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a> &amp;p) const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a7"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator&gt;=" ref="a7" args="(const dereference_iterator_adaptor &amp;p) const " -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c16d7b7aad842c0544397598e426bfed"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator&gt;=" ref="c16d7b7aad842c0544397598e426bfed" args="(const dereference_iterator_adaptor &amp;p) const " -->
 bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&gt;=</b> (const <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a> &amp;p) const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator&lt;=" ref="a8" args="(const dereference_iterator_adaptor &amp;p) const " -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="60155c31954beb550e2f6e79df654445"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator&lt;=" ref="60155c31954beb550e2f6e79df654445" args="(const dereference_iterator_adaptor &amp;p) const " -->
 bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&lt;=</b> (const <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a> &amp;p) const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator==" ref="a9" args="(const dereference_iterator_adaptor &amp;p) const " -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="776301b8564074bfb69b226a1994cf16"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator==" ref="776301b8564074bfb69b226a1994cf16" args="(const dereference_iterator_adaptor &amp;p) const " -->
 bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a> &amp;p) const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a10"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator!=" ref="a10" args="(const dereference_iterator_adaptor &amp;p) const " -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="21ce52ab4ea954ac9d6a81cf7bf6b0f6"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator!=" ref="21ce52ab4ea954ac9d6a81cf7bf6b0f6" args="(const dereference_iterator_adaptor &amp;p) const " -->
 bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a> &amp;p) const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a11"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::base" ref="a11" args="()" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="048bfb0fc9c6a14faae4c65e841ee2d8"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::base" ref="048bfb0fc9c6a14faae4c65e841ee2d8" args="()" -->
 Iterator &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>base</b> ()</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a12"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::base" ref="a12" args="() const " -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="46641e88a4cfc59b489f75d868bc2269"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::base" ref="46641e88a4cfc59b489f75d868bc2269" args="() const " -->
 const Iterator &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>base</b> () const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a13"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::deref_fn" ref="a13" args="() const " -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="53175a49e7ed40f9aa59e89556149573"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::deref_fn" ref="53175a49e7ed40f9aa59e89556149573" args="() const " -->
 const DFn &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>deref_fn</b> () const </td></tr>
 
 <tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="n0"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::dereference_iterator_adaptor" ref="n0" args="" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1297b5a5a58dc9f2266f6ce275a2bed6"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::dereference_iterator_adaptor" ref="1297b5a5a58dc9f2266f6ce275a2bed6" args="" -->
 class&nbsp;</td><td class="memItemRight" valign="bottom"><b>dereference_iterator_adaptor</b></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="n1"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::boost::iterator_core_access" ref="n1" args="" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c09f73e325921cc50ebcd96bed0f8096"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::boost::iterator_core_access" ref="c09f73e325921cc50ebcd96bed0f8096" args="" -->
 class&nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::iterator_core_access</b></td></tr>
 
 </table>
 <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a4"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator[]" ref="a4" args="(difference_type d) const " --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+<a class="anchor" name="de1279c4ed222b6efb0867c038765ea1"></a><!-- doxytag: member="boost::gil::dereference_iterator_adaptor::operator[]" ref="de1279c4ed222b6efb0867c038765ea1" args="(difference_type d) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
         <tr>
- <td class="md" nowrap valign="top">reference operator[] </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">difference_type&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>d</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
+ <td class="memname">reference operator[] </td>
+ <td>(</td>
+ <td class="paramtype">difference_type&nbsp;</td>
+ <td class="paramname"> <em>d</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
         </tr>
       </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
+</div>
+<div class="memdoc">
 
 <p>
-For some reason operator[] provided by iterator_facade returns a custom class that is convertible to reference We require our own reference because it is registered in iterator_traits </td>
- </tr>
-</table>
+For some reason operator[] provided by iterator_facade returns a custom class that is convertible to reference We require our own reference because it is registered in iterator_traits
+</div>
+</div><p>
 <hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="g_i_l_0239.html">pixel_iterator_adaptor.hpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:23 2007 for Generic Image Library by&nbsp;
+<li><a class="el" href="g_i_l_0244.html">pixel_iterator_adaptor.hpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 12:38:42 2009 for Generic Image Library by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 </body>
 </html>

Modified: trunk/libs/gil/doc/html/g_i_l_0026.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/gil/doc/html/g_i_l_0027.html
==============================================================================
--- trunk/libs/gil/doc/html/g_i_l_0027.html (original)
+++ trunk/libs/gil/doc/html/g_i_l_0027.html 2009-05-02 08:43:21 EDT (Sat, 02 May 2009)
@@ -1,18 +1,17 @@
 <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
- --
- -- Distributed under the Boost Software License, Version 1.0.
- -- (See accompanying file LICENSE_1_0.txt or copy at
- -- http://www.boost.org/LICENSE_1_0.txt)
- --
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
   -->
 
 <!--
     Copyright 2005-2007 Adobe Systems Incorporated
     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
- or a copy at http://opensource.adobe.com/licenses.html)
+ or a copy at http://stlab.adobe.com/licenses.html)
 
     Some files are held under additional license.
- Please see "http://opensource.adobe.com/licenses.html" for more information.
+ Please see "http://stlab.adobe.com/licenses.html" for more information.
 -->
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -20,10 +19,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang=