Boost logo

Boost-Commit :

From: hljin_at_[hidden]
Date: 2007-11-14 21:31:06


Author: hljin
Date: 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
New Revision: 41098
URL: http://svn.boost.org/trac/boost/changeset/41098

Log:
GIL: added a local copy of the Doxygen documentation
Added:
   trunk/libs/gil/doc/html/algorithm_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/annotated.html (contents, props changed)
   trunk/libs/gil/doc/html/any__image_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/channel_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/classes.html (contents, props changed)
   trunk/libs/gil/doc/html/cmyk_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/deprecated_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/device__n_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/dir_000000.html (contents, props changed)
   trunk/libs/gil/doc/html/dir_000001.html (contents, props changed)
   trunk/libs/gil/doc/html/dir_000002.html (contents, props changed)
   trunk/libs/gil/doc/html/dir_000003.html (contents, props changed)
   trunk/libs/gil/doc/html/dir_000004.html (contents, props changed)
   trunk/libs/gil/doc/html/dirs.html (contents, props changed)
   trunk/libs/gil/doc/html/files.html (contents, props changed)
   trunk/libs/gil/doc/html/functions.html (contents, props changed)
   trunk/libs/gil/doc/html/functions_func.html (contents, props changed)
   trunk/libs/gil/doc/html/functions_rela.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0001.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0002.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0003.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0004.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0005.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0006.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0007.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0008.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0009.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0010.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0011.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0012.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0013.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0014.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0015.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0016.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0017.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0018.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0019.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0020.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0021.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0022.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0023.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0024.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0025.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0026.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0027.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0028.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0029.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0030.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0031.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0032.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0033.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0034.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0035.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0036.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0037.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0038.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0039.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0040.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0041.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0042.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0043.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0044.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0045.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0046.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0047.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0048.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0049.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0050.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0051.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0052.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0053.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0054.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0055.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0056.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0057.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0058.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0059.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0060.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0061.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0062.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0063.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0064.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0065.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0066.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0067.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0068.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0069.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0070.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0071.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0072.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0073.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0074.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0075.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0076.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0077.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0078.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0079.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0080.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0081.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0082.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0083.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0084.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0085.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0086.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0087.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0088.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0089.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0090.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0091.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0092.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0093.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0094.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0095.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0096.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0097.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0098.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0099.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0100.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0101.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0102.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0103.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0104.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0105.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0106.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0107.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0108.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0109.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0110.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0111.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0112.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0113.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0114.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0115.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0116.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0117.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0118.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0119.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0120.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0121.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0122.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0123.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0124.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0125.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0126.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0127.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0128.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0129.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0130.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0131.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0132.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0133.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0134.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0135.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0136.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0137.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0138.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0139.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0140.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0141.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0142.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0143.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0144.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0145.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0146.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0147.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0148.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0149.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0150.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0151.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0152.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0153.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0154.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0155.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0156.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0157.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0158.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0159.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0160.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0161.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0162.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0163.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0164.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0165.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0166.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0167.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0168.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0169.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0170.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0171.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0172.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0173.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0174.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0175.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0176.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0177.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0178.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0179.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0180.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0181.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0182.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0183.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0184.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0185.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0186.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0187.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0188.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0189.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0190.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0191.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0192.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0193.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0194.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0195.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0196.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0197.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0198.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0199.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0200.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0201.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0202.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0203.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0204.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0205.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0206.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0207.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0208.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0209.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0210.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0211.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0212.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0213.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0214.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0215.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0216.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0217.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0218.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0219.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0220.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0221.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0222.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0223.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0224.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0225.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0226.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0227.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0228.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0229.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0230.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0231.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0232.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0233.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0234.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0235.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0236.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0237.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0238.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0239.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0240.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0241.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0242.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0243.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0244.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0245.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0246.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0247.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0248.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0249.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0250.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0251.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0252.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0253.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0254.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0255.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0256.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0257.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0258.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0259.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0260.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0261.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0262.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0263.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0264.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0265.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0266.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0267.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0268.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0269.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0270.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0271.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0272.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0273.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0274.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0275.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0276.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0277.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0278.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0279.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0280.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0281.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0282.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0283.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0284.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0285.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0286.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0287.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0288.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0289.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0290.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0291.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0292.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0293.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0294.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0295.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0296.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0297.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0298.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0299.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0300.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0301.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0302.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0303.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0304.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0305.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0306.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0307.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0308.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0309.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0310.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0311.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0312.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0313.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0314.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0315.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0316.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0317.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0318.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0319.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0320.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0321.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0322.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0323.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0324.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0325.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0326.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0327.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0328.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0329.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0330.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0331.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0332.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0333.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0334.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0335.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0336.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0337.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0338.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0339.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0340.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0341.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0342.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0343.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0344.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0345.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0346.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0347.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0348.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0349.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0350.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0351.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0352.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0353.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0354.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0355.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0356.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0357.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0358.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0359.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0360.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0361.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0362.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0363.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0364.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0365.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0366.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0367.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0368.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0369.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0370.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0371.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0372.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0373.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0374.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0375.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0376.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0377.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0378.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0379.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0380.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0381.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0382.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0383.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0384.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0385.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0386.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0387.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0388.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0389.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0390.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0391.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0392.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0393.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0394.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0395.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0396.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0397.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0398.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0399.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0400.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0401.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0402.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0403.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0404.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0405.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0406.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0407.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0408.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0409.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0410.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0411.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0412.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0413.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0414.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0415.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0416.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0417.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0418.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0419.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0420.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0421.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0422.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0423.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0424.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0425.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0426.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0427.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0428.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0429.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0430.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0431.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0432.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0433.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0434.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0435.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0436.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0437.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0438.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0439.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0440.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0441.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0442.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0443.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0444.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0445.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0446.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0447.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0448.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0449.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0450.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0451.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0452.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0453.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0454.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0455.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0456.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0457.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0458.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0459.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0460.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0461.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0462.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0463.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0464.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0465.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0466.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0467.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0468.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0469.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0470.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0471.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0472.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0473.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0474.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0475.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0476.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0477.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0478.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0479.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0480.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0481.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0482.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0483.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0484.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0485.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0486.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0487.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0488.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0489.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0490.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0491.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0492.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0493.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0494.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0495.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0496.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0497.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0498.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0499.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0500.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0501.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0502.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0503.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0504.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0505.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0506.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0507.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0508.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0509.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0510.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0511.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0512.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0513.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0514.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0515.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0516.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0517.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0518.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0519.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0520.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0521.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0522.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0523.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0524.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0525.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0526.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0527.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0528.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0529.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0530.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0531.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0532.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0533.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0534.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0535.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0536.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0537.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0538.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0539.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0540.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0541.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0542.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0543.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0544.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0545.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0546.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0547.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0548.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0549.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0550.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0551.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0552.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0553.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0554.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0555.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0556.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0557.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0558.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0559.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0560.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0561.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0562.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0563.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0564.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0565.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0566.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0567.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0568.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0569.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0570.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0571.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0572.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0573.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0574.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0575.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0576.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0577.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0578.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0579.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0580.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0581.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0582.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0583.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0584.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0585.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0586.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0587.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0588.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0589.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0590.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0591.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0592.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0593.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0594.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0595.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0596.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0597.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0598.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0599.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0600.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0601.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0602.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0603.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0604.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0605.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0606.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0607.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0608.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0609.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0610.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0611.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0612.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0613.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0614.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0615.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0616.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0617.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0618.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0619.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0620.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0621.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0622.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0623.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0624.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0625.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0626.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0627.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0628.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0629.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0630.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0631.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0632.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0633.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0634.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0635.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0636.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0637.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0638.html (contents, props changed)
   trunk/libs/gil/doc/html/g_i_l_0639.html (contents, props changed)
   trunk/libs/gil/doc/html/gil__all_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/globals.html (contents, props changed)
   trunk/libs/gil/doc/html/globals_func.html (contents, props changed)
   trunk/libs/gil/doc/html/gray_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/group___channel.html (contents, props changed)
   trunk/libs/gil/doc/html/group___i_o.html (contents, props changed)
   trunk/libs/gil/doc/html/group___image.html (contents, props changed)
   trunk/libs/gil/doc/html/group___pixel.html (contents, props changed)
   trunk/libs/gil/doc/html/group___point.html (contents, props changed)
   trunk/libs/gil/doc/html/group___variant.html (contents, props changed)
   trunk/libs/gil/doc/html/group__bits16.html (contents, props changed)
   trunk/libs/gil/doc/html/group__bits16s.html (contents, props changed)
   trunk/libs/gil/doc/html/group__bits32.html (contents, props changed)
   trunk/libs/gil/doc/html/group__bits32f.html (contents, props changed)
   trunk/libs/gil/doc/html/group__bits32s.html (contents, props changed)
   trunk/libs/gil/doc/html/group__bits8.html (contents, props changed)
   trunk/libs/gil/doc/html/group__bits8s.html (contents, props changed)
   trunk/libs/gil/doc/html/hierarchy.html (contents, props changed)
   trunk/libs/gil/doc/html/image_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/index.html (contents, props changed)
   trunk/libs/gil/doc/html/io__error_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/jpeg__io_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/locator_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/modules.html (contents, props changed)
   trunk/libs/gil/doc/html/namespaceboost.html (contents, props changed)
   trunk/libs/gil/doc/html/namespaces.html (contents, props changed)
   trunk/libs/gil/doc/html/pages.html (contents, props changed)
   trunk/libs/gil/doc/html/pixel_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/png__io_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/reduce_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/rgb_8hpp-source.html (contents, props changed)
   trunk/libs/gil/doc/html/rgb_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/rgba_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/tiff__io_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/tutorial_8dox.html (contents, props changed)
   trunk/libs/gil/doc/html/typedefs_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/utilities_8hpp.html (contents, props changed)
   trunk/libs/gil/doc/html/variant_8hpp.html (contents, props changed)

Added: trunk/libs/gil/doc/html/algorithm_8hpp.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/algorithm_8hpp.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,294 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <TITLE>Generic Image Library : 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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<h1>algorithm.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
+Some basic STL-style algorithms when applied to image views.
+<p>
+<dl 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 6, 2007</dd></dl>
+
+<p>
+<code>#include &lt;cassert&gt;</code><br>
+<code>#include &lt;cstddef&gt;</code><br>
+<code>#include &lt;algorithm&gt;</code><br>
+<code>#include &lt;iterator&gt;</code><br>
+<code>#include &lt;memory&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_0086.html">gil_concept.hpp</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="g_i_l_0068.html">color_base_algorithm.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_0221.html">image_view_factory.hpp</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="g_i_l_0010.html">bit_aligned_pixel_iterator.hpp</a>&quot;</code><br>
+
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
+
+<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 class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>std</b></td></tr>
+
+<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_0382.html">binary_operation_obj</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A generic binary operation on views<p>
+Use this class as a convenience superclass when defining an operation for any image views. Many operations have different behavior when the two views are compatible. This class checks for compatibility and invokes apply_compatible(V1,V2) or apply_incompatible(V1,V2) of the subclass. You must provide apply_compatible(V1,V2) method in your subclass, but apply_incompatible(V1,V2) is not required and the default throws std::bad_cast. 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_0473.html">copier_n</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_0477.html">copier_n&lt; iterator_from_2d&lt; IL &gt;, O &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Source range is delimited by image iterators. 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_0475.html">copier_n&lt; I, iterator_from_2d&lt; OL &gt; &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destination range is delimited by image iterators. 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_0479.html">copier_n&lt; iterator_from_2d&lt; IL &gt;, iterator_from_2d&lt; OL &gt; &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Both source and destination ranges are delimited by image iterators. 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_0515.html">std_fill_t</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">struct to do <a class="el" href="g_i_l_0209.html#ga4">std::fill</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_0489.html">equal_n_fn&lt; const pixel&lt; T, Cs &gt; *, const pixel&lt; T, Cs &gt; * &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_0491.html">equal_n_fn&lt; planar_pixel_iterator&lt; IC, Cs &gt;, planar_pixel_iterator&lt; IC, Cs &gt; &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_0487.html">equal_n_fn&lt; boost::gil::iterator_from_2d&lt; Loc &gt;, I2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Source range is delimited by image iterators. 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_0483.html">equal_n_fn&lt; I1, boost::gil::iterator_from_2d&lt; Loc &gt; &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destination range is delimited by image iterators. 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_0485.html">equal_n_fn&lt; boost::gil::iterator_from_2d&lt; Loc1 &gt;, boost::gil::iterator_from_2d&lt; Loc2 &gt; &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Both source and destination ranges are delimited by image iterators. 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="algorithm.hpp::copy" ref="ga0" args="(boost::gil::pixel&lt; T, Cs &gt; *first, boost::gil::pixel&lt; T, Cs &gt; *last, boost::gil::pixel&lt; T, Cs &gt; *dst)" -->
+template&lt;typename T, typename Cs&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE <a class="el" href="g_i_l_0593.html">boost::gil::pixel</a>&lt;<br>
+ T, Cs &gt; *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0209.html#ga0">std::copy</a> (<a class="el" href="g_i_l_0593.html">boost::gil::pixel</a>&lt; T, Cs &gt; *first, <a class="el" href="g_i_l_0593.html">boost::gil::pixel</a>&lt; T, Cs &gt; *last, <a class="el" href="g_i_l_0593.html">boost::gil::pixel</a>&lt; T, Cs &gt; *dst)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy when both src and dst are interleaved and of the same type can be just memmove. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga1"></a><!-- doxytag: member="algorithm.hpp::copy" ref="ga1" args="(const boost::gil::pixel&lt; T, Cs &gt; *first, const boost::gil::pixel&lt; T, Cs &gt; *last, boost::gil::pixel&lt; T, Cs &gt; *dst)" -->
+template&lt;typename T, typename Cs&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE <a class="el" href="g_i_l_0593.html">boost::gil::pixel</a>&lt;<br>
+ T, Cs &gt; *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0209.html#ga1">std::copy</a> (const <a class="el" href="g_i_l_0593.html">boost::gil::pixel</a>&lt; T, Cs &gt; *first, const <a class="el" href="g_i_l_0593.html">boost::gil::pixel</a>&lt; T, Cs &gt; *last, <a class="el" href="g_i_l_0593.html">boost::gil::pixel</a>&lt; T, Cs &gt; *dst)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy when both src and dst are interleaved and of the same type can be just memmove. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga2"></a><!-- doxytag: member="algorithm.hpp::copy" ref="ga2" args="(boost::gil::planar_pixel_iterator&lt; IC1, Cs &gt; first, boost::gil::planar_pixel_iterator&lt; IC1, Cs &gt; last, boost::gil::planar_pixel_iterator&lt; IC2, Cs &gt; dst)" -->
+template&lt;typename Cs, typename IC1, typename IC2&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE <a class="el" href="g_i_l_0603.html">boost::gil::planar_pixel_iterator</a>&lt;<br>
+ IC2, Cs &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0209.html#ga2">std::copy</a> (<a class="el" href="g_i_l_0603.html">boost::gil::planar_pixel_iterator</a>&lt; IC1, Cs &gt; first, <a class="el" href="g_i_l_0603.html">boost::gil::planar_pixel_iterator</a>&lt; IC1, Cs &gt; last, <a class="el" href="g_i_l_0603.html">boost::gil::planar_pixel_iterator</a>&lt; IC2, Cs &gt; dst)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy when both src and dst are planar pointers is copy for each channel. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a1"></a><!-- doxytag: member="algorithm.hpp::copy_with_2d_iterators" ref="a1" args="(SrcIterator first, SrcIterator last, DstIterator dst)" -->
+template&lt;typename SrcIterator, typename DstIterator&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE DstIterator&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::detail::copy_with_2d_iterators</b> (SrcIterator first, SrcIterator last, DstIterator dst)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga3"></a><!-- doxytag: member="algorithm.hpp::copy1" ref="ga3" args="(boost::gil::iterator_from_2d&lt; IL &gt; first, boost::gil::iterator_from_2d&lt; IL &gt; last, boost::gil::iterator_from_2d&lt; OL &gt; dst)" -->
+template&lt;typename IL, typename OL&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE <a class="el" href="g_i_l_0042.html">boost::gil::iterator_from_2d</a>&lt;<br>
+ OL &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0209.html#ga3">std::copy1</a> (<a class="el" href="g_i_l_0042.html">boost::gil::iterator_from_2d</a>&lt; IL &gt; first, <a class="el" href="g_i_l_0042.html">boost::gil::iterator_from_2d</a>&lt; IL &gt; last, <a class="el" href="g_i_l_0042.html">boost::gil::iterator_from_2d</a>&lt; OL &gt; dst)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::copy(I1,I1,I2) with I1 and I2 being a iterator_from_2d <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::copy_pixels" ref="ga0" args="(const View1 &amp;src, const View2 &amp;dst)" -->
+template&lt;typename View1, typename View2&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0140.html#ga0">boost::gil::copy_pixels</a> (const View1 &amp;src, const View2 &amp;dst)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="g_i_l_0209.html#ga2">std::copy</a> for image views <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::copy_and_convert_pixels" ref="ga0" args="(const V1 &amp;src, const V2 &amp;dst, CC cc)" -->
+template&lt;typename V1, typename V2, typename CC&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::copy_and_convert_pixels</b> (const V1 &amp;src, const V2 &amp;dst, CC cc)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga1"></a><!-- doxytag: member="algorithm.hpp::copy_and_convert_pixels" ref="ga1" args="(const View1 &amp;src, const View2 &amp;dst)" -->
+template&lt;typename View1, typename View2&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::copy_and_convert_pixels</b> (const View1 &amp;src, const View2 &amp;dst)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename IL, typename V&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0209.html#ga4">std::fill</a> (<a class="el" href="g_i_l_0042.html">boost::gil::iterator_from_2d</a>&lt; IL &gt; first, <a class="el" href="g_i_l_0042.html">boost::gil::iterator_from_2d</a>&lt; IL &gt; last, const V &amp;val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::fill(I,I,V) with I being a iterator_from_2d <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a2"></a><!-- doxytag: member="algorithm.hpp::fill_aux" ref="a2" args="(It first, It last, const P &amp;p, mpl::true_)" -->
+template&lt;typename It, typename P&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a2">boost::gil::detail::fill_aux</a> (It first, It last, const P &amp;p, mpl::true_)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="g_i_l_0209.html#ga4">std::fill</a> for planar iterators <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a3"></a><!-- doxytag: member="algorithm.hpp::fill_aux" ref="a3" args="(It first, It last, const P &amp;p, mpl::false_)" -->
+template&lt;typename It, typename P&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a3">boost::gil::detail::fill_aux</a> (It first, It last, const P &amp;p, mpl::false_)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="g_i_l_0209.html#ga4">std::fill</a> for interleaved iterators <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::fill_pixels" ref="ga0" args="(const View &amp;img_view, const Value &amp;val)" -->
+template&lt;typename View, typename Value&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0144.html#ga0">boost::gil::fill_pixels</a> (const View &amp;img_view, const Value &amp;val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="g_i_l_0209.html#ga4">std::fill</a> for image views <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a4"></a><!-- doxytag: member="algorithm.hpp::destruct_range_impl" ref="a4" args="(It first, It last, mpl::true_)" -->
+template&lt;typename It&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::detail::destruct_range_impl</b> (It first, It last, mpl::true_)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a5"></a><!-- doxytag: member="algorithm.hpp::destruct_range_impl" ref="a5" args="(It first, It last, mpl::false_)" -->
+template&lt;typename It&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::detail::destruct_range_impl</b> (It first, It last, mpl::false_)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a6"></a><!-- doxytag: member="algorithm.hpp::destruct_range" ref="a6" args="(It first, It last)" -->
+template&lt;typename It&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::detail::destruct_range</b> (It first, It last)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a7"></a><!-- doxytag: member="algorithm.hpp::destruct_aux" ref="a7" args="(It first, It last, mpl::true_)" -->
+template&lt;typename It&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a7">boost::gil::detail::destruct_aux</a> (It first, It last, mpl::true_)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">destruct for planar iterators <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a8"></a><!-- doxytag: member="algorithm.hpp::destruct_aux" ref="a8" args="(It first, It last, mpl::false_)" -->
+template&lt;typename It&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a8">boost::gil::detail::destruct_aux</a> (It first, It last, mpl::false_)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">destruct for interleaved iterators <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::destruct_pixels" ref="ga0" args="(const View &amp;img_view)" -->
+template&lt;typename View&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0142.html#ga0">boost::gil::destruct_pixels</a> (const View &amp;img_view)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invokes the in-place destructor on every pixel of the view. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename It, typename P&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a9">boost::gil::detail::uninitialized_fill_aux</a> (It first, It last, const P &amp;p, mpl::true_)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename It, typename P&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a10">boost::gil::detail::uninitialized_fill_aux</a> (It first, It last, const P &amp;p, mpl::false_)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::uninitialized_fill_pixels" ref="ga0" args="(const View &amp;img_view, const Value &amp;val)" -->
+template&lt;typename View, typename Value&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0151.html#ga0">boost::gil::uninitialized_fill_pixels</a> (const View &amp;img_view, const Value &amp;val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::uninitialized_fill for image views. Does not support planar heterogeneous views. If an exception is thrown destructs any in-place copy-constructed pixels <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a11"></a><!-- doxytag: member="algorithm.hpp::default_construct_range_impl" ref="a11" args="(It first, It last, mpl::true_)" -->
+template&lt;typename It&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::detail::default_construct_range_impl</b> (It first, It last, mpl::true_)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a12"></a><!-- doxytag: member="algorithm.hpp::default_construct_range_impl" ref="a12" args="(It first, It last, mpl::false_)" -->
+template&lt;typename It&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::detail::default_construct_range_impl</b> (It first, It last, mpl::false_)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a13"></a><!-- doxytag: member="algorithm.hpp::default_construct_range" ref="a13" args="(It first, It last)" -->
+template&lt;typename It&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::detail::default_construct_range</b> (It first, It last)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a14"></a><!-- doxytag: member="algorithm.hpp::default_construct_aux" ref="a14" args="(It first, It last, mpl::true_)" -->
+template&lt;typename It&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a14">boost::gil::detail::default_construct_aux</a> (It first, It last, mpl::true_)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">uninitialized_default_construct for planar iterators <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a15"></a><!-- doxytag: member="algorithm.hpp::default_construct_aux" ref="a15" args="(It first, It last, mpl::false_)" -->
+template&lt;typename It&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a15">boost::gil::detail::default_construct_aux</a> (It first, It last, mpl::false_)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">uninitialized_default_construct for interleaved iterators <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::default_construct_pixels" ref="ga0" args="(const View &amp;img_view)" -->
+template&lt;typename View&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0141.html#ga0">boost::gil::default_construct_pixels</a> (const View &amp;img_view)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invokes the in-place default constructor on every pixel of the (uninitialized) view. Does not support planar heterogeneous views. If an exception is thrown destructs any in-place default-constructed pixels. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a16"></a><!-- doxytag: member="algorithm.hpp::uninitialized_copy_aux" ref="a16" args="(It1 first1, It1 last1, It2 first2, mpl::true_)" -->
+template&lt;typename It1, typename It2&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a16">boost::gil::detail::uninitialized_copy_aux</a> (It1 first1, It1 last1, It2 first2, mpl::true_)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::uninitialized_copy for pairs of planar iterators <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a17"></a><!-- doxytag: member="algorithm.hpp::uninitialized_copy_aux" ref="a17" args="(It1 first1, It1 last1, It2 first2, mpl::false_)" -->
+template&lt;typename It1, typename It2&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1gil_1_1detail.html#a17">boost::gil::detail::uninitialized_copy_aux</a> (It1 first1, It1 last1, It2 first2, mpl::false_)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::uninitialized_copy for interleaved or mixed iterators <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::uninitialized_copy_pixels" ref="ga0" args="(const View1 &amp;view1, const View2 &amp;view2)" -->
+template&lt;typename View1, typename View2&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0150.html#ga0">boost::gil::uninitialized_copy_pixels</a> (const View1 &amp;view1, const View2 &amp;view2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::uninitialized_copy for image views. Does not support planar heterogeneous views. If an exception is thrown destructs any in-place copy-constructed objects <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::for_each_pixel" ref="ga0" args="(const V &amp;img, F fun)" -->
+template&lt;typename V, typename F&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::for_each_pixel</b> (const V &amp;img, F fun)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::for_each_pixel_position" ref="ga0" args="(const View &amp;img, F fun)" -->
+template&lt;typename View, typename F&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::for_each_pixel_position</b> (const View &amp;img, F fun)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::generate_pixels" ref="ga0" args="(const View &amp;v, F fun)" -->
+template&lt;typename View, typename F&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0147.html#ga0">boost::gil::generate_pixels</a> (const View &amp;v, F fun)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::generate for image views <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a30"></a><!-- doxytag: member="algorithm.hpp::equal_n" ref="a30" args="(I1 i1, std::ptrdiff_t n, I2 i2)" -->
+template&lt;typename I1, typename I2&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>boost::gil::equal_n</b> (I1 i1, std::ptrdiff_t n, I2 i2)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Loc1, typename Loc2&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0209.html#ga5">std::equal</a> (<a class="el" href="g_i_l_0042.html">boost::gil::iterator_from_2d</a>&lt; Loc1 &gt; first, <a class="el" href="g_i_l_0042.html">boost::gil::iterator_from_2d</a>&lt; Loc1 &gt; last, <a class="el" href="g_i_l_0042.html">boost::gil::iterator_from_2d</a>&lt; Loc2 &gt; first2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::equal(I1,I1,I2) with I1 and I2 being a iterator_from_2d <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::equal_pixels" ref="ga0" args="(const View1 &amp;v1, const View2 &amp;v2)" -->
+template&lt;typename View1, typename View2&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0143.html#ga0">boost::gil::equal_pixels</a> (const View1 &amp;v1, const View2 &amp;v2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="g_i_l_0209.html#ga5">std::equal</a> for image views <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::transform_pixels" ref="ga0" args="(const View1 &amp;src, const View2 &amp;dst, F fun)" -->
+template&lt;typename View1, typename View2, typename F&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0149.html#ga0">boost::gil::transform_pixels</a> (const View1 &amp;src, const View2 &amp;dst, F fun)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">std::transform for image views <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga1"></a><!-- doxytag: member="algorithm.hpp::transform_pixels" ref="ga1" args="(const View1 &amp;src1, const View2 &amp;src2, const View3 &amp;dst, F fun)" -->
+template&lt;typename View1, typename View2, typename View3, typename F&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0149.html#ga1">boost::gil::transform_pixels</a> (const View1 &amp;src1, const View2 &amp;src2, const View3 &amp;dst, F fun)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">transform_pixels with two sources <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="algorithm.hpp::transform_pixel_positions" ref="ga0" args="(const View1 &amp;src, const View2 &amp;dst, F fun)" -->
+template&lt;typename View1, typename View2, typename F&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0148.html#ga0">boost::gil::transform_pixel_positions</a> (const View1 &amp;src, const View2 &amp;dst, F fun)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Like transform_pixels but passes to the function object pixel locators instead of pixel references. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga1"></a><!-- doxytag: member="algorithm.hpp::transform_pixel_positions" ref="ga1" args="(const View1 &amp;src1, const View2 &amp;src2, const View3 &amp;dst, F fun)" -->
+template&lt;typename View1, typename View2, typename View3, typename F&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0148.html#ga1">boost::gil::transform_pixel_positions</a> (const View1 &amp;src1, const View2 &amp;src2, const View3 &amp;dst, F fun)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">transform_pixel_positions with two sources <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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/annotated.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/annotated.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,294 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <TITLE>Generic Image Library : Class 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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>Generic Image Library Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0380.html">alpha_t</a></td><td class="indexvalue">Alpha </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0018.html">any_image</a></td><td class="indexvalue">Represents a run-time specified image. Note it does NOT model <a class="el" href="g_i_l_0301.html">ImageConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0020.html">any_image_view</a></td><td class="indexvalue">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> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0257.html">Assignable</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0382.html">binary_operation_obj</a></td><td class="indexvalue">A generic binary operation on views<p>
+Use this class as a convenience superclass when defining an operation for any image views. Many operations have different behavior when the two views are compatible. This class checks for compatibility and invokes apply_compatible(V1,V2) or apply_incompatible(V1,V2) of the subclass. You must provide apply_compatible(V1,V2) method in your subclass, but apply_incompatible(V1,V2) is not required and the default throws std::bad_cast </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0384.html">bit_aligned_image1_type</a></td><td class="indexvalue">Returns the type of a single-channel bit-aligned image given the bit size of its channel and its layout </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0386.html">bit_aligned_image2_type</a></td><td class="indexvalue">Returns the type of a two channel bit-aligned image given the bit size of its channels and its layout </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0388.html">bit_aligned_image3_type</a></td><td class="indexvalue">Returns the type of a three channel bit-aligned image given the bit size of its channels and its layout </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0390.html">bit_aligned_image4_type</a></td><td class="indexvalue">Returns the type of a four channel bit-aligned image given the bit size of its channels and its layout </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0392.html">bit_aligned_image5_type</a></td><td class="indexvalue">Returns the type of a five channel bit-aligned image given the bit size of its channels and its layout </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0394.html">bit_aligned_image_type</a></td><td class="indexvalue">Returns the type of a packed image whose pixels may not be byte aligned. For example, an "rgb222" image is bit-aligned because its pixel spans six bits </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0396.html">bit_aligned_pixel_iterator</a></td><td class="indexvalue">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> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0398.html">bit_aligned_pixel_reference</a></td><td class="indexvalue">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> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0399.html">black_t</a></td><td class="indexvalue">Black </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0400.html">blue_t</a></td><td class="indexvalue">Blue </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0401.html">byte_to_memunit</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0403.html">channel_converter</a></td><td class="indexvalue">A unary function object converting between channel types </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0407.html">channel_converter_unsigned&lt; bits32, bits32f &gt;</a></td><td class="indexvalue">32 bit &lt;-&gt; float channel conversion </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0411.html">channel_converter_unsigned&lt; bits32f, bits32 &gt;</a></td><td class="indexvalue">32 bit &lt;-&gt; float channel conversion </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0409.html">channel_converter_unsigned&lt; bits32f, DstChannelV &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0405.html">channel_converter_unsigned&lt; T, T &gt;</a></td><td class="indexvalue">Converting a channel to itself - identity operation </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0471.html">channel_converter_unsigned_impl</a></td><td class="indexvalue">This is the default implementation. Performance specializatons are provided </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0413.html">channel_mapping_type&lt; planar_pixel_reference&lt; ChannelReference, ColorSpace &gt; &gt;</a></td><td class="indexvalue">Specifies the color space type of a planar pixel reference. Required by <a class="el" href="g_i_l_0339.html">PixelBasedConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0415.html">channel_multiplier</a></td><td class="indexvalue">A function object to multiply two channels. result = a * b / max_value </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0417.html">channel_multiplier_unsigned</a></td><td class="indexvalue">This is the default implementation. Performance specializatons are provided </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0419.html">channel_multiplier_unsigned&lt; bits16 &gt;</a></td><td class="indexvalue">Specialization of channel_multiply for 16-bit unsigned channels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0421.html">channel_multiplier_unsigned&lt; bits32f &gt;</a></td><td class="indexvalue">Specialization of channel_multiply for float 0..1 channels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0423.html">channel_multiplier_unsigned&lt; bits8 &gt;</a></td><td class="indexvalue">Specialization of channel_multiply for 8-bit unsigned channels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0424.html">channel_traits</a></td><td class="indexvalue">Traits for channels. Contains the following members: </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0426.html">channel_type&lt; planar_pixel_reference&lt; ChannelReference, ColorSpace &gt; &gt;</a></td><td class="indexvalue">Specifies the color space type of a planar pixel reference. Required by <a class="el" href="g_i_l_0295.html">HomogeneousPixelBasedConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0259.html">ChannelConcept</a></td><td class="indexvalue">A channel is the building block of a color. Color is defined as a mixture of primary colors and a channel defines the degree to which each primary color is used in the mixture </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0261.html">ChannelConvertibleConcept</a></td><td class="indexvalue">A channel is convertible to another one if the <code>channel_convert</code> algorithm is defined for the two channels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0263.html">ChannelMappingConcept</a></td><td class="indexvalue">Channel mapping concept </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0427.html">channels_are_compatible</a></td><td class="indexvalue">Predicate metafunction returning whether two channels are compatible<p>
+Channels are considered compatible if their value types (ignoring constness and references) are the same </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0267.html">ChannelsCompatibleConcept</a></td><td class="indexvalue">Channels are compatible if their associated value types (ignoring constness and references) are the same </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0265.html">ChannelValueConcept</a></td><td class="indexvalue">A channel that supports default construction </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0022.html">color_convert_deref_fn</a></td><td class="indexvalue">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> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0428.html">color_converted_view_type</a></td><td class="indexvalue">Returns the type of a view that does color conversion upon dereferencing its pixels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0432.html">color_converted_view_type&lt; any_image_view&lt; ViewTypes &gt;, DstP &gt;</a></td><td class="indexvalue">Returns the type of a runtime-specified view, color-converted to a given pixel type with the default coor converter </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0430.html">color_converted_view_type&lt; any_image_view&lt; ViewTypes &gt;, DstP, CC &gt;</a></td><td class="indexvalue">Returns the type of a runtime-specified view, color-converted to a given pixel type with user specified color converter </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0434.html">color_element_const_reference_type</a></td><td class="indexvalue">Specifies the return type of the constant element accessor by color name, get_color(color_base, Color()); </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0436.html">color_element_reference_type</a></td><td class="indexvalue">Specifies the return type of the mutable element accessor by color name, get_color(color_base, Color()); </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0438.html">color_element_type</a></td><td class="indexvalue">Specifies the type of the element associated with a given color tag </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0440.html">color_space_type&lt; planar_pixel_reference&lt; ChannelReference, ColorSpace &gt; &gt;</a></td><td class="indexvalue">Specifies the color space type of a planar pixel reference. Required by <a class="el" href="g_i_l_0339.html">PixelBasedConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0269.html">ColorBaseConcept</a></td><td class="indexvalue">A color base is a container of color elements (such as channels, channel references or channel pointers) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0273.html">ColorBasesCompatibleConcept</a></td><td class="indexvalue">Two color bases are compatible if they have the same color space and their elements are compatible, semantic-pairwise </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0271.html">ColorBaseValueConcept</a></td><td class="indexvalue">Color base that also has a default-constructor. Refines <a class="el" href="g_i_l_0371.html">Regular</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0275.html">ColorSpaceConcept</a></td><td class="indexvalue">Color space type concept </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0277.html">ColorSpacesCompatibleConcept</a></td><td class="indexvalue">Two color spaces are compatible if they are the same </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0441.html">contains_color</a></td><td class="indexvalue">A predicate metafunction determining whether a given color base contains a given color </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0473.html">copier_n</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0475.html">copier_n&lt; I, iterator_from_2d&lt; OL &gt; &gt;</a></td><td class="indexvalue">Destination range is delimited by image iterators </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0479.html">copier_n&lt; iterator_from_2d&lt; IL &gt;, iterator_from_2d&lt; OL &gt; &gt;</a></td><td class="indexvalue">Both source and destination ranges are delimited by image iterators </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0477.html">copier_n&lt; iterator_from_2d&lt; IL &gt;, O &gt;</a></td><td class="indexvalue">Source range is delimited by image iterators </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0279.html">CopyConstructible</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0442.html">cyan_t</a></td><td class="indexvalue">Cyan </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0481.html">dec</a></td><td class="indexvalue">Operator-- wrapped in a function object </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0444.html">default_channel_converter</a></td><td class="indexvalue">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 </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0446.html">default_color_converter</a></td><td class="indexvalue">Class for color-converting one pixel to another </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0447.html">default_color_converter_impl</a></td><td class="indexvalue">Color Convertion function object. To be specialized for every src/dst color space </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0451.html">default_color_converter_impl&lt; C, C &gt;</a></td><td class="indexvalue">When the color space is the same, color convertion performs channel depth conversion </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0449.html">default_color_converter_impl&lt; C1, rgba_t &gt;</a></td><td class="indexvalue">Converting any pixel type to RGBA. Note: Supports homogeneous pixels only </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0453.html">default_color_converter_impl&lt; cmyk_t, gray_t &gt;</a></td><td class="indexvalue">CMYK to Gray </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0455.html">default_color_converter_impl&lt; cmyk_t, rgb_t &gt;</a></td><td class="indexvalue">CMYK to RGB (not the fastest code in the world) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0457.html">default_color_converter_impl&lt; gray_t, cmyk_t &gt;</a></td><td class="indexvalue">Gray to CMYK </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0459.html">default_color_converter_impl&lt; gray_t, rgb_t &gt;</a></td><td class="indexvalue">Gray to RGB </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0461.html">default_color_converter_impl&lt; rgb_t, cmyk_t &gt;</a></td><td class="indexvalue">RGB to CMYK (not the fastest code in the world) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0463.html">default_color_converter_impl&lt; rgb_t, gray_t &gt;</a></td><td class="indexvalue">RGB to Gray </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0465.html">default_color_converter_impl&lt; rgba_t, C2 &gt;</a></td><td class="indexvalue">Converting RGBA to any pixel type. Note: Supports homogeneous pixels only </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0467.html">default_color_converter_impl&lt; rgba_t, rgba_t &gt;</a></td><td class="indexvalue">Unfortunately RGBA to RGBA must be explicitly provided - otherwise we get ambiguous specialization error </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0281.html">DefaultConstructible</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0469.html">deref_base</a></td><td class="indexvalue">Helper base class for pixel dereference adaptors </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0024.html">deref_compose</a></td><td class="indexvalue">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> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a></td><td class="indexvalue">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> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0028.html">derived_image_type</a></td><td class="indexvalue">Constructs a homogeneous image type from a source image type by changing some of the properties.<p>
+Use use_default for the properties of the source image that you want to keep </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0030.html">derived_iterator_type</a></td><td class="indexvalue">Constructs a pixel iterator type from a source pixel iterator type by changing some of the properties.<p>
+Use use_default for the properties of the source view that you want to keep </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0032.html">derived_pixel_reference_type</a></td><td class="indexvalue">Constructs a pixel reference type from a source pixel reference type by changing some of the properties.<p>
+Use use_default for the properties of the source view that you want to keep </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0034.html">derived_view_type</a></td><td class="indexvalue">Constructs an image view type from a source view type by changing some of the properties.<p>
+Use use_default for the properties of the source view that you want to keep </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0517.html">devicen_color_t</a></td><td class="indexvalue">Unnamed color </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0519.html">devicen_layout_t</a></td><td class="indexvalue">Unnamed color layout of up to five channels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0520.html">devicen_t&lt; 1 &gt;</a></td><td class="indexvalue">Unnamed color space of one channel </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0521.html">devicen_t&lt; 2 &gt;</a></td><td class="indexvalue">Unnamed color space of two channels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0522.html">devicen_t&lt; 3 &gt;</a></td><td class="indexvalue">Unnamed color space of three channels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0523.html">devicen_t&lt; 4 &gt;</a></td><td class="indexvalue">Unnamed color space of four channels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0524.html">devicen_t&lt; 5 &gt;</a></td><td class="indexvalue">Unnamed color space of five channels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0525.html">dynamic_xy_step_transposed_type</a></td><td class="indexvalue">Returns the type of a transposed view that has a dynamic step along both X and Y </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0526.html">dynamic_xy_step_type</a></td><td class="indexvalue">Returns the type of a view that has a dynamic step along both X and Y </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0527.html">element_const_reference_type</a></td><td class="indexvalue">Specifies the return type of the constant element accessor at_c of a homogeneous color base </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0528.html">element_reference_type</a></td><td class="indexvalue">Specifies the return type of the mutable element accessor at_c of a homogeneous color base </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0529.html">element_type</a></td><td class="indexvalue">Specifies the element type of a homogeneous color base </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0487.html">equal_n_fn&lt; boost::gil::iterator_from_2d&lt; Loc &gt;, I2 &gt;</a></td><td class="indexvalue">Source range is delimited by image iterators </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0485.html">equal_n_fn&lt; boost::gil::iterator_from_2d&lt; Loc1 &gt;, boost::gil::iterator_from_2d&lt; Loc2 &gt; &gt;</a></td><td class="indexvalue">Both source and destination ranges are delimited by image iterators </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0489.html">equal_n_fn&lt; const pixel&lt; T, Cs &gt; *, const pixel&lt; T, Cs &gt; * &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0483.html">equal_n_fn&lt; I1, boost::gil::iterator_from_2d&lt; Loc &gt; &gt;</a></td><td class="indexvalue">Destination range is delimited by image iterators </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0491.html">equal_n_fn&lt; planar_pixel_iterator&lt; IC, Cs &gt;, planar_pixel_iterator&lt; IC, Cs &gt; &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0283.html">EqualityComparable</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0530.html">gray_color_t</a></td><td class="indexvalue">Gray </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0531.html">green_t</a></td><td class="indexvalue">Green </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0285.html">HasDynamicXStepTypeConcept</a></td><td class="indexvalue">Concept for iterators, locators and views that can define a type just like the given iterator/locator/view, except it supports runtime specified step along the X navigation </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0287.html">HasDynamicYStepTypeConcept</a></td><td class="indexvalue">Concept for locators and views that can define a type just like the given locator or view, except it supports runtime specified step along the Y navigation </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0289.html">HasTransposedTypeConcept</a></td><td class="indexvalue">Concept for locators and views that can define a type just like the given locator or view, except X and Y is swapped </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0493.html">homogeneous_color_base&lt; Element, Layout, 1 &gt;</a></td><td class="indexvalue">A homogeneous color base holding one color element. Models <a class="el" href="g_i_l_0291.html">HomogeneousColorBaseConcept</a> or <a class="el" href="g_i_l_0293.html">HomogeneousColorBaseValueConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0495.html">homogeneous_color_base&lt; Element, Layout, 2 &gt;</a></td><td class="indexvalue">A homogeneous color base holding two color elements. Models <a class="el" href="g_i_l_0291.html">HomogeneousColorBaseConcept</a> or <a class="el" href="g_i_l_0293.html">HomogeneousColorBaseValueConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0497.html">homogeneous_color_base&lt; Element, Layout, 3 &gt;</a></td><td class="indexvalue">A homogeneous color base holding three color elements. Models <a class="el" href="g_i_l_0291.html">HomogeneousColorBaseConcept</a> or <a class="el" href="g_i_l_0293.html">HomogeneousColorBaseValueConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0499.html">homogeneous_color_base&lt; Element, Layout, 4 &gt;</a></td><td class="indexvalue">A homogeneous color base holding four color elements. Models <a class="el" href="g_i_l_0291.html">HomogeneousColorBaseConcept</a> or <a class="el" href="g_i_l_0293.html">HomogeneousColorBaseValueConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0501.html">homogeneous_color_base&lt; Element, Layout, 5 &gt;</a></td><td class="indexvalue">A homogeneous color base holding five color elements. Models <a class="el" href="g_i_l_0291.html">HomogeneousColorBaseConcept</a> or <a class="el" href="g_i_l_0293.html">HomogeneousColorBaseValueConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0291.html">HomogeneousColorBaseConcept</a></td><td class="indexvalue">Color base whose elements all have the same type </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0293.html">HomogeneousColorBaseValueConcept</a></td><td class="indexvalue">Homogeneous color base that also has a default constructor. Refines <a class="el" href="g_i_l_0371.html">Regular</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0295.html">HomogeneousPixelBasedConcept</a></td><td class="indexvalue">Concept for homogeneous pixel-based GIL constructs </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0297.html">HomogeneousPixelConcept</a></td><td class="indexvalue">Homogeneous pixel concept </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0299.html">HomogeneousPixelValueConcept</a></td><td class="indexvalue">Homogeneous pixel concept that is a <a class="el" href="g_i_l_0371.html">Regular</a> type </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0503.html">identity</a></td><td class="indexvalue">Identity taken from SGI STL </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0038.html">image</a></td><td class="indexvalue">Container interface over image view. Models <a class="el" href="g_i_l_0301.html">ImageConcept</a>, <a class="el" href="g_i_l_0339.html">PixelBasedConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0532.html">image_is_basic</a></td><td class="indexvalue">Basic images must use basic views and std::allocator of char </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0534.html">image_type</a></td><td class="indexvalue">Returns the type of a homogeneous image given the channel type, layout, and whether it operates on planar data </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0040.html">image_view</a></td><td class="indexvalue">A lightweight object that interprets memory as a 2D array of pixels. Models <a class="el" href="g_i_l_0303.html">ImageViewConcept</a>,<a class="el" href="g_i_l_0339.html">PixelBasedConcept</a>,<a class="el" href="g_i_l_0285.html">HasDynamicXStepTypeConcept</a>,<a class="el" href="g_i_l_0287.html">HasDynamicYStepTypeConcept</a>,<a class="el" href="g_i_l_0289.html">HasTransposedTypeConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0301.html">ImageConcept</a></td><td class="indexvalue">2-dimensional image whose value type models <a class="el" href="g_i_l_0351.html">PixelValueConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0303.html">ImageViewConcept</a></td><td class="indexvalue">GIL's 2-dimensional view over immutable GIL pixels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0505.html">inc</a></td><td class="indexvalue">Operator++ wrapped in a function object </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0535.html">is_iterator_adaptor</a></td><td class="indexvalue"><a class="el" href="g_i_l_0309.html">Metafunction</a> predicate determining whether the given iterator is a plain one or an adaptor over another iterator. Examples of adaptors are the step iterator and the dereference iterator adaptor </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0536.html">is_pixel&lt; bit_aligned_pixel_reference&lt; C, L, M &gt; &gt;</a></td><td class="indexvalue"><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> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0537.html">is_pixel&lt; planar_pixel_reference&lt; ChannelReference, ColorSpace &gt; &gt;</a></td><td class="indexvalue"><a class="el" href="g_i_l_0309.html">Metafunction</a> predicate that flags <a class="el" href="g_i_l_0605.html">planar_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> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0538.html">is_planar&lt; planar_pixel_reference&lt; ChannelReference, ColorSpace &gt; &gt;</a></td><td class="indexvalue">Specifies that <a class="el" href="g_i_l_0605.html">planar_pixel_reference</a> represents a planar construct. Required by <a class="el" href="g_i_l_0339.html">PixelBasedConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0540.html">iterator_add_deref</a></td><td class="indexvalue">Returns the type (and creates an instance) of an iterator that invokes the given dereference adaptor upon dereferencing </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0542.html">iterator_add_deref&lt; dereference_iterator_adaptor&lt; Iterator, PREV_DEREF &gt;, Deref &gt;</a></td><td class="indexvalue">For dereference iterator adaptors, compose the new function object after the old one </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0042.html">iterator_from_2d</a></td><td class="indexvalue">Provides 1D random-access navigation to the pixels of the image. 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_0285.html">HasDynamicXStepTypeConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0543.html">iterator_is_basic</a></td><td class="indexvalue">Determines if a given pixel iterator is basic Basic iterators must use <a class="el" href="g_i_l_0593.html">gil::pixel</a> (if interleaved), <a class="el" href="g_i_l_0603.html">gil::planar_pixel_iterator</a> (if planar) and <a class="el" href="g_i_l_0046.html">gil::memory_based_step_iterator</a> (if step). They must use the standard constness rules </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0544.html">iterator_is_mutable</a></td><td class="indexvalue"><a class="el" href="g_i_l_0309.html">Metafunction</a> predicate returning whether the given iterator allows for changing its values </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0545.html">iterator_is_step</a></td><td class="indexvalue">Determines if the given iterator has a step that could be set dynamically </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0546.html">iterator_type</a></td><td class="indexvalue">Returns the type of a homogeneous iterator given the channel type, layout, whether it operates on planar data, whether it is a step iterator, and whether it is mutable </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0547.html">iterator_type_from_pixel</a></td><td class="indexvalue">Returns the type of a pixel iterator given the pixel type, whether it operates on planar data, whether it is a step iterator, and whether it is mutable </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0305.html">IteratorAdaptorConcept</a></td><td class="indexvalue">Iterator adaptor is a forward iterator adapting another forward iterator </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0549.html">jpeg_read_support</a></td><td class="indexvalue">Determines whether the given view type is supported for reading </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0551.html">jpeg_write_support</a></td><td class="indexvalue">Determines whether the given view type is supported for writing </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0507.html">kth_channel_deref_fn</a></td><td class="indexvalue">Function object that returns a grayscale reference of the K-th channel (specified as a template parameter) of a given reference. Models: <a class="el" href="g_i_l_0345.html">PixelDereferenceAdaptorConcept</a>.<p>
+If the input is a pixel value or constant reference, the function object is immutable. Otherwise it is mutable (and returns non-const reference to the k-th channel) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0553.html">kth_channel_view_type</a></td><td class="indexvalue">Given a source image view type View, returns the type of an image view over a given channel of View.<p>
+If the channels in the source view are adjacent in memory (such as planar non-step view or single-channel view) then the return view is a single-channel non-step view. If the channels are non-adjacent (interleaved and/or step view) then the return view is a single-channel step view </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0555.html">kth_semantic_element_const_reference_type</a></td><td class="indexvalue">Specifies the return type of the constant semantic_at_c&lt;K&gt;(color_base); </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0557.html">kth_semantic_element_reference_type</a></td><td class="indexvalue">Specifies the return type of the mutable semantic_at_c&lt;K&gt;(color_base); </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0559.html">kth_semantic_element_type</a></td><td class="indexvalue">Specifies the type of the K-th semantic element of a color base </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0561.html">layout</a></td><td class="indexvalue">Represents a color space and ordering of channels in memory </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0562.html">locator_is_basic</a></td><td class="indexvalue">Determines if a given locator is basic. A basic locator is memory-based and has basic x_iterator and y_iterator </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0563.html">locator_is_mutable</a></td><td class="indexvalue">Determines if the given locator is mutable (i.e. its pixels can be changed) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0564.html">locator_is_step_in_x</a></td><td class="indexvalue">Determines if the given locator has a horizontal step that could be set dynamically </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0565.html">locator_is_step_in_y</a></td><td class="indexvalue">Determines if the given locator has a vertical step that could be set dynamically </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0567.html">locator_type</a></td><td class="indexvalue">Returns the type of a homogeneous locator given the channel type, layout, whether it operates on planar data and whether it has a step horizontally </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0568.html">magenta_t</a></td><td class="indexvalue">Magenta </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0044.html">memory_based_2d_locator</a></td><td class="indexvalue">Memory-based pixel locator. Models: <a class="el" href="g_i_l_0349.html">PixelLocatorConcept</a>,<a class="el" href="g_i_l_0285.html">HasDynamicXStepTypeConcept</a>,<a class="el" href="g_i_l_0287.html">HasDynamicYStepTypeConcept</a>,<a class="el" href="g_i_l_0289.html">HasTransposedTypeConcept</a><p>
+The class takes a step iterator as a parameter. The step iterator provides navigation along the vertical axis while its base iterator provides horizontal navigation </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0046.html">memory_based_step_iterator</a></td><td class="indexvalue">Iterator with dynamically specified step in memory units (bytes or bits). Models <a class="el" href="g_i_l_0375.html">StepIteratorConcept</a>, <a class="el" href="g_i_l_0305.html">IteratorAdaptorConcept</a>, <a class="el" href="g_i_l_0307.html">MemoryBasedIteratorConcept</a>, <a class="el" href="g_i_l_0347.html">PixelIteratorConcept</a>, <a class="el" href="g_i_l_0285.html">HasDynamicXStepTypeConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0307.html">MemoryBasedIteratorConcept</a></td><td class="indexvalue">Concept of a random-access iterator that can be advanced in memory units (bytes or bits) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0570.html">memunit_step_fn</a></td><td class="indexvalue">Function object that returns the memory unit distance between two iterators and advances a given iterator a given number of mem units (bytes or bits) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0309.html">Metafunction</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0311.html">MutableChannelConcept</a></td><td class="indexvalue">A channel that allows for modifying its value </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0313.html">MutableColorBaseConcept</a></td><td class="indexvalue">Color base which allows for modifying its elements </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0315.html">MutableHomogeneousColorBaseConcept</a></td><td class="indexvalue">Homogeneous color base that allows for modifying its elements </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0317.html">MutableHomogeneousPixelConcept</a></td><td class="indexvalue">Homogeneous pixel concept that allows for changing its channels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0319.html">MutableImageViewConcept</a></td><td class="indexvalue">GIL's 2-dimensional view over mutable GIL pixels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0321.html">MutableIteratorAdaptorConcept</a></td><td class="indexvalue">Iterator adaptor that is mutable </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0323.html">MutablePixelConcept</a></td><td class="indexvalue">Pixel concept that allows for changing its channels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0325.html">MutablePixelIteratorConcept</a></td><td class="indexvalue">Pixel iterator that allows for changing its pixel </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0327.html">MutablePixelLocatorConcept</a></td><td class="indexvalue">GIL's 2-dimensional locator over mutable GIL pixels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0329.html">MutableRandomAccess2DImageViewConcept</a></td><td class="indexvalue">2-dimensional view over mutable values </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0331.html">MutableRandomAccess2DLocatorConcept</a></td><td class="indexvalue">2-dimensional locator over mutable pixels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0333.html">MutableRandomAccessNDImageViewConcept</a></td><td class="indexvalue">N-dimensional view over mutable values </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0335.html">MutableRandomAccessNDLocatorConcept</a></td><td class="indexvalue">N-dimensional locator over mutable pixels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0337.html">MutableStepIteratorConcept</a></td><td class="indexvalue">Step iterator that allows for modifying its current value </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0509.html">nth_channel_deref_fn</a></td><td class="indexvalue">Function object that returns a grayscale reference of the N-th channel of a given reference. Models: <a class="el" href="g_i_l_0345.html">PixelDereferenceAdaptorConcept</a>.<p>
+If the input is a pixel value or constant reference, the function object is immutable. Otherwise it is mutable (and returns non-const reference to the n-th channel) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0572.html">nth_channel_view_type</a></td><td class="indexvalue">Given a source image view type View, returns the type of an image view over a single channel of View<p>
+If the channels in the source view are adjacent in memory (such as planar non-step view or single-channel view) then the return view is a single-channel non-step view. If the channels are non-adjacent (interleaved and/or step view) then the return view is a single-channel step view </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0574.html">nth_channel_view_type&lt; any_image_view&lt; ViewTypes &gt; &gt;</a></td><td class="indexvalue">Given a runtime source image view, returns the type of a runtime image view over a single channel of the source view </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0575.html">num_channels</a></td><td class="indexvalue">Returns the number of channels of a pixel-based GIL construct </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0048.html">packed_channel_reference&lt; BitField, FirstBit, NumBits, false &gt;</a></td><td class="indexvalue">A constant subbyte channel reference whose bit offset is fixed at compile time. Models <a class="el" href="g_i_l_0259.html">ChannelConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0050.html">packed_channel_reference&lt; BitField, FirstBit, NumBits, true &gt;</a></td><td class="indexvalue">A mutable subbyte channel reference whose bit offset is fixed at compile time. Models <a class="el" href="g_i_l_0259.html">ChannelConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0052.html">packed_channel_value</a></td><td class="indexvalue">The value of a subbyte channel. Models: <a class="el" href="g_i_l_0265.html">ChannelValueConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0054.html">packed_dynamic_channel_reference&lt; BitField, NumBits, false &gt;</a></td><td class="indexvalue">Models a constant subbyte channel reference whose bit offset is a runtime parameter. Models <a class="el" href="g_i_l_0259.html">ChannelConcept</a> Same as packed_channel_reference, except that the offset is a runtime parameter </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0056.html">packed_dynamic_channel_reference&lt; BitField, NumBits, true &gt;</a></td><td class="indexvalue">Models a mutable subbyte channel reference whose bit offset is a runtime parameter. Models <a class="el" href="g_i_l_0259.html">ChannelConcept</a> Same as packed_channel_reference, except that the offset is a runtime parameter </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0577.html">packed_image1_type</a></td><td class="indexvalue">Returns the type of a single-channel image given its bitfield type, the bit size of its channel and its layout </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0579.html">packed_image2_type</a></td><td class="indexvalue">Returns the type of a two channel image given its bitfield type, the bit size of its channels and its layout </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0581.html">packed_image3_type</a></td><td class="indexvalue">Returns the type of a three channel image given its bitfield type, the bit size of its channels and its layout </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0583.html">packed_image4_type</a></td><td class="indexvalue">Returns the type of a four channel image given its bitfield type, the bit size of its channels and its layout </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0585.html">packed_image5_type</a></td><td class="indexvalue">Returns the type of a five channel image given its bitfield type, the bit size of its channels and its layout </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0587.html">packed_image_type</a></td><td class="indexvalue">Returns the type of an interleaved packed image: an image whose channels may not be byte-aligned, but whose pixels are byte aligned </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0589.html">packed_pixel</a></td><td class="indexvalue">Heterogeneous pixel value whose channel references can be constructed from the pixel bitfield and their index. Models <a class="el" href="g_i_l_0271.html">ColorBaseValueConcept</a>, <a class="el" href="g_i_l_0351.html">PixelValueConcept</a>, <a class="el" href="g_i_l_0339.html">PixelBasedConcept</a> Typical use for this is a model of a packed pixel (like 565 RGB) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0591.html">packed_pixel_type</a></td><td class="indexvalue">Returns the type of a packed pixel given its bitfield type, the bit size of its channels and its layout </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0593.html">pixel</a></td><td class="indexvalue">Represents a pixel value (a container of channels). Models: <a class="el" href="g_i_l_0293.html">HomogeneousColorBaseValueConcept</a>, <a class="el" href="g_i_l_0351.html">PixelValueConcept</a>, <a class="el" href="g_i_l_0295.html">HomogeneousPixelBasedConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0058.html">pixel_2d_locator_base</a></td><td class="indexvalue">Base class for models of <a class="el" href="g_i_l_0349.html">PixelLocatorConcept</a><p>
+Pixel locator is similar to a pixel iterator, but allows for 2D navigation of pixels within an image view. It has a 2D difference_type and supports random access operations like: </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0594.html">pixel_is_reference</a></td><td class="indexvalue">Given a model of a pixel, determines whether the model represents a pixel reference (as opposed to pixel value) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0595.html">pixel_reference_is_basic</a></td><td class="indexvalue">Determines if a given pixel reference is basic Basic references must use <a class="el" href="g_i_l_0593.html">gil::pixel</a>&amp; (if interleaved), <a class="el" href="g_i_l_0605.html">gil::planar_pixel_reference</a> (if planar). They must use the standard constness rules </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0596.html">pixel_reference_is_mutable</a></td><td class="indexvalue">Determines if the given pixel reference is mutable (i.e. its channels can be changed) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0597.html">pixel_reference_is_proxy</a></td><td class="indexvalue">Determines whether the given pixel reference is a proxy class or a native C++ reference </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0598.html">pixel_reference_type</a></td><td class="indexvalue">Returns the type of a homogeneous pixel reference given the channel type, layout, whether it operates on planar data and whether it is mutable </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0600.html">pixel_value_type</a></td><td class="indexvalue">Returns the type of a homogeneous pixel given the channel type and layout </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0339.html">PixelBasedConcept</a></td><td class="indexvalue">Concept for all pixel-based GIL constructs, such as pixels, iterators, locators, views and images whose value type is a pixel </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0341.html">PixelConcept</a></td><td class="indexvalue">Pixel concept - A color base whose elements are channels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0343.html">PixelConvertibleConcept</a></td><td class="indexvalue">Pixel convertible concept </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0345.html">PixelDereferenceAdaptorConcept</a></td><td class="indexvalue">Represents a unary function object that can be invoked upon dereferencing a pixel iterator </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0347.html">PixelIteratorConcept</a></td><td class="indexvalue">An STL random access traversal iterator over a model of <a class="el" href="g_i_l_0341.html">PixelConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0349.html">PixelLocatorConcept</a></td><td class="indexvalue">GIL's 2-dimensional locator over immutable GIL pixels </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0601.html">pixels_are_compatible</a></td><td class="indexvalue">Returns whether two pixels are compatible </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0353.html">PixelsCompatibleConcept</a></td><td class="indexvalue">Concept for pixel compatibility Pixels are compatible if their channels and color space types are compatible. Compatible pixels can be assigned and copy constructed from one another </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0351.html">PixelValueConcept</a></td><td class="indexvalue">Pixel concept that is a <a class="el" href="g_i_l_0371.html">Regular</a> type </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0603.html">planar_pixel_iterator</a></td><td class="indexvalue">An iterator over planar pixels. Models <a class="el" href="g_i_l_0291.html">HomogeneousColorBaseConcept</a>, <a class="el" href="g_i_l_0347.html">PixelIteratorConcept</a>, <a class="el" href="g_i_l_0295.html">HomogeneousPixelBasedConcept</a>, <a class="el" href="g_i_l_0307.html">MemoryBasedIteratorConcept</a>, <a class="el" href="g_i_l_0285.html">HasDynamicXStepTypeConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0605.html">planar_pixel_reference</a></td><td class="indexvalue">A reference proxy to a planar pixel. Models: <a class="el" href="g_i_l_0291.html">HomogeneousColorBaseConcept</a>, <a class="el" href="g_i_l_0297.html">HomogeneousPixelConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0511.html">plus_asymmetric</a></td><td class="indexvalue">Plus function object whose arguments may be of different type </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0607.html">png_read_support</a></td><td class="indexvalue">Determines whether the given view type is supported for reading </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0609.html">png_write_support</a></td><td class="indexvalue">Determines whether the given view type is supported for writing </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0060.html">point2</a></td><td class="indexvalue">2D point both axes of which have the same dimension type<p>
+Models: <a class="el" href="g_i_l_0355.html">Point2DConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0355.html">Point2DConcept</a></td><td class="indexvalue">2-dimensional point concept </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0357.html">PointNDConcept</a></td><td class="indexvalue">N-dimensional point concept </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0611.html">position_iterator</a></td><td class="indexvalue">An iterator that remembers its current X,Y position and invokes a function object with it upon dereferencing. Models <a class="el" href="g_i_l_0347.html">PixelIteratorConcept</a>. Used to create virtual image views. Models: <a class="el" href="g_i_l_0375.html">StepIteratorConcept</a>, <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_0285.html">HasDynamicXStepTypeConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0359.html">RandomAccess2DImageConcept</a></td><td class="indexvalue">2-dimensional container of values </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0361.html">RandomAccess2DImageViewConcept</a></td><td class="indexvalue">2-dimensional view over immutable values </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0363.html">RandomAccess2DLocatorConcept</a></td><td class="indexvalue">2-dimensional locator over immutable values </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0365.html">RandomAccessNDImageConcept</a></td><td class="indexvalue">N-dimensional container of values </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0367.html">RandomAccessNDImageViewConcept</a></td><td class="indexvalue">N-dimensional view over immutable values </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0369.html">RandomAccessNDLocatorConcept</a></td><td class="indexvalue">N-dimensional locator over immutable values </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0612.html">red_t</a></td><td class="indexvalue">Red </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0371.html">Regular</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0513.html">rgb_to_luminance_fn</a></td><td class="indexvalue">Red * .3 + green * .59 + blue * .11 + .5 </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0373.html">SameType</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0614.html">scoped_channel_value</a></td><td class="indexvalue">A channel adaptor that modifies the range of the source channel. Models: <a class="el" href="g_i_l_0265.html">ChannelValueConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0615.html">size</a></td><td class="indexvalue">Returns an MPL integral type specifying the number of elements in a color base </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0515.html">std_fill_t</a></td><td class="indexvalue">Struct to do <a class="el" href="g_i_l_0209.html#ga4">std::fill</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0036.html">step_iterator_adaptor</a></td><td class="indexvalue">An adaptor over an existing iterator that changes the step unit </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0375.html">StepIteratorConcept</a></td><td class="indexvalue">Step iterator concept </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0377.html">Swappable</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0617.html">tiff_read_support</a></td><td class="indexvalue">Determines whether the given view type is supported for reading </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0619.html">tiff_write_support</a></td><td class="indexvalue">Determines whether the given view type is supported for writing </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0621.html">type_from_x_iterator</a></td><td class="indexvalue">Given a pixel iterator defining access to pixels along a row, returns the types of the corresponding built-in step_iterator, xy_locator, <a class="el" href="g_i_l_0040.html">image_view</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0516.html">type_to_index</a></td><td class="indexvalue">Returns the index corresponding to the first occurrance of a given given type in </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0062.html">variant</a></td><td class="indexvalue">Represents a concrete instance of a run-time specified type from a set of types<p>
+A concept is typically modeled by a collection of different types. They may be instantiations of a templated type with different template parameters or even completely unrelated types </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0622.html">view_is_basic</a></td><td class="indexvalue">Basic views must be over basic locators </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0623.html">view_is_mutable</a></td><td class="indexvalue">Determines if the given view is mutable (i.e. its pixels can be changed) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0624.html">view_is_step_in_x</a></td><td class="indexvalue">Determines if the given view has a horizontal step that could be set dynamically </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0625.html">view_is_step_in_y</a></td><td class="indexvalue">Determines if the given view has a vertical step that could be set dynamically </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0627.html">view_type</a></td><td class="indexvalue">Returns the type of a homogeneous view given the channel type, layout, whether it operates on planar data and whether it has a step horizontally </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0629.html">view_type_from_pixel</a></td><td class="indexvalue">Returns the type of a view the pixel type, whether it operates on planar data and whether it has a step horizontally </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0630.html">views_are_compatible</a></td><td class="indexvalue">Returns whether two views are compatible </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0379.html">ViewsCompatibleConcept</a></td><td class="indexvalue">Views are compatible if they have the same color spaces and compatible channel values. Constness and layout are not important for compatibility </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0064.html">virtual_2d_locator</a></td><td class="indexvalue">A 2D locator over a virtual image. Upon dereferencing, invokes a given function object passing it its coordinates. Models: <a class="el" href="g_i_l_0349.html">PixelLocatorConcept</a>, <a class="el" href="g_i_l_0285.html">HasDynamicXStepTypeConcept</a>, <a class="el" href="g_i_l_0287.html">HasDynamicYStepTypeConcept</a>, <a class="el" href="g_i_l_0289.html">HasTransposedTypeConcept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0631.html">yellow_t</a></td><td class="indexvalue">Yellow </td></tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:19 2007 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>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/any__image_8hpp.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/any__image_8hpp.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,80 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <TITLE>Generic Image Library : any_image.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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<h1>any_image.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
+Support for run-time instantiated images and image views.
+<p>
+<dl 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_0003.html">any_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>
+
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
+
+<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 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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0018.html">any_image</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Represents a run-time specified image. Note it does NOT model <a class="el" href="g_i_l_0301.html">ImageConcept</a>. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>view, const_view</h2></td></tr>
+<tr><td colspan="2">Get an image view from a run-time instantiated image <br><br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga1"></a><!-- doxytag: member="any_image.hpp::view" ref="ga1" args="(any_image&lt; Types &gt; &amp;anyImage)" -->
+template&lt;typename Types&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE any_image&lt;<br>
+ Types &gt;::view_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0130.html#ga1">boost::gil::view</a> (any_image&lt; Types &gt; &amp;anyImage)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the non-constant-pixel view of any image. The returned view is any view. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga2"></a><!-- doxytag: member="any_image.hpp::const_view" ref="ga2" args="(const any_image&lt; Types &gt; &amp;anyImage)" -->
+template&lt;typename Types&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE any_image&lt;<br>
+ Types &gt;::const_view_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0130.html#ga2">boost::gil::const_view</a> (const any_image&lt; Types &gt; &amp;anyImage)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the constant-pixel view of any image. The returned view is any view. <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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/channel_8hpp.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/channel_8hpp.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,145 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <TITLE>Generic Image Library : channel.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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<h1>channel.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
+Channel utilities.
+<p>
+<dl 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 6, 2007</dd></dl>
+Definitions of standard GIL channel models
+<p>
+<code>#include &lt;limits&gt;</code><br>
+<code>#include &lt;cassert&gt;</code><br>
+<code>#include &lt;boost/cstdint.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_0636.html">utilities.hpp</a>&quot;</code><br>
+
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
+
+<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 class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil::detail</b></td></tr>
+
+<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_0424.html">channel_traits</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits for channels. Contains the following members:. 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_0614.html">scoped_channel_value</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A channel adaptor that modifies the range of the source channel. Models: <a class="el" href="g_i_l_0265.html">ChannelValueConcept</a>. More...<br></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_0052.html">packed_channel_value</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The value of a subbyte channel. Models: <a class="el" href="g_i_l_0265.html">ChannelValueConcept</a>. More...<br></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_0048.html">packed_channel_reference&lt; BitField, FirstBit, NumBits, false &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A constant subbyte channel reference whose bit offset is fixed at compile time. Models <a class="el" href="g_i_l_0259.html">ChannelConcept</a>. More...<br></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_0050.html">packed_channel_reference&lt; BitField, FirstBit, NumBits, true &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A mutable subbyte channel reference whose bit offset is fixed at compile time. Models <a class="el" href="g_i_l_0259.html">ChannelConcept</a>. More...<br></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_0054.html">packed_dynamic_channel_reference&lt; BitField, NumBits, false &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Models a constant subbyte channel reference whose bit offset is a runtime parameter. Models <a class="el" href="g_i_l_0259.html">ChannelConcept</a> Same as packed_channel_reference, except that the offset is a runtime parameter. More...<br></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_0056.html">packed_dynamic_channel_reference&lt; BitField, NumBits, true &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Models a mutable subbyte channel reference whose bit offset is a runtime parameter. Models <a class="el" href="g_i_l_0259.html">ChannelConcept</a> Same as packed_channel_reference, except that the offset is a runtime parameter. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga0"></a><!-- doxytag: member="channel.hpp::bits8" ref="ga0" args="" -->
+typedef uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil::bits8</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga0"></a><!-- doxytag: member="channel.hpp::bits16" ref="ga0" args="" -->
+typedef uint16_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil::bits16</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga0"></a><!-- doxytag: member="channel.hpp::bits32" ref="ga0" args="" -->
+typedef uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil::bits32</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga0"></a><!-- doxytag: member="channel.hpp::bits8s" ref="ga0" args="" -->
+typedef int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil::bits8s</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga0"></a><!-- doxytag: member="channel.hpp::bits16s" ref="ga0" args="" -->
+typedef int16_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil::bits16s</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga0"></a><!-- doxytag: member="channel.hpp::bits32s" ref="ga0" args="" -->
+typedef int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil::bits32s</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga0"></a><!-- doxytag: member="channel.hpp::bits32f" ref="ga0" args="" -->
+typedef scoped_channel_value&lt;<br>
+ float, float_zero, float_one &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil::bits32f</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="channel.hpp::swap" ref="ga0" args="(boost::gil::packed_channel_reference&lt; BF, FB, NB, M &gt; x, R &amp;y)" -->
+template&lt;typename BF, int FB, int NB, bool M, typename R&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0171.html#ga0">std::swap</a> (boost::gil::packed_channel_reference&lt; BF, FB, NB, M &gt; x, R &amp;y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">swap for packed_channel_reference <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga1"></a><!-- doxytag: member="channel.hpp::swap" ref="ga1" args="(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)" -->
+template&lt;typename BF, int FB, int NB, bool M&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0171.html#ga1">std::swap</a> (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)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">swap for packed_channel_reference <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga2"></a><!-- doxytag: member="channel.hpp::swap" ref="ga2" args="(boost::gil::packed_channel_reference&lt; BF, FB, NB, M &gt; x, boost::gil::packed_channel_reference&lt; BF, FB, NB, M &gt; y)" -->
+template&lt;typename BF, int FB, int NB, bool M&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0171.html#ga2">std::swap</a> (boost::gil::packed_channel_reference&lt; BF, FB, NB, M &gt; x, boost::gil::packed_channel_reference&lt; BF, FB, NB, M &gt; y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">swap for packed_channel_reference <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="channel.hpp::swap" ref="ga0" args="(boost::gil::packed_dynamic_channel_reference&lt; BF, NB, M &gt; x, R &amp;y)" -->
+template&lt;typename BF, int NB, bool M, typename R&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0170.html#ga0">std::swap</a> (boost::gil::packed_dynamic_channel_reference&lt; BF, NB, M &gt; x, R &amp;y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">swap for packed_dynamic_channel_reference <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga1"></a><!-- doxytag: member="channel.hpp::swap" ref="ga1" args="(typename 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)" -->
+template&lt;typename BF, int NB, bool M&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0170.html#ga1">std::swap</a> (typename 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)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">swap for packed_dynamic_channel_reference <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga2"></a><!-- doxytag: member="channel.hpp::swap" ref="ga2" args="(boost::gil::packed_dynamic_channel_reference&lt; BF, NB, M &gt; x, boost::gil::packed_dynamic_channel_reference&lt; BF, NB, M &gt; y)" -->
+template&lt;typename BF, int NB, bool M&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0170.html#ga2">std::swap</a> (boost::gil::packed_dynamic_channel_reference&lt; BF, NB, M &gt; x, boost::gil::packed_dynamic_channel_reference&lt; BF, NB, M &gt; y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">swap for packed_dynamic_channel_reference <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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/classes.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/classes.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,61 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <TITLE>Generic Image Library : Alphabetical 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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>Generic Image Library Class Index</h1><p><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_G">G</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_H">H</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_J">J</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_K">K</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_L">L</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_V">V</a>&nbsp;|&nbsp;<a
class="qindex" href="#letter_Y">Y</a></div><p>
+<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;A&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="g_i_l_0522.html">devicen_t&lt; 3 &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0329.html">MutableRandomAccess2DImageViewConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0380.html">alpha_t</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0523.html">devicen_t&lt; 4 &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0331.html">MutableRandomAccess2DLocatorConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0018.html">any_image</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0524.html">devicen_t&lt; 5 &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0333.html">MutableRandomAccessNDImageViewConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0020.html">any_image_view</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0525.html">dynamic_xy_step_trans
posed_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0335.html">MutableRandomAccessNDLocatorConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0257.html">Assignable</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0526.html">dynamic_xy_step_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0337.html">MutableStepIteratorConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;B&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;E&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;N&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="g_i_l_0382.html">binary_operation_obj</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0527.html">element_const_reference_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0509.html">nth_channel_deref_fn</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0384.html">bit_aligned_image1_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0528.html">element_reference_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0572.html">nth_channel_view_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0386.html">bit_aligned_image2_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0529.html">element_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0574.html">nth_channel_view_type&lt; any_image_view&lt; ViewTypes &gt; &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a clas
s="el" href="g_i_l_0388.html">bit_aligned_image3_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0487.html">equal_n_fn&lt; boost::gil::iterator_from_2d&lt; Loc &gt;, I2 &gt;</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0575.html">num_channels</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0390.html">bit_aligned_image4_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0485.html">equal_n_fn&lt; boost::gil::iterator_from_2d&lt; Loc1 &gt;, boost::gil::iterator_from_2d&lt; Loc2 &gt; &gt;</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;P&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="g_i_l_0392.html">bit_aligned_image5_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0489.html">equal_n_fn&lt; const pixel&lt; T, Cs &gt; *, const pixel&lt; T, Cs &gt; * &gt;</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0048.html">packed_channel_reference&lt; BitField, FirstBit, NumBits, false &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0394.html">bit_aligned_image_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0483.html">equal_n_fn&lt; I1, boost::gil::iterator_from_2d&lt; Loc &gt; &gt;</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0050.html">packed_channel_reference&lt; BitField, FirstBit, NumBits, true &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0396.html">bit_aligned_pixel_iterator</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0491.html">equal_n_fn&lt; pl
anar_pixel_iterator&lt; IC, Cs &gt;, planar_pixel_iterator&lt; IC, Cs &gt; &gt;</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0052.html">packed_channel_value</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0398.html">bit_aligned_pixel_reference</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0283.html">EqualityComparable</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0054.html">packed_dynamic_channel_reference&lt; BitField, NumBits, false &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0399.html">black_t</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;G&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="g_i_l_0056.html">packed_dynamic_channel_reference&lt; BitField, NumBits, true &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0400.html">blue_t</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0530.html">gray_color_t</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0577.html">packed_image1_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0401.html">byte_to_memunit</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0531.html">green_t</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0579.html">packed_image2_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;H&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="g_i_l_0581.html">packed_image3_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0403.html">channel_converter</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0285.html">HasDynamicXStepTypeConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0583.html">packed_image4_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0407.html">channel_converter_unsigned&lt; bits32, bits32f &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0287.html">HasDynamicYStepTypeConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0585.html">packed_image5_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0411.html">channel_converter_unsigned&lt; bits32f, bits32 &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0289.html">HasTransposedTypeConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class
="el" href="g_i_l_0587.html">packed_image_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0409.html">channel_converter_unsigned&lt; bits32f, DstChannelV &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0493.html">homogeneous_color_base&lt; Element, Layout, 1 &gt;</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0589.html">packed_pixel</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0405.html">channel_converter_unsigned&lt; T, T &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0495.html">homogeneous_color_base&lt; Element, Layout, 2 &gt;</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0591.html">packed_pixel_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0471.html">channel_converter_unsigned_impl</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0497.html">homogeneous_color_base
&lt; Element, Layout, 3 &gt;</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0593.html">pixel</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0413.html">channel_mapping_type&lt; planar_pixel_reference&lt; ChannelReference, ColorSpace &gt; &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0499.html">homogeneous_color_base&lt; Element, Layout, 4 &gt;</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0058.html">pixel_2d_locator_base</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0415.html">channel_multiplier</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0501.html">homogeneous_color_base&lt; Element, Layout, 5 &gt;</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0594.html">pixel_is_reference</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0417.html">channel_multiplier_unsigned</a> (boost::gil)
&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0291.html">HomogeneousColorBaseConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0595.html">pixel_reference_is_basic</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0419.html">channel_multiplier_unsigned&lt; bits16 &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0293.html">HomogeneousColorBaseValueConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0596.html">pixel_reference_is_mutable</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0421.html">channel_multiplier_unsigned&lt; bits32f &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0295.html">HomogeneousPixelBasedConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0597.html">pixel_reference_is_proxy</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0423.html">channel_multiplier_unsigned&lt; bits
8 &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0297.html">HomogeneousPixelConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0598.html">pixel_reference_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0424.html">channel_traits</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0299.html">HomogeneousPixelValueConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0600.html">pixel_value_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0426.html">channel_type&lt; planar_pixel_reference&lt; ChannelReference, ColorSpace &gt; &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="g_i_l_0339.html">PixelBasedConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0259.html">ChannelConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0503.html">identity</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0341.html">PixelConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0261.html">ChannelConvertibleConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0038.html">image</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0343.html">PixelConvertibleConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0263.html">ChannelMappingConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0532.html">image_is_basic</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0345.html">PixelDereferenceAdaptorConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></t
r><tr><td><a class="el" href="g_i_l_0427.html">channels_are_compatible</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0534.html">image_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0347.html">PixelIteratorConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0267.html">ChannelsCompatibleConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0040.html">image_view</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0349.html">PixelLocatorConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0265.html">ChannelValueConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0301.html">ImageConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0601.html">pixels_are_compatible</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0022.html">color_convert_deref_fn</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td
><td><a class="el" href="g_i_l_0303.html">ImageViewConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0353.html">PixelsCompatibleConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0428.html">color_converted_view_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0505.html">inc</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0351.html">PixelValueConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0432.html">color_converted_view_type&lt; any_image_view&lt; ViewTypes &gt;, DstP &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0535.html">is_iterator_adaptor</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0603.html">planar_pixel_iterator</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0430.html">color_converted_view_type&lt; any_image_view&lt; ViewTypes &gt;, DstP, CC &gt;</a> (boost::gil)&nbsp
;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0536.html">is_pixel&lt; bit_aligned_pixel_reference&lt; C, L, M &gt; &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0605.html">planar_pixel_reference</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0434.html">color_element_const_reference_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0537.html">is_pixel&lt; planar_pixel_reference&lt; ChannelReference, ColorSpace &gt; &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0511.html">plus_asymmetric</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0436.html">color_element_reference_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0538.html">is_planar&lt; planar_pixel_reference&lt; ChannelReference, ColorSpace &gt; &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0607.html">png_read_support</a> (boost::gil)&nbsp;&nbsp;&nbsp;</
td></tr><tr><td><a class="el" href="g_i_l_0438.html">color_element_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0540.html">iterator_add_deref</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0609.html">png_write_support</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0440.html">color_space_type&lt; planar_pixel_reference&lt; ChannelReference, ColorSpace &gt; &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0542.html">iterator_add_deref&lt; dereference_iterator_adaptor&lt; Iterator, PREV_DEREF &gt;, Deref &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0060.html">point2</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0269.html">ColorBaseConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0042.html">iterator_from_2d</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0355.html">Point2DConcept</a> (boost::gil)&nb
sp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0273.html">ColorBasesCompatibleConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0543.html">iterator_is_basic</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0357.html">PointNDConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0271.html">ColorBaseValueConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0544.html">iterator_is_mutable</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0611.html">position_iterator</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0275.html">ColorSpaceConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0545.html">iterator_is_step</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;R&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="g_i_l_0277.html">ColorSpacesCompatibleConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0546.html">iterator_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0359.html">RandomAccess2DImageConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0441.html">contains_color</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0547.html">iterator_type_from_pixel</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0361.html">RandomAccess2DImageViewConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0473.html">copier_n</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0305.html">IteratorAdaptorConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0363.html">RandomAccess2DLocatorConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0475.html">copier_n&l
t; I, iterator_from_2d&lt; OL &gt; &gt;</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_J"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;J&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="g_i_l_0365.html">RandomAccessNDImageConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0479.html">copier_n&lt; iterator_from_2d&lt; IL &gt;, iterator_from_2d&lt; OL &gt; &gt;</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0549.html">jpeg_read_support</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0367.html">RandomAccessNDImageViewConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0477.html">copier_n&lt; iterator_from_2d&lt; IL &gt;, O &gt;</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0551.html">jpeg_write_support</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0369.html">RandomAccessNDLocatorConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0279.html">CopyConstructible</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_K"></a><table border="0" cellspacing="0" cell
padding="0"><tr><td><div class="ah">&nbsp;&nbsp;K&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="g_i_l_0612.html">red_t</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0442.html">cyan_t</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0507.html">kth_channel_deref_fn</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0371.html">Regular</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="g_i_l_0553.html">kth_channel_view_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0513.html">rgb_to_luminance_fn</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0481.html">dec</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0555.html">kth_semantic_element_const_reference_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="g_i_l_0444.html">default_channel_converter</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0557.html">kth_semantic_element_reference_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0373.html">SameType</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0446.html">default_color_converter</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0559.html">kth_semantic_element_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0614.html">scoped_channel_value</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0447.html">default_color_converter_impl</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;L&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="g_i_l_0615.html">size</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0451.html">default_color_converter_impl&lt; C, C &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0561.html">layout</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0515.html">std_fill_t</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0449.html">default_color_converter_impl&lt; C1, rgba_t &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0562.html">locator_is_basic</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0036.html">step_iterator_adaptor</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0453.html">default_color_converter_impl&lt; cmyk_t, gray_t &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0563.html">locator_is_mutable</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_
l_0375.html">StepIteratorConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0455.html">default_color_converter_impl&lt; cmyk_t, rgb_t &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0564.html">locator_is_step_in_x</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0377.html">Swappable</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0457.html">default_color_converter_impl&lt; gray_t, cmyk_t &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0565.html">locator_is_step_in_y</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="g_i_l_0459.html">default_color_converter_impl&lt; gray_t, rgb_t &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0567.html">locator_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0617.html">tiff_read_support</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0461.html">default_color_converter_impl&lt; rgb_t, cmyk_t &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;M&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="g_i_l_0619.html">tiff_write_support</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0463.html">default_color_converter_impl&lt; rgb_t, gray_t &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0568.html">magenta_t</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0621.html">type_from_x_iterator</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0465.html">default_color_converter_impl&lt; rgba_t, C2 &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0044.html">memory_based_2d_locator</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0516.html">type_to_index</a> (boost::gil::detail)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0467.html">default_color_converter_impl&lt; rgba_t, rgba_t &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0046.html">memory_based_step_iterator</a> (boost::gil)&nbsp;&nbsp;&nbs
p;</td><td><a name="letter_V"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;V&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="g_i_l_0281.html">DefaultConstructible</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0307.html">MemoryBasedIteratorConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0062.html">variant</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0469.html">deref_base</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0570.html">memunit_step_fn</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0622.html">view_is_basic</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0024.html">deref_compose</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0309.html">Metafunction</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0623.html">view_is_mutable</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0026.html">dereference_iterator_adaptor</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class
="el" href="g_i_l_0311.html">MutableChannelConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0624.html">view_is_step_in_x</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0028.html">derived_image_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0313.html">MutableColorBaseConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0625.html">view_is_step_in_y</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0030.html">derived_iterator_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0315.html">MutableHomogeneousColorBaseConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0627.html">view_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0032.html">derived_pixel_reference_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0317.html">MutableHomogeneousPixelConcept</a> (boost::gil)&nb
sp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0629.html">view_type_from_pixel</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0034.html">derived_view_type</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0319.html">MutableImageViewConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0630.html">views_are_compatible</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0517.html">devicen_color_t</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0321.html">MutableIteratorAdaptorConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0379.html">ViewsCompatibleConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0519.html">devicen_layout_t</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0323.html">MutablePixelConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0064.html">virtual_2d_locator</a> (b
oost::gil)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="g_i_l_0520.html">devicen_t&lt; 1 &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0325.html">MutablePixelIteratorConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_Y"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;Y&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="g_i_l_0521.html">devicen_t&lt; 2 &gt;</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0327.html">MutablePixelLocatorConcept</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="g_i_l_0631.html">yellow_t</a> (boost::gil)&nbsp;&nbsp;&nbsp;</td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_G">G</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_H">H</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_J">J</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_K">K</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_L">L</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a
>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_V">V</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_Y">Y</a></div><p>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:19 2007 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>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/cmyk_8hpp.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/cmyk_8hpp.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,92 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <TITLE>Generic Image Library : cmyk.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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<h1>cmyk.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
+Support for CMYK color space and variants.
+<p>
+<dl 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 18, 2006</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_0232.html">metafunctions.hpp</a>&quot;</code><br>
+<code>#include &lt;boost/mpl/range_c.hpp&gt;</code><br>
+<code>#include &lt;boost/mpl/vector_c.hpp&gt;</code><br>
+
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
+
+<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>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_0442.html">cyan_t</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cyan. 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_0568.html">magenta_t</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Magenta. 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_0631.html">yellow_t</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Yellow. 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_0399.html">black_t</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Black. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga0"></a><!-- doxytag: member="cmyk.hpp::cmyk_t" ref="ga0" args="" -->
+typedef mpl::vector4&lt; cyan_t,<br>
+ magenta_t, yellow_t, black_t &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil::cmyk_t</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga0"></a><!-- doxytag: member="cmyk.hpp::cmyk_layout_t" ref="ga0" args="" -->
+typedef layout&lt; cmyk_t &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil::cmyk_layout_t</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="cmyk.hpp::planar_cmyk_view" ref="ga0" args="(int width, int height, IC c, IC m, IC y, IC k, std::ptrdiff_t rowsize_in_bytes)" -->
+template&lt;typename IC&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">type_from_x_iterator&lt; planar_pixel_iterator&lt;<br>
+ IC, cmyk_t &gt; &gt;::view_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0135.html#ga0">boost::gil::planar_cmyk_view</a> (int width, int height, IC c, IC m, IC y, IC k, std::ptrdiff_t rowsize_in_bytes)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">from raw CMYK planar data <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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/deprecated_8hpp.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/deprecated_8hpp.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,156 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <TITLE>Generic Image Library : deprecated.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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<h1>deprecated.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
+Deprecated names This file is provided as a courtesy to ease upgrading GIL client code. Please make sure your code compiles when this file is not included.
+<p>
+<dl 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 February 12, 2007</dd></dl>
+
+<p>
+
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></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="deprecated.hpp::planar_ptr" ref="a0" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>planar_ptr</b>&nbsp;&nbsp;&nbsp;planar_pixel_iterator</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1"></a><!-- doxytag: member="deprecated.hpp::planar_ref" ref="a1" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>planar_ref</b>&nbsp;&nbsp;&nbsp;planar_pixel_reference</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2"></a><!-- doxytag: member="deprecated.hpp::membased_2d_locator" ref="a2" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>membased_2d_locator</b>&nbsp;&nbsp;&nbsp;memory_based_2d_locator</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a3"></a><!-- doxytag: member="deprecated.hpp::pixel_step_iterator" ref="a3" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>pixel_step_iterator</b>&nbsp;&nbsp;&nbsp;memory_based_step_iterator</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4"></a><!-- doxytag: member="deprecated.hpp::pixel_image_iterator" ref="a4" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>pixel_image_iterator</b>&nbsp;&nbsp;&nbsp;iterator_from_2d</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5"></a><!-- doxytag: member="deprecated.hpp::equal_channels" ref="a5" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>equal_channels</b>&nbsp;&nbsp;&nbsp;static_equal</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a6"></a><!-- doxytag: member="deprecated.hpp::copy_channels" ref="a6" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>copy_channels</b>&nbsp;&nbsp;&nbsp;static_copy</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a7"></a><!-- doxytag: member="deprecated.hpp::fill_channels" ref="a7" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>fill_channels</b>&nbsp;&nbsp;&nbsp;static_fill</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8"></a><!-- doxytag: member="deprecated.hpp::generate_channels" ref="a8" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>generate_channels</b>&nbsp;&nbsp;&nbsp;static_generate</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9"></a><!-- doxytag: member="deprecated.hpp::for_each_channel" ref="a9" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>for_each_channel</b>&nbsp;&nbsp;&nbsp;static_for_each</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a10"></a><!-- doxytag: member="deprecated.hpp::transform_channels" ref="a10" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>transform_channels</b>&nbsp;&nbsp;&nbsp;static_transform</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a11"></a><!-- doxytag: member="deprecated.hpp::max_channel" ref="a11" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>max_channel</b>&nbsp;&nbsp;&nbsp;static_max</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a12"></a><!-- doxytag: member="deprecated.hpp::min_channel" ref="a12" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>min_channel</b>&nbsp;&nbsp;&nbsp;static_min</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a13"></a><!-- doxytag: member="deprecated.hpp::semantic_channel" ref="a13" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>semantic_channel</b>&nbsp;&nbsp;&nbsp;semantic_at_c</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a14"></a><!-- doxytag: member="deprecated.hpp::GIL" ref="a14" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>GIL</b>&nbsp;&nbsp;&nbsp;boost::gil</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a15"></a><!-- doxytag: member="deprecated.hpp::ADOBE_GIL_NAMESPACE_BEGIN" ref="a15" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>ADOBE_GIL_NAMESPACE_BEGIN</b>&nbsp;&nbsp;&nbsp;namespace boost { namespace gil {</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a16"></a><!-- doxytag: member="deprecated.hpp::ADOBE_GIL_NAMESPACE_END" ref="a16" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>ADOBE_GIL_NAMESPACE_END</b>&nbsp;&nbsp;&nbsp;} }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a17"></a><!-- doxytag: member="deprecated.hpp::ByteAdvancableIteratorConcept" ref="a17" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>ByteAdvancableIteratorConcept</b>&nbsp;&nbsp;&nbsp;MemoryBasedIteratorConcept</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a18"></a><!-- doxytag: member="deprecated.hpp::byte_advance" ref="a18" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>byte_advance</b>&nbsp;&nbsp;&nbsp;memunit_advance</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a19"></a><!-- doxytag: member="deprecated.hpp::byte_advanced" ref="a19" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>byte_advanced</b>&nbsp;&nbsp;&nbsp;memunit_advanced</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a20"></a><!-- doxytag: member="deprecated.hpp::byte_step" ref="a20" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>byte_step</b>&nbsp;&nbsp;&nbsp;memunit_step</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a21"></a><!-- doxytag: member="deprecated.hpp::byte_distance" ref="a21" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>byte_distance</b>&nbsp;&nbsp;&nbsp;memunit_distance</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a22"></a><!-- doxytag: member="deprecated.hpp::byte_addressable_step_iterator" ref="a22" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>byte_addressable_step_iterator</b>&nbsp;&nbsp;&nbsp;memory_based_step_iterator</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a23"></a><!-- doxytag: member="deprecated.hpp::byte_addressable_2d_locator" ref="a23" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>byte_addressable_2d_locator</b>&nbsp;&nbsp;&nbsp;memory_based_2d_locator</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a24"></a><!-- doxytag: member="deprecated.hpp::pix_bytestep" ref="a24" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>pix_bytestep</b>&nbsp;&nbsp;&nbsp;pixel_size</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a25"></a><!-- doxytag: member="deprecated.hpp::resize_clobber_image" ref="a25" args="(Img &amp;img, const typename Img::point_t &amp;new_dims)" -->
+template&lt;typename Img&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>resize_clobber_image</b> (Img &amp;img, const typename Img::point_t &amp;new_dims)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a26"></a><!-- doxytag: member="deprecated.hpp::resize_clobber_image" ref="a26" args="(Img &amp;img, const typename Img::x_coord_t &amp;width, const typename Img::y_coord_t &amp;height)" -->
+template&lt;typename Img&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>resize_clobber_image</b> (Img &amp;img, const typename Img::x_coord_t &amp;width, const typename Img::y_coord_t &amp;height)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a27"></a><!-- doxytag: member="deprecated.hpp::get_width" ref="a27" args="(const T &amp;a)" -->
+template&lt;typename T&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T::x_coord_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>get_width</b> (const T &amp;a)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a28"></a><!-- doxytag: member="deprecated.hpp::get_height" ref="a28" args="(const T &amp;a)" -->
+template&lt;typename T&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T::y_coord_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>get_height</b> (const T &amp;a)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a29"></a><!-- doxytag: member="deprecated.hpp::get_dimensions" ref="a29" args="(const T &amp;a)" -->
+template&lt;typename T&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T::point_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>get_dimensions</b> (const T &amp;a)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a30"></a><!-- doxytag: member="deprecated.hpp::get_num_channels" ref="a30" args="(const T &amp;a)" -->
+template&lt;typename T&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::size_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>get_num_channels</b> (const T &amp;a)</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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/device__n_8hpp.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/device__n_8hpp.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,111 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <TITLE>Generic Image Library : device_n.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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<h1>device_n.hpp File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
+Support for color space of N channels and variants.
+<p>
+<dl 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 March 8, 2006</dd></dl>
+
+<p>
+<code>#include &quot;<a class="el" href="g_i_l_0088.html">gil_config.hpp</a>&quot;</code><br>
+<code>#include &lt;boost/type_traits.hpp&gt;</code><br>
+<code>#include &lt;boost/mpl/range_c.hpp&gt;</code><br>
+<code>#include &lt;boost/mpl/vector_c.hpp&gt;</code><br>
+
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
+
+<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>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_0517.html">devicen_color_t</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">unnamed color 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_0520.html">devicen_t&lt; 1 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">unnamed color space of one channel 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_0521.html">devicen_t&lt; 2 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">unnamed color space of two 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_0522.html">devicen_t&lt; 3 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">unnamed color space of three 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_0523.html">devicen_t&lt; 4 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">unnamed color space of four 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_0524.html">devicen_t&lt; 5 &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">unnamed color space of five 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_0519.html">devicen_layout_t</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">unnamed color layout of up to five channels 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="ga1"></a><!-- doxytag: member="device_n.hpp::planar_devicen_view" ref="ga1" args="(int width, int height, IC c0, IC c1, std::ptrdiff_t rowsize_in_bytes)" -->
+template&lt;typename IC&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">type_from_x_iterator&lt; planar_pixel_iterator&lt;<br>
+ IC, devicen_t&lt; 2 &gt; &gt; &gt;::view_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0135.html#ga1">boost::gil::planar_devicen_view</a> (int width, int height, IC c0, IC c1, std::ptrdiff_t rowsize_in_bytes)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">from 2-channel planar data <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga2"></a><!-- doxytag: member="device_n.hpp::planar_devicen_view" ref="ga2" args="(int width, int height, IC c0, IC c1, IC c2, std::ptrdiff_t rowsize_in_bytes)" -->
+template&lt;typename IC&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">type_from_x_iterator&lt; planar_pixel_iterator&lt;<br>
+ IC, devicen_t&lt; 3 &gt; &gt; &gt;::view_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0135.html#ga2">boost::gil::planar_devicen_view</a> (int width, int height, IC c0, IC c1, IC c2, std::ptrdiff_t rowsize_in_bytes)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">from 3-channel planar data <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga3"></a><!-- doxytag: member="device_n.hpp::planar_devicen_view" ref="ga3" args="(int width, int height, IC c0, IC c1, IC c2, IC c3, std::ptrdiff_t rowsize_in_bytes)" -->
+template&lt;typename IC&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">type_from_x_iterator&lt; planar_pixel_iterator&lt;<br>
+ IC, devicen_t&lt; 4 &gt; &gt; &gt;::view_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0135.html#ga3">boost::gil::planar_devicen_view</a> (int width, int height, IC c0, IC c1, IC c2, IC c3, std::ptrdiff_t rowsize_in_bytes)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">from 4-channel planar data <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga4"></a><!-- doxytag: member="device_n.hpp::planar_devicen_view" ref="ga4" args="(int width, int height, IC c0, IC c1, IC c2, IC c3, IC c4, std::ptrdiff_t rowsize_in_bytes)" -->
+template&lt;typename IC&gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">type_from_x_iterator&lt; planar_pixel_iterator&lt;<br>
+ IC, devicen_t&lt; 5 &gt; &gt; &gt;::view_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="g_i_l_0135.html#ga4">boost::gil::planar_devicen_view</a> (int width, int height, IC c0, IC c1, IC c2, IC c3, IC c4, std::ptrdiff_t rowsize_in_bytes)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">from 5-channel planar data <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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/dir_000000.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/dir_000000.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,49 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <TITLE>Generic Image Library : C:/root/adobe_source_libraries/boost/ Directory 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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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></div>
+<h1>boost Directory Reference</h1>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Directories</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">directory &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000001.html">gil</a></td></tr>
+
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:20 2007 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>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/dir_000001.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/dir_000001.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,220 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <TITLE>Generic Image Library : C:/root/adobe_source_libraries/boost/gil/ Directory 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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<h1>gil Directory Reference</h1>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Directories</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">directory &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000002.html">extension</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Files</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="algorithm_8hpp.html">algorithm.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Some basic STL-style algorithms when applied to image views. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0011.html">bit_aligned_pixel_iterator.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A model of a heterogeneous pixel that is not byte aligned. Examples are bitmap (1-bit pixels) or 6-bit RGB (222). <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0013.html">bit_aligned_pixel_reference.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A model of a heterogeneous pixel that is not byte aligned. Examples are bitmap (1-bit pixels) or 6-bit RGB (222). <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channel_8hpp.html">channel.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Channel utilities. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0016.html">channel_algorithm.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Channel algorithms. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmyk_8hpp.html">cmyk.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support for CMYK color space and variants. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0067.html">color_base.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pixel class and related utilities <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0069.html">color_base_algorithm.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pixel related algorithms <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0071.html">color_convert.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GIL default color space conversions. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="deprecated_8hpp.html">deprecated.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deprecated names This file is provided as a courtesy to ease upgrading GIL client code. Please make sure your code compiles when this file is not included. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="device__n_8hpp.html">device_n.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support for color space of N channels and variants. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gil__all_8hpp.html">gil_all.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Includes all GIL files for convenience. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0087.html">gil_concept.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Concept check classes for GIL concepts. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0089.html">gil_config.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GIL configuration file. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gray_8hpp.html">gray.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support for grayscale color space and variants. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="image_8hpp.html">image.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Templated image. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0220.html">image_view.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">image view class <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0222.html">image_view_factory.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Methods for constructing image views from raw data or other image views /. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0225.html">iterator_from_2d.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pixel step iterator, pixel image iterator and pixel dereference iterator <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="locator_8hpp.html">locator.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pixel 2D locator <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0233.html">metafunctions.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">metafunctions that construct types or return type properties <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0235.html">packed_pixel.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A model of a heterogeneous pixel whose channels are bit ranges. For example 16-bit RGB in '565' format. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pixel_8hpp.html">pixel.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pixel class and related utilities <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0238.html">pixel_iterator.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pixel iterator support <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0240.html">pixel_iterator_adaptor.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pixel step iterator, pixel image iterator and pixel dereference iterator <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0242.html">planar_pixel_iterator.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">planar pixel pointer class <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0244.html">planar_pixel_reference.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">planar pixel reference class <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0251.html">position_iterator.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Locator for virtual image views. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rgb_8hpp.html">rgb.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support for RGB color space and variants. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rgba_8hpp.html">rgba.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support for RGBA color space and variants. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0255.html">step_iterator.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pixel step iterator <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="typedefs_8hpp.html">typedefs.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Useful typedefs. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="utilities_8hpp.html">utilities.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Various utilities not specific to the image library. Some are non-standard STL extensions or generic iterator adaptors. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0639.html">virtual_locator.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Locator for virtual image views. <br></td></tr>
+
+<p>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:20 2007 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>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/dir_000002.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/dir_000002.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,51 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <TITLE>Generic Image Library : C:/root/adobe_source_libraries/boost/gil/extension/ Directory 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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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></div>
+<h1>extension Directory Reference</h1>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Directories</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">directory &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000003.html">dynamic_image</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">directory &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000004.html">io</a></td></tr>
+
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:20 2007 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>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/dir_000003.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/dir_000003.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,97 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <TITLE>Generic Image Library : C:/root/adobe_source_libraries/boost/gil/extension/dynamic_image/ Directory 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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<h1>dynamic_image Directory Reference</h1>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Files</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0082.html">extension/dynamic_image/algorithm.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Some basic STL-style algorithms when applied to runtime type specified image views. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="any__image_8hpp.html">any_image.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support for run-time instantiated images and image views. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0004.html">any_image_view.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support for run-time instantiated image view. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0006.html">apply_operation.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements apply_operation for variants. Optionally performs type reduction. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0008.html">apply_operation_base.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0076.html">dynamic_at_c.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs for static-to-dynamic integer convesion. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0078.html">dynamic_image_all.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Includes all of the GIL dynamic image extension files, for convenience. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0084.html">extension/dynamic_image/image_view_factory.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Methods for constructing any image views from other any image views /. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="reduce_8hpp.html">reduce.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs for static-to-dynamic integer convesion. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="variant_8hpp.html">variant.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support for run-time instantiated types. <br></td></tr>
+
+<p>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:20 2007 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>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/dir_000004.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/dir_000004.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,97 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <TITLE>Generic Image Library : C:/root/adobe_source_libraries/boost/gil/extension/io/ Directory 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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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_000004.html">io</a></div>
+<h1>io Directory Reference</h1>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Files</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0080.html">dynamic_io.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generic io functions for dealing with dynamic images. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="io__error_8hpp.html">io_error.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Handle input-output errors. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0227.html">jpeg_dynamic_io.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support for reading and writing JPEG files Requires libjpeg. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="jpeg__io_8hpp.html">jpeg_io.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support for reading and writing JPEG files Requires libjpeg. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0230.html">jpeg_io_private.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal support for reading and writing JPEG files. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0246.html">png_dynamic_io.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support for reading and writing PNG files Requires libpng and zlib! <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="png__io_8hpp.html">png_io.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support for reading and writing PNG files Requires libpng and zlib! <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0249.html">png_io_private.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal support for reading and writing PNG files. <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0633.html">tiff_dynamic_io.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support for reading and writing TIFF files Requires libtiff! <br></td></tr>
+
+<p>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tiff__io_8hpp.html">tiff_io.hpp</a> [code]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support for reading and writing TIFF files Requires libtiff! <br></td></tr>
+
+<p>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:20 2007 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>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/dirs.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/dirs.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,52 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <TITLE>Generic Image Library : Directory Hierarchy</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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>Generic Image Library Directories</h1>This directory hierarchy is sorted roughly, but not completely, alphabetically:<ul>
+<li><a class="el" href="dir_000000.html">boost</a>
+<ul>
+<li><a class="el" href="dir_000001.html">gil</a>
+<ul>
+<li><a class="el" href="dir_000002.html">extension</a>
+<ul>
+<li><a class="el" href="dir_000003.html">dynamic_image</a>
+<li><a class="el" href="dir_000004.html">io</a>
+</ul>
+</ul>
+</ul>
+</ul>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:24 2007 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>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/files.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/files.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,95 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <TITLE>Generic Image Library : File Index</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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>Generic Image Library File List</h1>Here is a list of all documented files with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="algorithm_8hpp.html">algorithm.hpp</a> [code]</td><td class="indexvalue">Some basic STL-style algorithms when applied to image views </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0082.html">extension/dynamic_image/algorithm.hpp</a> [code]</td><td class="indexvalue">Some basic STL-style algorithms when applied to runtime type specified image views </td></tr>
+ <tr><td class="indexkey"><a class="el" href="any__image_8hpp.html">any_image.hpp</a> [code]</td><td class="indexvalue">Support for run-time instantiated images and image views </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0004.html">any_image_view.hpp</a> [code]</td><td class="indexvalue">Support for run-time instantiated image view </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0006.html">apply_operation.hpp</a> [code]</td><td class="indexvalue">Implements apply_operation for variants. Optionally performs type reduction </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0008.html">apply_operation_base.hpp</a> [code]</td><td class="indexvalue">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 </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0011.html">bit_aligned_pixel_iterator.hpp</a> [code]</td><td class="indexvalue">A model of a heterogeneous pixel that is not byte aligned. Examples are bitmap (1-bit pixels) or 6-bit RGB (222) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0013.html">bit_aligned_pixel_reference.hpp</a> [code]</td><td class="indexvalue">A model of a heterogeneous pixel that is not byte aligned. Examples are bitmap (1-bit pixels) or 6-bit RGB (222) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="channel_8hpp.html">channel.hpp</a> [code]</td><td class="indexvalue">Channel utilities </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0016.html">channel_algorithm.hpp</a> [code]</td><td class="indexvalue">Channel algorithms </td></tr>
+ <tr><td class="indexkey"><a class="el" href="cmyk_8hpp.html">cmyk.hpp</a> [code]</td><td class="indexvalue">Support for CMYK color space and variants </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0067.html">color_base.hpp</a> [code]</td><td class="indexvalue">Pixel class and related utilities </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0069.html">color_base_algorithm.hpp</a> [code]</td><td class="indexvalue">Pixel related algorithms </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0071.html">color_convert.hpp</a> [code]</td><td class="indexvalue">GIL default color space conversions </td></tr>
+ <tr><td class="indexkey"><a class="el" href="deprecated_8hpp.html">deprecated.hpp</a> [code]</td><td class="indexvalue">Deprecated names This file is provided as a courtesy to ease upgrading GIL client code. Please make sure your code compiles when this file is not included </td></tr>
+ <tr><td class="indexkey"><a class="el" href="device__n_8hpp.html">device_n.hpp</a> [code]</td><td class="indexvalue">Support for color space of N channels and variants </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0076.html">dynamic_at_c.hpp</a> [code]</td><td class="indexvalue">Constructs for static-to-dynamic integer convesion </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0078.html">dynamic_image_all.hpp</a> [code]</td><td class="indexvalue">Includes all of the GIL dynamic image extension files, for convenience </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0080.html">dynamic_io.hpp</a> [code]</td><td class="indexvalue">Generic io functions for dealing with dynamic images </td></tr>
+ <tr><td class="indexkey"><a class="el" href="gil__all_8hpp.html">gil_all.hpp</a> [code]</td><td class="indexvalue">Includes all GIL files for convenience </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0087.html">gil_concept.hpp</a> [code]</td><td class="indexvalue">Concept check classes for GIL concepts </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0089.html">gil_config.hpp</a> [code]</td><td class="indexvalue">GIL configuration file </td></tr>
+ <tr><td class="indexkey"><a class="el" href="gray_8hpp.html">gray.hpp</a> [code]</td><td class="indexvalue">Support for grayscale color space and variants </td></tr>
+ <tr><td class="indexkey"><a class="el" href="image_8hpp.html">image.hpp</a> [code]</td><td class="indexvalue">Templated image </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0220.html">image_view.hpp</a> [code]</td><td class="indexvalue">Image view class </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0222.html">image_view_factory.hpp</a> [code]</td><td class="indexvalue">Methods for constructing image views from raw data or other image views / </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0084.html">extension/dynamic_image/image_view_factory.hpp</a> [code]</td><td class="indexvalue">Methods for constructing any image views from other any image views / </td></tr>
+ <tr><td class="indexkey"><a class="el" href="io__error_8hpp.html">io_error.hpp</a> [code]</td><td class="indexvalue">Handle input-output errors </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0225.html">iterator_from_2d.hpp</a> [code]</td><td class="indexvalue">Pixel step iterator, pixel image iterator and pixel dereference iterator </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0227.html">jpeg_dynamic_io.hpp</a> [code]</td><td class="indexvalue">Support for reading and writing JPEG files Requires libjpeg </td></tr>
+ <tr><td class="indexkey"><a class="el" href="jpeg__io_8hpp.html">jpeg_io.hpp</a> [code]</td><td class="indexvalue">Support for reading and writing JPEG files Requires libjpeg </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0230.html">jpeg_io_private.hpp</a> [code]</td><td class="indexvalue">Internal support for reading and writing JPEG files </td></tr>
+ <tr><td class="indexkey"><a class="el" href="locator_8hpp.html">locator.hpp</a> [code]</td><td class="indexvalue">Pixel 2D locator </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0233.html">metafunctions.hpp</a> [code]</td><td class="indexvalue">Metafunctions that construct types or return type properties </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0235.html">packed_pixel.hpp</a> [code]</td><td class="indexvalue">A model of a heterogeneous pixel whose channels are bit ranges. For example 16-bit RGB in '565' format </td></tr>
+ <tr><td class="indexkey"><a class="el" href="pixel_8hpp.html">pixel.hpp</a> [code]</td><td class="indexvalue">Pixel class and related utilities </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0238.html">pixel_iterator.hpp</a> [code]</td><td class="indexvalue">Pixel iterator support </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0240.html">pixel_iterator_adaptor.hpp</a> [code]</td><td class="indexvalue">Pixel step iterator, pixel image iterator and pixel dereference iterator </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0242.html">planar_pixel_iterator.hpp</a> [code]</td><td class="indexvalue">Planar pixel pointer class </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0244.html">planar_pixel_reference.hpp</a> [code]</td><td class="indexvalue">Planar pixel reference class </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0246.html">png_dynamic_io.hpp</a> [code]</td><td class="indexvalue">Support for reading and writing PNG files Requires libpng and zlib! </td></tr>
+ <tr><td class="indexkey"><a class="el" href="png__io_8hpp.html">png_io.hpp</a> [code]</td><td class="indexvalue">Support for reading and writing PNG files Requires libpng and zlib! </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0249.html">png_io_private.hpp</a> [code]</td><td class="indexvalue">Internal support for reading and writing PNG files </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0251.html">position_iterator.hpp</a> [code]</td><td class="indexvalue">Locator for virtual image views </td></tr>
+ <tr><td class="indexkey"><a class="el" href="reduce_8hpp.html">reduce.hpp</a> [code]</td><td class="indexvalue">Constructs for static-to-dynamic integer convesion </td></tr>
+ <tr><td class="indexkey"><a class="el" href="rgb_8hpp.html">rgb.hpp</a> [code]</td><td class="indexvalue">Support for RGB color space and variants </td></tr>
+ <tr><td class="indexkey"><a class="el" href="rgba_8hpp.html">rgba.hpp</a> [code]</td><td class="indexvalue">Support for RGBA color space and variants </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0255.html">step_iterator.hpp</a> [code]</td><td class="indexvalue">Pixel step iterator </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0633.html">tiff_dynamic_io.hpp</a> [code]</td><td class="indexvalue">Support for reading and writing TIFF files Requires libtiff! </td></tr>
+ <tr><td class="indexkey"><a class="el" href="tiff__io_8hpp.html">tiff_io.hpp</a> [code]</td><td class="indexvalue">Support for reading and writing TIFF files Requires libtiff! </td></tr>
+ <tr><td class="indexkey"><a class="el" href="typedefs_8hpp.html">typedefs.hpp</a> [code]</td><td class="indexvalue">Useful typedefs </td></tr>
+ <tr><td class="indexkey"><a class="el" href="utilities_8hpp.html">utilities.hpp</a> [code]</td><td class="indexvalue">Various utilities not specific to the image library. Some are non-standard STL extensions or generic iterator adaptors </td></tr>
+ <tr><td class="indexkey"><a class="el" href="variant_8hpp.html">variant.hpp</a> [code]</td><td class="indexvalue">Support for run-time instantiated types </td></tr>
+ <tr><td class="indexkey"><a class="el" href="g_i_l_0639.html">virtual_locator.hpp</a> [code]</td><td class="indexvalue">Locator for virtual image views </td></tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:16 2007 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>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/functions.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/functions.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,47 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <TITLE>Generic Image Library : Class Members</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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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="qindex"><a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_rela.html">Related&nbsp;Functions</a></div>
+Here is a list of all documented class members with links to the class documentation for each member:
+<p>
+<ul>
+<li>apply_operation
+: <a class="el" href="g_i_l_0062.html#n5">variant</a><li>operator[]()
+: <a class="el" href="g_i_l_0046.html#a3">memory_based_step_iterator</a>, <a class="el" href="g_i_l_0611.html#a9">position_iterator</a>, <a class="el" href="g_i_l_0603.html#a9">planar_pixel_iterator</a>, <a class="el" href="g_i_l_0026.html#a4">dereference_iterator_adaptor</a>, <a class="el" href="g_i_l_0042.html#a3">iterator_from_2d</a>, <a class="el" href="g_i_l_0396.html#a6">bit_aligned_pixel_iterator</a><li>planar_pixel_iterator()
+: <a class="el" href="g_i_l_0603.html#a7">planar_pixel_iterator</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:19 2007 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>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/functions_func.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/functions_func.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,46 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <TITLE>Generic Image Library : Class Members - Functions</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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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="qindex"><a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_rela.html">Related&nbsp;Functions</a></div>
+
+<p>
+<ul>
+<li>operator[]()
+: <a class="el" href="g_i_l_0046.html#a3">memory_based_step_iterator</a>, <a class="el" href="g_i_l_0611.html#a9">position_iterator</a>, <a class="el" href="g_i_l_0603.html#a9">planar_pixel_iterator</a>, <a class="el" href="g_i_l_0026.html#a4">dereference_iterator_adaptor</a>, <a class="el" href="g_i_l_0042.html#a3">iterator_from_2d</a>, <a class="el" href="g_i_l_0396.html#a6">bit_aligned_pixel_iterator</a><li>planar_pixel_iterator()
+: <a class="el" href="g_i_l_0603.html#a7">planar_pixel_iterator</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:19 2007 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>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/functions_rela.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/functions_rela.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,45 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <TITLE>Generic Image Library : Class Members - Related Functions</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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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="qindex"><a class="qindex" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindexHL" href="functions_rela.html">Related&nbsp;Functions</a></div>
+
+<p>
+<ul>
+<li>apply_operation
+: <a class="el" href="g_i_l_0062.html#n5">variant</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:19 2007 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>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0001.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0001.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,827 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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>
+<a name="l00004"></a>00004 <span class="comment"> Use, modification and distribution are subject to the Boost Software License,</span>
+<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="l00009"></a>00009 <span class="comment">*/</span>
+<a name="l00010"></a>00010
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="comment">/*************************************************************************************************/</span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#ifndef GIL_ALGORITHM_HPP</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define GIL_ALGORITHM_HPP</span>
+<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="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="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="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="l00283"></a>00283
+<a name="l00284"></a>00284 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
+<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="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="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="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="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="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="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="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="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="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="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="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="l00791"></a>00791
+<a name="l00792"></a>00792 <span class="keyword">namespace </span>detail {
+<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="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="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 href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0002.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0002.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,141 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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>
+<a name="l00004"></a>00004 <span class="comment"> Use, modification and distribution are subject to the Boost Software License,</span>
+<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="l00009"></a>00009 <span class="comment">*/</span>
+<a name="l00010"></a>00010 <span class="comment">/*************************************************************************************************/</span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#ifndef GIL_DYNAMICIMAGE_ANY_IMAGE_HPP</span>
+<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="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="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 {
+<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>get_view_t { <span class="keyword">typedef</span> <span class="keyword">typename</span> T::view_t type; };
+<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Images&gt; <span class="keyword">struct </span>images_get_views_t : <span class="keyword">public</span> mpl::transform&lt;Images, get_view_t&lt;mpl::_1&gt; &gt; {};
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>get_const_view_t { <span class="keyword">typedef</span> <span class="keyword">typename</span> T::const_view_t type; };
+<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Images&gt; <span class="keyword">struct </span>images_get_const_views_t : <span class="keyword">public</span> mpl::transform&lt;Images, get_const_view_t&lt;mpl::_1&gt; &gt; {};
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">struct </span>recreate_image_fnobj {
+<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keywordtype">void</span> result_type;
+<a name="l00043"></a>00043 <span class="keyword">const</span> point2&lt;std::ptrdiff_t&gt;&amp; _dimensions;
+<a name="l00044"></a>00044 <span class="keywordtype">unsigned</span> _alignment;
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 recreate_image_fnobj(<span class="keyword">const</span> point2&lt;std::ptrdiff_t&gt;&amp; dims, <span class="keywordtype">unsigned</span> alignment) : _dimensions(dims), _alignment(alignment) {}
+<a name="l00047"></a>00047 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Image&gt; result_type operator()(Image&amp; img)<span class="keyword"> const </span>{ img.recreate(_dimensions,_alignment); }
+<a name="l00048"></a>00048 };
+<a name="l00049"></a>00049
+<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="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="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="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="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="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="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="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="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="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="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="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="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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0003.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0003.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,130 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<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>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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>
+<a name="l00004"></a>00004 <span class="comment"> Use, modification and distribution are subject to the Boost Software License,</span>
+<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="l00009"></a>00009 <span class="comment">*/</span>
+<a name="l00010"></a>00010
+<a name="l00011"></a>00011 <span class="comment">/*************************************************************************************************/</span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#ifndef GIL_DYNAMICIMAGE_ANY_IMAGEVIEW_HPP</span>
+<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="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
+<a name="l00029"></a>00029 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="keyword">namespace </span>detail {
+<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View&gt; <span class="keyword">struct </span>get_const_t { <span class="keyword">typedef</span> <span class="keyword">typename</span> View::const_t type; };
+<a name="l00033"></a>00033 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Views&gt; <span class="keyword">struct </span>views_get_const_t : <span class="keyword">public</span> mpl::transform&lt;Views, get_const_t&lt;mpl::_1&gt; &gt; {};
+<a name="l00034"></a>00034 }
+<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View&gt; <span class="keyword">struct </span>dynamic_xy_step_type;
+<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> View&gt; <span class="keyword">struct </span>dynamic_xy_step_transposed_type;
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keyword">namespace </span>detail {
+<a name="l00039"></a>00039 <span class="keyword">struct </span>any_type_get_num_channels { <span class="comment">// works for both image_view and image</span>
+<a name="l00040"></a>00040 <span class="keyword">typedef</span> <span class="keywordtype">int</span> result_type;
+<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; result_type operator()(<span class="keyword">const</span> T&amp; v)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> num_channels&lt;T&gt;::value; }
+<a name="l00042"></a>00042 };
+<a name="l00043"></a>00043 <span class="keyword">struct </span>any_type_get_dimensions { <span class="comment">// works for both image_view and image</span>
+<a name="l00044"></a>00044 <span class="keyword">typedef</span> point2&lt;std::ptrdiff_t&gt; result_type;
+<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; result_type operator()(<span class="keyword">const</span> T&amp; v)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> v.dimensions(); }
+<a name="l00046"></a>00046 };
+<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="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="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="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="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="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="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="l00092"></a>00092 };
+<a name="l00093"></a>00093
+<a name="l00095"></a>00095 <span class="comment">// HasDynamicYStepTypeConcept</span>
+<a name="l00097"></a>00097 <span class="comment"></span>
+<a name="l00098"></a>00098 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IVTypes&gt;
+<a name="l00099"></a>00099 <span class="keyword">struct </span>dynamic_y_step_type&lt;any_image_view&lt;IVTypes&gt; &gt; {
+<a name="l00100"></a>00100 <span class="keyword">typedef</span> any_image_view&lt;typename mpl::transform&lt;IVTypes, dynamic_y_step_type&lt;mpl::_1&gt; &gt;::type&gt; 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> IVTypes&gt;
+<a name="l00104"></a>00104 <span class="keyword">struct </span>dynamic_xy_step_type&lt;any_image_view&lt;IVTypes&gt; &gt; {
+<a name="l00105"></a>00105 <span class="keyword">typedef</span> any_image_view&lt;typename mpl::transform&lt;IVTypes, dynamic_xy_step_type&lt;mpl::_1&gt; &gt;::type&gt; type;
+<a name="l00106"></a>00106 };
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> IVTypes&gt;
+<a name="l00109"></a>00109 <span class="keyword">struct </span>dynamic_xy_step_transposed_type&lt;any_image_view&lt;IVTypes&gt; &gt; {
+<a name="l00110"></a>00110 <span class="keyword">typedef</span> any_image_view&lt;typename mpl::transform&lt;IVTypes, dynamic_xy_step_transposed_type&lt;mpl::_1&gt; &gt;::type&gt; type;
+<a name="l00111"></a>00111 };
+<a name="l00112"></a>00112
+<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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0004.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0004.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,67 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<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>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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>
+
+<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>
+
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
+
+<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 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">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>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:18 2007 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>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0005.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0005.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,88 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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>
+<a name="l00004"></a>00004 <span class="comment"> Use, modification and distribution are subject to the Boost Software License,</span>
+<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="l00009"></a>00009 <span class="comment">*/</span>
+<a name="l00010"></a>00010
+<a name="l00011"></a>00011 <span class="comment">/*************************************************************************************************/</span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#ifndef GIL_APPLY_OPERATION_HPP</span>
+<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="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="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="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="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="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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0006.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0006.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,78 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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>
+ Adobe Systems Incorporated </dd></dl>
+<dl 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>
+
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
+
+<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)" -->
+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="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)" -->
+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="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)" -->
+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="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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0007.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0007.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,194 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<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>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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>
+<a name="l00004"></a>00004 <span class="comment"> Use, modification and distribution are subject to the Boost Software License,</span>
+<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="l00009"></a>00009 <span class="comment">*/</span>
+<a name="l00010"></a>00010
+<a name="l00011"></a>00011 <span class="comment">/*************************************************************************************************/</span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#ifndef GIL_APPLY_OPERATION_BASE_HPP</span>
+<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define GIL_APPLY_OPERATION_BASE_HPP</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include "../../gil_config.hpp"</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include "../../utilities.hpp"</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;boost/mpl/begin.hpp&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;boost/mpl/next.hpp&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;boost/mpl/deref.hpp&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;boost/mpl/size.hpp&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;boost/preprocessor/repeat.hpp&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="comment">/*</span>
+<a name="l00037"></a>00037 <span class="comment">GENERATE_APPLY_FWD_OPS generates for every N functions that look like this (for N==2):</span>
+<a name="l00038"></a>00038 <span class="comment"></span>
+<a name="l00039"></a>00039 <span class="comment"> template &lt;&gt; struct apply_operation_fwd_fn&lt;3&gt; {</span>
+<a name="l00040"></a>00040 <span class="comment"> template &lt;typename Types, typename Bits, typename UnaryOp&gt;</span>
+<a name="l00041"></a>00041 <span class="comment"> typename UnaryOp::result_type apply(Bits&amp; bits, std::size_t index, UnaryOp op) const {</span>
+<a name="l00042"></a>00042 <span class="comment"> typedef typename mpl::begin&lt;Types&gt;::type T0;</span>
+<a name="l00043"></a>00043 <span class="comment"> typedef typename mpl::next&lt;T0&gt;::type T1;</span>
+<a name="l00044"></a>00044 <span class="comment"> typedef typename mpl::next&lt;T1&gt;::type T2;</span>
+<a name="l00045"></a>00045 <span class="comment"> switch (index) {</span>
+<a name="l00046"></a>00046 <span class="comment"> case 0: return op(reinterpret_cast&lt;typename mpl::deref&lt;T0&gt;::type&amp;&gt;(bits));</span>
+<a name="l00047"></a>00047 <span class="comment"> case 1: return op(reinterpret_cast&lt;typename mpl::deref&lt;T1&gt;::type&amp;&gt;(bits));</span>
+<a name="l00048"></a>00048 <span class="comment"> case 2: return op(reinterpret_cast&lt;typename mpl::deref&lt;T2&gt;::type&amp;&gt;(bits));</span>
+<a name="l00049"></a>00049 <span class="comment"> }</span>
+<a name="l00050"></a>00050 <span class="comment"> throw;</span>
+<a name="l00051"></a>00051 <span class="comment"> }</span>
+<a name="l00052"></a>00052 <span class="comment"></span>
+<a name="l00053"></a>00053 <span class="comment"> template &lt;typename Types, typename Bits, typename UnaryOp&gt;</span>
+<a name="l00054"></a>00054 <span class="comment"> typename UnaryOp::result_type applyc(const Bits&amp; bits, std::size_t index, UnaryOp op) const {</span>
+<a name="l00055"></a>00055 <span class="comment"> typedef typename mpl::begin&lt;Types&gt;::type T0;</span>
+<a name="l00056"></a>00056 <span class="comment"> typedef typename mpl::next&lt;T0&gt;::type T1;</span>
+<a name="l00057"></a>00057 <span class="comment"> typedef typename mpl::next&lt;T1&gt;::type T2;</span>
+<a name="l00058"></a>00058 <span class="comment"> switch (index) {</span>
+<a name="l00059"></a>00059 <span class="comment"> case 0: return op(reinterpret_cast&lt;const typename mpl::deref&lt;T0&gt;::type&amp;&gt;(bits));</span>
+<a name="l00060"></a>00060 <span class="comment"> case 1: return op(reinterpret_cast&lt;const typename mpl::deref&lt;T1&gt;::type&amp;&gt;(bits));</span>
+<a name="l00061"></a>00061 <span class="comment"> case 2: return op(reinterpret_cast&lt;const typename mpl::deref&lt;T2&gt;::type&amp;&gt;(bits));</span>
+<a name="l00062"></a>00062 <span class="comment"> }</span>
+<a name="l00063"></a>00063 <span class="comment"> throw;</span>
+<a name="l00064"></a>00064 <span class="comment"> }</span>
+<a name="l00065"></a>00065 <span class="comment"> };</span>
+<a name="l00066"></a>00066 <span class="comment">*/</span>
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="preprocessor">#define GIL_FWD_TYPEDEFS(z, N, text) T##N; typedef typename mpl::next&lt;T##N&gt;::type </span>
+<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="preprocessor">#define GIL_FWD_CASE(z, N, SUM) case N: return op(*gil_reinterpret_cast&lt;typename mpl::deref&lt;T##N&gt;::type*&gt;(&amp;bits));</span>
+<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="preprocessor">#define GIL_FWD_CONST_CASE(z, N, SUM) case N: return op(*gil_reinterpret_cast_c&lt;const typename mpl::deref&lt;T##N&gt;::type*&gt;(&amp;bits));</span>
+<a name="l00071"></a>00071 <span class="preprocessor"></span>
+<a name="l00072"></a>00072 <span class="preprocessor">#define GIL_APPLY_FWD_OP(z, N, text) \</span>
+<a name="l00073"></a>00073 <span class="preprocessor"> template &lt;&gt; struct apply_operation_fwd_fn&lt;BOOST_PP_ADD(N,1)&gt; { \</span>
+<a name="l00074"></a>00074 <span class="preprocessor"> template &lt;typename Types, typename Bits, typename UnaryOp&gt; \</span>
+<a name="l00075"></a>00075 <span class="preprocessor"> typename UnaryOp::result_type apply(Bits&amp; bits, std::size_t index, UnaryOp op) const { \</span>
+<a name="l00076"></a>00076 <span class="preprocessor"> typedef typename mpl::begin&lt;Types&gt;::type \</span>
+<a name="l00077"></a>00077 <span class="preprocessor"> BOOST_PP_REPEAT(N, GIL_FWD_TYPEDEFS, BOOST_PP_EMPTY) \</span>
+<a name="l00078"></a>00078 <span class="preprocessor"> T##N; \</span>
+<a name="l00079"></a>00079 <span class="preprocessor"> switch (index) { \</span>
+<a name="l00080"></a>00080 <span class="preprocessor"> BOOST_PP_REPEAT(BOOST_PP_ADD(N,1), GIL_FWD_CASE, BOOST_PP_EMPTY) \</span>
+<a name="l00081"></a>00081 <span class="preprocessor"> } \</span>
+<a name="l00082"></a>00082 <span class="preprocessor"> throw; \</span>
+<a name="l00083"></a>00083 <span class="preprocessor"> } \</span>
+<a name="l00084"></a>00084 <span class="preprocessor"> template &lt;typename Types, typename Bits, typename UnaryOp&gt; \</span>
+<a name="l00085"></a>00085 <span class="preprocessor"> typename UnaryOp::result_type applyc(const Bits&amp; bits, std::size_t index, UnaryOp op) const { \</span>
+<a name="l00086"></a>00086 <span class="preprocessor"> typedef typename mpl::begin&lt;Types&gt;::type \</span>
+<a name="l00087"></a>00087 <span class="preprocessor"> BOOST_PP_REPEAT(N, GIL_FWD_TYPEDEFS, BOOST_PP_EMPTY) \</span>
+<a name="l00088"></a>00088 <span class="preprocessor"> T##N; \</span>
+<a name="l00089"></a>00089 <span class="preprocessor"> switch (index) { \</span>
+<a name="l00090"></a>00090 <span class="preprocessor"> BOOST_PP_REPEAT(BOOST_PP_ADD(N,1), GIL_FWD_CONST_CASE,BOOST_PP_EMPTY) \</span>
+<a name="l00091"></a>00091 <span class="preprocessor"> } \</span>
+<a name="l00092"></a>00092 <span class="preprocessor"> throw; \</span>
+<a name="l00093"></a>00093 <span class="preprocessor"> } \</span>
+<a name="l00094"></a>00094 <span class="preprocessor"> };</span>
+<a name="l00095"></a>00095 <span class="preprocessor"></span>
+<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="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="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="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="l00115"></a>00115 }
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <span class="keyword">namespace </span>detail {
+<a name="l00118"></a>00118 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T2, <span class="keyword">typename</span> Op&gt;
+<a name="l00119"></a>00119 <span class="keyword">struct </span>reduce_bind1 {
+<a name="l00120"></a>00120 <span class="keyword">const</span> T2&amp; _t2;
+<a name="l00121"></a>00121 <span class="keyword">mutable</span> Op&amp; _op;
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 <span class="keyword">typedef</span> <span class="keyword">typename</span> Op::result_type result_type;
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 reduce_bind1(<span class="keyword">const</span> T2&amp; t2, Op&amp; op) : _t2(t2), _op(op) {}
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T1&gt; GIL_FORCEINLINE result_type operator()(<span class="keyword">const</span> T1&amp; t1) { <span class="keywordflow">return</span> _op(t1, _t2); }
+<a name="l00128"></a>00128 };
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types1, <span class="keyword">typename</span> Bits1, <span class="keyword">typename</span> Op&gt;
+<a name="l00131"></a>00131 <span class="keyword">struct </span>reduce_bind2 {
+<a name="l00132"></a>00132 <span class="keyword">const</span> Bits1&amp; _bits1;
+<a name="l00133"></a>00133 std::size_t _index1;
+<a name="l00134"></a>00134 <span class="keyword">mutable</span> Op&amp; _op;
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <span class="keyword">typedef</span> <span class="keyword">typename</span> Op::result_type result_type;
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 reduce_bind2(<span class="keyword">const</span> Bits1&amp; bits1, std::size_t index1, Op&amp; op) : _bits1(bits1), _index1(index1), _op(op) {}
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T2&gt; GIL_FORCEINLINE result_type operator()(<span class="keyword">const</span> T2&amp; t2) {
+<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="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;
+<a name="l00148"></a>00148 <span class="keyword">static</span> <span class="keyword">typename</span> Op::result_type GIL_FORCEINLINE apply_operation_base(<span class="keyword">const</span> Bits1&amp; bits1, std::size_t index1, <span class="keyword">const</span> Bits2&amp; bits2, std::size_t index2, Op op) {
+<a name="l00149"></a>00149 <span class="keywordflow">return</span> apply_operation_basec&lt;Types2&gt;(bits2,index2,detail::reduce_bind2&lt;Types1,Bits1,Op&gt;(bits1,index1,op));
+<a name="l00150"></a>00150 }
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 <span class="preprocessor">#undef GIL_FWD_TYPEDEFS</span>
+<a name="l00153"></a>00153 <span class="preprocessor"></span><span class="preprocessor">#undef GIL_FWD_CASE</span>
+<a name="l00154"></a>00154 <span class="preprocessor"></span><span class="preprocessor">#undef GIL_FWD_CONST_CASE</span>
+<a name="l00155"></a>00155 <span class="preprocessor"></span><span class="preprocessor">#undef GIL_APPLY_FWD_OP</span>
+<a name="l00156"></a>00156 <span class="preprocessor"></span><span class="preprocessor">#undef GIL_GENERATE_APPLY_FWD_OPS</span>
+<a name="l00157"></a>00157 <span class="preprocessor"></span><span class="preprocessor">#undef BHS</span>
+<a name="l00158"></a>00158 <span class="preprocessor"></span>
+<a name="l00159"></a>00159 } } <span class="comment">// namespace boost::gil</span>
+<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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0008.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0008.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,154 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<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>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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>
+ Adobe Systems Incorporated </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2005-2006 <br>
+ Last updated on May 4, 2006</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 &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>
+<code>#include &lt;boost/mpl/size.hpp&gt;</code><br>
+<code>#include &lt;boost/preprocessor/repeat.hpp&gt;</code><br>
+
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
+
+<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 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)" -->
+#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)" -->
+#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)" -->
+#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)" -->
+#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)" -->
+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="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)" -->
+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="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)" -->
+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>
+
+</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">
+ <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>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<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; { \
+ <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types, <span class="keyword">typename</span> Bits, <span class="keyword">typename</span> UnaryOp&gt; \
+ <span class="keyword">typename</span> UnaryOp::result_type apply(Bits&amp; bits, std::size_t index, UnaryOp op)<span class="keyword"> const </span>{ \
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> mpl::begin&lt;Types&gt;::type \
+ BOOST_PP_REPEAT(N, GIL_FWD_TYPEDEFS, BOOST_PP_EMPTY) \
+ T##N; \
+ <span class="keywordflow">switch</span> (index) { \
+ BOOST_PP_REPEAT(BOOST_PP_ADD(N,1), GIL_FWD_CASE, BOOST_PP_EMPTY) \
+ } \
+ <span class="keywordflow">throw</span>; \
+ } \
+ <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Types, <span class="keyword">typename</span> Bits, <span class="keyword">typename</span> UnaryOp&gt; \
+ <span class="keyword">typename</span> UnaryOp::result_type applyc(<span class="keyword">const</span> Bits&amp; bits, std::size_t index, UnaryOp op)<span class="keyword"> const </span>{ \
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> mpl::begin&lt;Types&gt;::type \
+ BOOST_PP_REPEAT(N, GIL_FWD_TYPEDEFS, BOOST_PP_EMPTY) \
+ T##N; \
+ <span class="keywordflow">switch</span> (index) { \
+ BOOST_PP_REPEAT(BOOST_PP_ADD(N,1), GIL_FWD_CONST_CASE,BOOST_PP_EMPTY) \
+ } \
+ <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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0009.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0009.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,94 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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++)
+ {
+ <span class="keywordflow">for</span> (<span class="keywordtype">int</span> c=0; c&lt;cols; c++)
+ {
+ <span class="keywordtype">int</span> v=RGBToGray(r[c],g[c],b[c]);
+ (*hist)[v]++;
+ }
+ r+=sRowBytes;
+ g+=sRowBytes;
+ b+=sRowBytes;
+ }
+}
+</pre></div><p>
+<ul>
+<li>Works only for RGB (duplicate versions exist for other color spaces)</li><li>Works only for 8-bit images (duplicate versions exist)</li><li>Works only for planar images</li></ul>
+<p>
+Histogram using GIL:<p>
+<div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> GrayView, <span class="keyword">typename</span> R&gt;
+<span class="keywordtype">void</span> grayimage_histogram(GrayView&amp; img, R&amp; hist) {
+ <span class="keywordflow">for</span> (<span class="keyword">typename</span> GrayView::iterator it=img.begin(); it!=img.end(); ++it)
+ ++hist[*it];
+}
+
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> View, <span class="keyword">typename</span> R&gt;
+<span class="keywordtype">void</span> luminosity8bit_hist(View&amp; img, R&amp; hist)
+{
+ grayimage_histogram(color_converted_view&lt;gray8_pixel_t&gt;(img),hist);
+}
+</pre></div><p>
+using <code>boost::lambda</code> the GIL version can be written even simpler: <div class="fragment"><pre class="fragment"><span class="keyword">using</span> boost::lambda;
+
+<span class="keyword">template</span> &lt;<span class="keyword">typename</span> GrayView, <span class="keyword">typename</span> R&gt;
+<span class="keywordtype">void</span> grayimage_histogram(GrayView&amp; img, R&amp; hist)
+{
+ for_each_pixel(img, ++var(hist)[_1]);
+}
+</pre></div><p>
+The GIL version:<ul>
+<li>Works with any supported channel depth, color space, channel ordering (RGB vs BGR), and row alignment policy.</li><li>Works for both planar and interleaved images.</li><li>Works with new color spaces, channel depths and image types that can be provided in future extensions of GIL</li><li>The second version is as efficient as the hand-coded version</li></ul>
+<p>
+It is also very flexible. For example, to compute the histogram of the second channel of the top left quadrant of the image, taking every other row and column, call:<p>
+<div class="fragment"><pre class="fragment">grayimage_histogram(
+ nth_channel_view(
+ subsampled_view(
+ subimage_view(img, 0,0, img.width()/2,img.height()/2), <span class="comment">// upper left quadrant</span>
+ 2, 2 <span class="comment">// skip every other row and column</span>
+ ),
+ 1 <span class="comment">// index of the second channel (for example, green for RGB)</span>
+ ),
+ 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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0010.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0010.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,204 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<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>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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>
+<a name="l00004"></a>00004 <span class="comment"> Use, modification and distribution are subject to the Boost Software License,</span>
+<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="l00009"></a>00009 <span class="comment">*/</span>
+<a name="l00010"></a>00010
+<a name="l00011"></a>00011 <span class="comment">/*************************************************************************************************/</span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#ifndef GIL_BIT_ALIGNED_PIXEL_ITERATOR_HPP</span>
+<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define GIL_BIT_ALIGNED_PIXEL_ITERATOR_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 &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 href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0011.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0011.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,97 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<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>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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>
+ Adobe Systems Incorporated </dd></dl>
+<dl 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_0012.html">bit_aligned_pixel_reference.hpp</a>&quot;</code><br>
+
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
+
+<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 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="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 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;)" -->
+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="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)" -->
+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="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)" -->
+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="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)" -->
+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="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)" -->
+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="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)" -->
+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>
+
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:18 2007 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>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0012.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0012.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,293 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<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>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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>
+<a name="l00004"></a>00004 <span class="comment"> Use, modification and distribution are subject to the Boost Software License,</span>
+<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="l00009"></a>00009 <span class="comment">*/</span>
+<a name="l00010"></a>00010
+<a name="l00011"></a>00011 <span class="comment">/*************************************************************************************************/</span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#ifndef GIL_BIT_ALIGNED_PIXEL_REFERENCE_HPP</span>
+<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define GIL_BIT_ALIGNED_PIXEL_REFERENCE_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 &lt;functional&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;boost/mpl/accumulate.hpp&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;boost/mpl/at.hpp&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;boost/mpl/bool.hpp&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
+<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="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
+<a name="l00040"></a>00040 <span class="comment">// bit_range</span>
+<a name="l00041"></a>00041 <span class="comment">//</span>
+<a name="l00042"></a>00042 <span class="comment">// Represents a range of bits that can span multiple consecutive bytes. The range has a size fixed at compile time, but the offset is specified at run time.</span>
+<a name="l00044"></a>00044 <span class="comment"></span>
+<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> RangeSize, <span class="keywordtype">bool</span> Mutable&gt;
+<a name="l00046"></a>00046 <span class="keyword">class </span>bit_range {
+<a name="l00047"></a>00047 <span class="keyword">public</span>:
+<a name="l00048"></a>00048 <span class="keyword">typedef</span> <span class="keyword">typename</span> mpl::if_c&lt;Mutable,unsigned char,const unsigned char&gt;::type byte_t;
+<a name="l00049"></a>00049 <span class="keyword">typedef</span> std::ptrdiff_t difference_type;
+<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> RS, <span class="keywordtype">bool</span> M&gt; <span class="keyword">friend</span> <span class="keyword">class </span>bit_range;
+<a name="l00051"></a>00051 <span class="keyword">private</span>:
+<a name="l00052"></a>00052 byte_t* _current_byte; <span class="comment">// the starting byte of the bit range</span>
+<a name="l00053"></a>00053 <span class="keywordtype">int</span> _bit_offset; <span class="comment">// offset from the beginning of the current byte. 0&lt;=_bit_offset&lt;=7</span>
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">public</span>:
+<a name="l00056"></a>00056 bit_range() : _current_byte(NULL), _bit_offset(0) {}
+<a name="l00057"></a>00057 bit_range(byte_t* current_byte, <span class="keywordtype">int</span> bit_offset) : _current_byte(current_byte), _bit_offset(bit_offset) { assert(bit_offset&gt;=0 &amp;&amp; bit_offset&lt;8); }
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 bit_range(<span class="keyword">const</span> bit_range&amp; br) : _current_byte(br._current_byte), _bit_offset(br._bit_offset) {}
+<a name="l00060"></a>00060 <span class="keyword">template</span> &lt;<span class="keywordtype">bool</span> M&gt; bit_range(<span class="keyword">const</span> bit_range&lt;RangeSize,M&gt;&amp; br) : _current_byte(br._current_byte), _bit_offset(br._bit_offset) {}
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 bit_range&amp; operator=(<span class="keyword">const</span> bit_range&amp; br) { _current_byte = br._current_byte; _bit_offset=br._bit_offset; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00063"></a>00063 <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> bit_range&amp; br)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _current_byte==br._current_byte &amp;&amp; _bit_offset==br._bit_offset; }
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 bit_range&amp; operator++() {
+<a name="l00066"></a>00066 _current_byte += (_bit_offset+RangeSize) / 8;
+<a name="l00067"></a>00067 _bit_offset = (_bit_offset+RangeSize) % 8;
+<a name="l00068"></a>00068 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070 bit_range&amp; operator--() { bit_advance(-RangeSize); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keywordtype">void</span> bit_advance(difference_type num_bits) {
+<a name="l00073"></a>00073 <span class="keywordtype">int</span> new_offset = int(_bit_offset+num_bits);
+<a name="l00074"></a>00074 _current_byte += new_offset / 8;
+<a name="l00075"></a>00075 _bit_offset = new_offset % 8;
+<a name="l00076"></a>00076 <span class="keywordflow">if</span> (_bit_offset&lt;0) {
+<a name="l00077"></a>00077 _bit_offset+=8;
+<a name="l00078"></a>00078 --_current_byte;
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081 difference_type bit_distance_to(<span class="keyword">const</span> bit_range&amp; b)<span class="keyword"> const </span>{
+<a name="l00082"></a>00082 <span class="keywordflow">return</span> (b.current_byte() - current_byte())*8 + b.bit_offset()-bit_offset();
+<a name="l00083"></a>00083 }
+<a name="l00084"></a>00084 byte_t* current_byte()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _current_byte; }
+<a name="l00085"></a>00085 <span class="keywordtype">int</span> bit_offset()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _bit_offset; }
+<a name="l00086"></a>00086 };
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088
+<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="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="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="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="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 href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0013.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0013.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,102 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<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>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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>
+ Adobe Systems Incorporated </dd></dl>
+<dl 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/mpl/accumulate.hpp&gt;</code><br>
+<code>#include &lt;boost/mpl/at.hpp&gt;</code><br>
+<code>#include &lt;boost/mpl/bool.hpp&gt;</code><br>
+<code>#include &lt;boost/mpl/if.hpp&gt;</code><br>
+<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_0014.html">channel.hpp</a>&quot;</code><br>
+
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
+
+<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 class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>boost::gil::detail</b></td></tr>
+
+<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="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"><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 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>
+
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Nov 8 21:53:18 2007 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>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0014.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0014.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,484 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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>
+<a name="l00004"></a>00004 <span class="comment"> Use, modification and distribution are subject to the Boost Software License,</span>
+<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="l00009"></a>00009 <span class="comment">*/</span>
+<a name="l00010"></a>00010
+<a name="l00011"></a>00011 <span class="comment">/*************************************************************************************************/</span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#ifndef GIL_CHANNEL_HPP</span>
+<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define GIL_CHANNEL_HPP</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span>
+<a name="l00026"></a>00026
+<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="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
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keyword">namespace </span>detail {
+<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keywordtype">bool</span> is_<span class="keyword">class</span>&gt; <span class="keyword">struct </span>channel_traits_impl;
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="comment">// channel traits for custom class</span>
+<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00056"></a>00056 <span class="keyword">struct </span>channel_traits_impl&lt;T, true&gt; {
+<a name="l00057"></a>00057 <span class="keyword">typedef</span> <span class="keyword">typename</span> T::value_type value_type;
+<a name="l00058"></a>00058 <span class="keyword">typedef</span> <span class="keyword">typename</span> T::reference reference;
+<a name="l00059"></a>00059 <span class="keyword">typedef</span> <span class="keyword">typename</span> T::pointer pointer;
+<a name="l00060"></a>00060 <span class="keyword">typedef</span> <span class="keyword">typename</span> T::const_reference const_reference;
+<a name="l00061"></a>00061 <span class="keyword">typedef</span> <span class="keyword">typename</span> T::const_pointer const_pointer;
+<a name="l00062"></a>00062 BOOST_STATIC_CONSTANT(<span class="keywordtype">bool</span>, is_mutable=T::is_mutable);
+<a name="l00063"></a>00063 <span class="keyword">static</span> value_type min_value() { <span class="keywordflow">return</span> T::min_value(); }
+<a name="l00064"></a>00064 <span class="keyword">static</span> value_type max_value() { <span class="keywordflow">return</span> T::max_value(); }
+<a name="l00065"></a>00065 };
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="comment">// channel traits implementation for built-in integral or floating point channel type</span>
+<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00069"></a>00069 <span class="keyword">struct </span>channel_traits_impl&lt;T, false&gt; {
+<a name="l00070"></a>00070 <span class="keyword">typedef</span> T value_type;
+<a name="l00071"></a>00071 <span class="keyword">typedef</span> T&amp; reference;
+<a name="l00072"></a>00072 <span class="keyword">typedef</span> T* pointer;
+<a name="l00073"></a>00073 <span class="keyword">typedef</span> <span class="keyword">const</span> T&amp; const_reference;
+<a name="l00074"></a>00074 <span class="keyword">typedef</span> T <span class="keyword">const</span>* const_pointer;
+<a name="l00075"></a>00075 BOOST_STATIC_CONSTANT(<span class="keywordtype">bool</span>, is_mutable=<span class="keyword">true</span>);
+<a name="l00076"></a>00076 <span class="keyword">static</span> value_type min_value() { <span class="keywordflow">return</span> (std::numeric_limits&lt;T&gt;::min)(); }
+<a name="l00077"></a>00077 <span class="keyword">static</span> value_type max_value() { <span class="keywordflow">return</span> (std::numeric_limits&lt;T&gt;::max)(); }
+<a name="l00078"></a>00078 };
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="comment">// channel traits implementation for constant built-in scalar or floating point type</span>
+<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00082"></a>00082 <span class="keyword">struct </span>channel_traits_impl&lt;const T, false&gt; : <span class="keyword">public</span> channel_traits_impl&lt;T, false&gt; {
+<a name="l00083"></a>00083 <span class="keyword">typedef</span> <span class="keyword">const</span> T&amp; reference;
+<a name="l00084"></a>00084 <span class="keyword">typedef</span> <span class="keyword">const</span> T* pointer;
+<a name="l00085"></a>00085 BOOST_STATIC_CONSTANT(<span class="keywordtype">bool</span>, is_mutable=<span class="keyword">false</span>);
+<a name="l00086"></a>00086 };
+<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="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="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; {
+<a name="l00115"></a>00115 <span class="keyword">typedef</span> <span class="keyword">typename</span> channel_traits&lt;T&gt;::const_reference reference;
+<a name="l00116"></a>00116 <span class="keyword">typedef</span> <span class="keyword">typename</span> channel_traits&lt;T&gt;::const_pointer pointer;
+<a name="l00117"></a>00117 BOOST_STATIC_CONSTANT(<span class="keywordtype">bool</span>, is_mutable=<span class="keyword">false</span>);
+<a name="l00118"></a>00118 };
+<a name="l00119"></a>00119
+<a name="l00125"></a>00125
+<a name="l00146"></a>00146
+<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="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="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="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="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="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="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="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;
+<a name="l00180"></a>00180 };
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182 <span class="keyword">struct </span>float_zero { <span class="keyword">static</span> <span class="keywordtype">float</span> apply() { <span class="keywordflow">return</span> 0.0f; } };
+<a name="l00183"></a>00183 <span class="keyword">struct </span>float_one { <span class="keyword">static</span> <span class="keywordtype">float</span> apply() { <span class="keywordflow">return</span> 1.0f; } };
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 <span class="comment">// It is necessary for packed channels to have their own value type. They cannot simply use an integral large enough to store the data. Here is why:</span>
+<a name="l00193"></a>00193 <span class="comment">// - Any operation that requires returning the result by value will otherwise return the built-in integral type, which will have incorrect range</span>
+<a name="l00194"></a>00194 <span class="comment">// That means that after getting the value of the channel we cannot properly do channel_convert, channel_invert, etc.</span>
+<a name="l00195"></a>00195 <span class="comment">// - Two channels are declared compatible if they have the same value type. That means that a packed channel is incorrectly declared compatible with an integral type</span>
+<a name="l00196"></a>00196 <span class="keyword">namespace </span>detail {
+<a name="l00197"></a>00197 <span class="comment">// returns the smallest fast unsigned integral type that has at least NumBits bits</span>
+<a name="l00198"></a>00198 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> NumBits&gt;
+<a name="l00199"></a>00199 <span class="keyword">struct </span>min_fast_uint : <span class="keyword">public</span> mpl::if_c&lt; (NumBits&lt;=8),
+<a name="l00200"></a>00200 uint_least8_t,
+<a name="l00201"></a>00201 typename mpl::if_c&lt; (NumBits&lt;=16),
+<a name="l00202"></a>00202 uint_least16_t,
+<a name="l00203"></a>00203 typename mpl::if_c&lt; (NumBits&lt;=32),
+<a name="l00204"></a>00204 uint_least32_t,
+<a name="l00205"></a>00205 uintmax_t
+<a name="l00206"></a>00206 &gt;::type
+<a name="l00207"></a>00207 &gt;::type
+<a name="l00208"></a>00208 &gt; {};
+<a name="l00209"></a>00209 }
+<a name="l00210"></a>00210
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228
+<a name="l00229"></a>00229 template &lt;int NumBits&gt;
+<a name="l00230"></a><a class="code" href="g_i_l_0052.html">00230</a> class packed_channel_value {
+<a name="l00231"></a>00231 static const std::size_t num_values = 1&lt;&lt;NumBits;
+<a name="l00232"></a>00232 public:
+<a name="l00233"></a>00233 typedef typename detail::min_fast_uint&lt;NumBits&gt;::type integer_t;
+<a name="l00234"></a>00234
+<a name="l00235"></a>00235 typedef packed_channel_value value_type;
+<a name="l00236"></a>00236 typedef value_type&amp; reference;
+<a name="l00237"></a>00237 typedef const value_type&amp; const_reference;
+<a name="l00238"></a>00238 typedef value_type* pointer;
+<a name="l00239"></a>00239 typedef const value_type* const_pointer;
+<a name="l00240"></a>00240
+<a name="l00241"></a>00241 static value_type min_value() { return value_type(0); }
+<a name="l00242"></a>00242 static value_type max_value() { return value_type(num_values-1); }
+<a name="l00243"></a>00243 BOOST_STATIC_CONSTANT(bool, is_mutable=true);
+<a name="l00244"></a>00244
+<a name="l00245"></a>00245 packed_channel_value() {}
+<a name="l00246"></a>00246 packed_channel_value(integer_t v) : _value(v % num_values) {}
+<a name="l00247"></a>00247 packed_channel_value(const packed_channel_value&amp; v) : _value(v._value) {}
+<a name="l00248"></a>00248 template &lt;typename Scalar&gt; packed_channel_value(Scalar v) : _value(integer_t(v) % num_values) {} <span class="comment">// suppress GCC implicit conversion warnings in channel regression file </span>
+<a name="l00249"></a>00249
+<a name="l00250"></a>00250 operator integer_t() const { return _value; }
+<a name="l00251"></a>00251 private:
+<a name="l00252"></a>00252 integer_t _value;
+<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="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="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="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="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="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="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="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="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="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="l00552"></a>00552
+<a name="l00554"></a>00554 <span class="keyword">typedef</span> uint8_t bits8;
+<a name="l00555"></a>00555
+<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="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="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 href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0015.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0015.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,402 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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>
+<a name="l00004"></a>00004 <span class="comment"> Use, modification and distribution are subject to the Boost Software License,</span>
+<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="l00009"></a>00009 <span class="comment">*/</span>
+<a name="l00010"></a>00010 <span class="comment">/*************************************************************************************************/</span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#ifndef GIL_CHANNEL_ALGORITHM_HPP</span>
+<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="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>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</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
+<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="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>
+<a name="l00043"></a>00043 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> SrcChannelV, <span class="keyword">typename</span> DstChannelV, <span class="keywordtype">bool</span> SrcIsIntegral, <span class="keywordtype">bool</span> DstIsIntegral&gt; <span class="keyword">struct </span>channel_converter_unsigned_impl;
+<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> SrcChannelV, <span class="keyword">typename</span> DstChannelV, <span class="keywordtype">bool</span> SrcIsGreater&gt; <span class="keyword">struct </span>channel_converter_unsigned_integral;
+<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> SrcChannelV, <span class="keyword">typename</span> DstChannelV, <span class="keywordtype">bool</span> SrcLessThanDst, <span class="keywordtype">bool</span> SrcDivisible&gt; <span class="keyword">struct </span>channel_converter_unsigned_integral_impl;
+<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> SrcChannelV, <span class="keyword">typename</span> DstChannelV, <span class="keywordtype">bool</span> SrcLessThanDst, <span class="keywordtype">bool</span> CannotFitInInteger&gt; <span class="keyword">struct </span>channel_converter_unsigned_integral_nondivisible;
+<a name="l00047"></a>00047
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Un<span class="keywordtype">signed</span>IntegralChannel&gt;
+<a name="l00054"></a>00054 <span class="keyword">struct </span>unsigned_integral_max_value : <span class="keyword">public</span> mpl::integral_c&lt;UnsignedIntegralChannel,-1&gt; {};
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;&gt;
+<a name="l00057"></a>00057 <span class="keyword">struct </span>unsigned_integral_max_value&lt;uint8_t&gt; : <span class="keyword">public</span> mpl::integral_c&lt;uint32_t,0xFF&gt; {};
+<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;&gt;
+<a name="l00059"></a>00059 <span class="keyword">struct </span>unsigned_integral_max_value&lt;uint16_t&gt; : <span class="keyword">public</span> mpl::integral_c&lt;uint32_t,0xFFFF&gt; {};
+<a name="l00060"></a>00060 <span class="keyword">template</span> &lt;&gt;
+<a name="l00061"></a>00061 <span class="keyword">struct </span>unsigned_integral_max_value&lt;uint32_t&gt; : <span class="keyword">public</span> mpl::integral_c&lt;uintmax_t,0xFFFFFFFF&gt; {};
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> K&gt;
+<a name="l00065"></a>00065 <span class="keyword">struct </span>unsigned_integral_max_value&lt;packed_channel_value&lt;K&gt; &gt;
+<a name="l00066"></a>00066 : <span class="keyword">public</span> mpl::integral_c&lt;typename packed_channel_value&lt;K&gt;::integer_t, (1&lt;&lt;K)-1&gt; {};
+<a name="l00067"></a>00067
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 template &lt;typename UnsignedIntegralChannel&gt;
+<a name="l00073"></a>00073 struct unsigned_integral_num_bits : public mpl::int_&lt;sizeof(UnsignedIntegralChannel)*8&gt; {};
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 template &lt;int K&gt;
+<a name="l00076"></a>00076 struct unsigned_integral_num_bits&lt;packed_channel_value&lt;K&gt; &gt;
+<a name="l00077"></a>00077 : public mpl::int_&lt;K&gt; {};
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 } <span class="comment">// namespace detail</span>
+<a name="l00080"></a>00080
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 template &lt;typename SrcChannelV, typename DstChannelV&gt; <span class="comment">// Model ChannelValueConcept</span>
+<a name="l00119"></a>00119 struct channel_converter_unsigned
+<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="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="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;());
+<a name="l00139"></a>00139 }
+<a name="l00140"></a>00140 private:
+<a name="l00141"></a>00141 template &lt;typename C&gt;
+<a name="l00142"></a>00142 static double channel_range() {
+<a name="l00143"></a>00143 return double(channel_traits&lt;C&gt;::max_value()) - double(channel_traits&lt;C&gt;::min_value());
+<a name="l00144"></a>00144 }
+<a name="l00145"></a>00145 };
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147 <span class="comment">// When both the source and the destination are integral channels, perform a faster conversion</span>
+<a name="l00148"></a>00148 template &lt;typename SrcChannelV, typename DstChannelV&gt;
+<a name="l00149"></a>00149 struct channel_converter_unsigned_impl&lt;SrcChannelV,DstChannelV,true,true&gt;
+<a name="l00150"></a>00150 : public channel_converter_unsigned_integral&lt;SrcChannelV,DstChannelV,
+<a name="l00151"></a>00151 mpl::less&lt;unsigned_integral_max_value&lt;SrcChannelV&gt;,unsigned_integral_max_value&lt;DstChannelV&gt; &gt;::value &gt; {};
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 template &lt;typename SrcChannelV, typename DstChannelV&gt;
+<a name="l00159"></a>00159 struct channel_converter_unsigned_integral&lt;SrcChannelV,DstChannelV,true&gt;
+<a name="l00160"></a>00160 : public channel_converter_unsigned_integral_impl&lt;SrcChannelV,DstChannelV,true,
+<a name="l00161"></a>00161 !(unsigned_integral_max_value&lt;DstChannelV&gt;::value % unsigned_integral_max_value&lt;SrcChannelV&gt;::value) &gt; {};
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 template &lt;typename SrcChannelV, typename DstChannelV&gt;
+<a name="l00164"></a>00164 struct channel_converter_unsigned_integral&lt;SrcChannelV,DstChannelV,false&gt;
+<a name="l00165"></a>00165 : public channel_converter_unsigned_integral_impl&lt;SrcChannelV,DstChannelV,false,
+<a name="l00166"></a>00166 !(unsigned_integral_max_value&lt;SrcChannelV&gt;::value % unsigned_integral_max_value&lt;DstChannelV&gt;::value) &gt; {};
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <span class="comment">// Both source and destination are unsigned integral channels, </span>
+<a name="l00174"></a>00174 <span class="comment">// the src max value is less than the dst max value,</span>
+<a name="l00175"></a>00175 <span class="comment">// and the dst max value is divisible by the src max value</span>
+<a name="l00176"></a>00176 template &lt;typename SrcChannelV, typename DstChannelV&gt;
+<a name="l00177"></a>00177 struct channel_converter_unsigned_integral_impl&lt;SrcChannelV,DstChannelV,true,true&gt; {
+<a name="l00178"></a>00178 DstChannelV operator()(SrcChannelV src) const {
+<a name="l00179"></a>00179 typedef typename unsigned_integral_max_value&lt;DstChannelV&gt;::value_type integer_t;
+<a name="l00180"></a>00180 static const integer_t mul = unsigned_integral_max_value&lt;DstChannelV&gt;::value / unsigned_integral_max_value&lt;SrcChannelV&gt;::value;
+<a name="l00181"></a>00181 return DstChannelV(src * mul);
+<a name="l00182"></a>00182 }
+<a name="l00183"></a>00183 };
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 <span class="comment">// Both source and destination are unsigned integral channels, </span>
+<a name="l00186"></a>00186 <span class="comment">// the dst max value is less than (or equal to) the src max value,</span>
+<a name="l00187"></a>00187 <span class="comment">// and the src max value is divisible by the dst max value</span>
+<a name="l00188"></a>00188 template &lt;typename SrcChannelV, typename DstChannelV&gt;
+<a name="l00189"></a>00189 struct channel_converter_unsigned_integral_impl&lt;SrcChannelV,DstChannelV,false,true&gt; {
+<a name="l00190"></a>00190 DstChannelV operator()(SrcChannelV src) const {
+<a name="l00191"></a>00191 typedef typename unsigned_integral_max_value&lt;SrcChannelV&gt;::value_type integer_t;
+<a name="l00192"></a>00192 static const integer_t div = unsigned_integral_max_value&lt;SrcChannelV&gt;::value / unsigned_integral_max_value&lt;DstChannelV&gt;::value;
+<a name="l00193"></a>00193 static const integer_t div2 = div/2;
+<a name="l00194"></a>00194 return DstChannelV((src + div2) / div);
+<a name="l00195"></a>00195 }
+<a name="l00196"></a>00196 };
+<a name="l00197"></a>00197
+<a name="l00198"></a>00198 <span class="comment">// Prevent overflow for the largest integral type</span>
+<a name="l00199"></a>00199 template &lt;typename DstChannelV&gt;
+<a name="l00200"></a>00200 struct channel_converter_unsigned_integral_impl&lt;uintmax_t,DstChannelV,false,true&gt; {
+<a name="l00201"></a>00201 DstChannelV operator()(uintmax_t src) const {
+<a name="l00202"></a>00202 static const uintmax_t div = unsigned_integral_max_value&lt;bits32&gt;::value / unsigned_integral_max_value&lt;DstChannelV&gt;::value;
+<a name="l00203"></a>00203 static const uintmax_t div2 = div/2;
+<a name="l00204"></a>00204 if (src &gt; unsigned_integral_max_value&lt;uintmax_t&gt;::value - div2)
+<a name="l00205"></a>00205 return unsigned_integral_max_value&lt;DstChannelV&gt;::value;
+<a name="l00206"></a>00206 return DstChannelV((src + div2) / div);
+<a name="l00207"></a>00207 }
+<a name="l00208"></a>00208 };
+<a name="l00209"></a>00209
+<a name="l00210"></a>00210 <span class="comment">// Both source and destination are unsigned integral channels, </span>
+<a name="l00211"></a>00211 <span class="comment">// and the dst max value is not divisible by the src max value</span>
+<a name="l00212"></a>00212 <span class="comment">// See if you can represent the expression (src * dst_max) / src_max in integral form</span>
+<a name="l00213"></a>00213 template &lt;typename SrcChannelV, typename DstChannelV, bool SrcLessThanDst&gt;
+<a name="l00214"></a>00214 struct channel_converter_unsigned_integral_impl&lt;SrcChannelV,DstChannelV,SrcLessThanDst,false&gt;
+<a name="l00215"></a>00215 : public channel_converter_unsigned_integral_nondivisible&lt;SrcChannelV,DstChannelV,SrcLessThanDst,
+<a name="l00216"></a>00216 mpl::greater&lt;
+<a name="l00217"></a>00217 mpl::plus&lt;unsigned_integral_num_bits&lt;SrcChannelV&gt;,unsigned_integral_num_bits&lt;DstChannelV&gt; &gt;,
+<a name="l00218"></a>00218 unsigned_integral_num_bits&lt;uintmax_t&gt;
+<a name="l00219"></a>00219 &gt;::value&gt; {};
+<a name="l00220"></a>00220
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222 <span class="comment">// Both source and destination are unsigned integral channels, </span>
+<a name="l00223"></a>00223 <span class="comment">// the src max value is less than the dst max value,</span>
+<a name="l00224"></a>00224 <span class="comment">// and the dst max value is not divisible by the src max value</span>
+<a name="l00225"></a>00225 <span class="comment">// The expression (src * dst_max) / src_max fits in an integer</span>
+<a name="l00226"></a>00226 template &lt;typename SrcChannelV, typename DstChannelV&gt;
+<a name="l00227"></a>00227 struct channel_converter_unsigned_integral_nondivisible&lt;SrcChannelV,DstChannelV,true,false&gt; {
+<a name="l00228"></a>00228 DstChannelV operator()(SrcChannelV src) const {
+<a name="l00229"></a>00229 typedef typename detail::min_fast_uint&lt;unsigned_integral_num_bits&lt;SrcChannelV&gt;::value+unsigned_integral_num_bits&lt;DstChannelV&gt;::value&gt;::type integer_t;
+<a name="l00230"></a>00230 return DstChannelV(integer_t(src * unsigned_integral_max_value&lt;DstChannelV&gt;::value) / unsigned_integral_max_value&lt;SrcChannelV&gt;::value);
+<a name="l00231"></a>00231 }
+<a name="l00232"></a>00232 };
+<a name="l00233"></a>00233
+<a name="l00234"></a>00234 <span class="comment">// Both source and destination are unsigned integral channels, </span>
+<a name="l00235"></a>00235 <span class="comment">// the src max value is less than the dst max value,</span>
+<a name="l00236"></a>00236 <span class="comment">// and the dst max value is not divisible by the src max value</span>
+<a name="l00237"></a>00237 <span class="comment">// The expression (src * dst_max) / src_max cannot fit in an integer (overflows). Use a double</span>
+<a name="l00238"></a>00238 template &lt;typename SrcChannelV, typename DstChannelV&gt;
+<a name="l00239"></a>00239 struct channel_converter_unsigned_integral_nondivisible&lt;SrcChannelV,DstChannelV,true,true&gt; {
+<a name="l00240"></a>00240 DstChannelV operator()(SrcChannelV src) const {
+<a name="l00241"></a>00241 static const double mul = unsigned_integral_max_value&lt;DstChannelV&gt;::value / double(unsigned_integral_max_value&lt;SrcChannelV&gt;::value);
+<a name="l00242"></a>00242 return DstChannelV(src * mul);
+<a name="l00243"></a>00243 }
+<a name="l00244"></a>00244 };
+<a name="l00245"></a>00245
+<a name="l00246"></a>00246
+<a name="l00247"></a>00247 <span class="comment">// Both source and destination are unsigned integral channels, </span>
+<a name="l00248"></a>00248 <span class="comment">// the dst max value is less than (or equal to) the src max value,</span>
+<a name="l00249"></a>00249 <span class="comment">// and the src max value is not divisible by the dst max value</span>
+<a name="l00250"></a>00250 template &lt;typename SrcChannelV, typename DstChannelV, bool CannotFit&gt;
+<a name="l00251"></a>00251 struct channel_converter_unsigned_integral_nondivisible&lt;SrcChannelV,DstChannelV,false,CannotFit&gt; {
+<a name="l00252"></a>00252 DstChannelV operator()(SrcChannelV src) const {
+<a name="l00253"></a>00253 typedef typename unsigned_integral_max_value&lt;SrcChannelV&gt;::value_type integer_t;
+<a name="l00254"></a>00254
+<a name="l00255"></a>00255 static const double div = unsigned_integral_max_value&lt;SrcChannelV&gt;::value / double(unsigned_integral_max_value&lt;DstChannelV&gt;::value);
+<a name="l00256"></a>00256 static const integer_t div2 = integer_t(div/2);
+<a name="l00257"></a>00257 return DstChannelV((src + div2) / div);
+<a name="l00258"></a>00258 }
+<a name="l00259"></a>00259 };
+<a name="l00260"></a>00260
+<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="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
+<a name="l00271"></a>00271 template &lt;typename SrcChannelV&gt; struct channel_converter_unsigned&lt;SrcChannelV,bits32f&gt; : public std::unary_function&lt;SrcChannelV,bits32f&gt; {
+<a name="l00272"></a>00272 bits32f operator()(SrcChannelV x) const { return bits32f(x/float(channel_traits&lt;SrcChannelV&gt;::max_value())); }
+<a name="l00273"></a>00273 };
+<a name="l00274"></a>00274
+<a name="l00275"></a>00275 template &lt;&gt; struct channel_converter_unsigned&lt;bits32f,bits32f&gt; : public std::unary_function&lt;bits32f,bits32f&gt; {
+<a name="l00276"></a>00276 bits32f operator()(bits32f x) const { return x; }
+<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="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="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="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="l00294"></a>00294 }
+<a name="l00295"></a>00295 };
+<a name="l00296"></a>00296
+<a name="l00298"></a>00298
+<a name="l00299"></a>00299 <span class="keyword">namespace </span>detail {
+<a name="l00300"></a>00300 <span class="comment">// Converting from signed to unsigned integral channel. </span>
+<a name="l00301"></a>00301 <span class="comment">// It is both a unary function, and a metafunction (thus requires the 'type' nested typedef, which equals result_type)</span>
+<a name="l00302"></a>00302 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> ChannelValue&gt; <span class="comment">// Model ChannelValueConcept</span>
+<a name="l00303"></a>00303 <span class="keyword">struct </span>channel_convert_to_unsigned : <span class="keyword">public</span> detail::identity&lt;ChannelValue&gt; {
+<a name="l00304"></a>00304 <span class="keyword">typedef</span> ChannelValue type;
+<a name="l00305"></a>00305 };
+<a name="l00306"></a>00306
+<a name="l00307"></a>00307 <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>channel_convert_to_unsigned&lt;bits8s&gt; : <span class="keyword">public</span> std::unary_function&lt;bits8s,bits8&gt; {
+<a name="l00308"></a>00308 <span class="keyword">typedef</span> bits8 type;
+<a name="l00309"></a>00309 type operator()(bits8s val)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> val+128; }
+<a name="l00310"></a>00310 };
+<a name="l00311"></a>00311
+<a name="l00312"></a>00312 <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>channel_convert_to_unsigned&lt;bits16s&gt; : <span class="keyword">public</span> std::unary_function&lt;bits16s,bits16&gt; {
+<a name="l00313"></a>00313 <span class="keyword">typedef</span> bits16 type;
+<a name="l00314"></a>00314 type operator()(bits16s val)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> val+32768; }
+<a name="l00315"></a>00315 };
+<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="l00320"></a>00320 };
+<a name="l00321"></a>00321
+<a name="l00322"></a>00322
+<a name="l00323"></a>00323 <span class="comment">// Converting from unsigned to signed integral channel</span>
+<a name="l00324"></a>00324 <span class="comment">// It is both a unary function, and a metafunction (thus requires the 'type' nested typedef, which equals result_type)</span>
+<a name="l00325"></a>00325 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> ChannelValue&gt; <span class="comment">// Model ChannelValueConcept</span>
+<a name="l00326"></a>00326 <span class="keyword">struct </span>channel_convert_from_unsigned : <span class="keyword">public</span> detail::identity&lt;ChannelValue&gt; {
+<a name="l00327"></a>00327 <span class="keyword">typedef</span> ChannelValue type;
+<a name="l00328"></a>00328 };
+<a name="l00329"></a>00329
+<a name="l00330"></a>00330 <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>channel_convert_from_unsigned&lt;bits8s&gt; : <span class="keyword">public</span> std::unary_function&lt;bits8,bits8s&gt; {
+<a name="l00331"></a>00331 <span class="keyword">typedef</span> bits8s type;
+<a name="l00332"></a>00332 type operator()(bits8 val)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> val-128; }
+<a name="l00333"></a>00333 };
+<a name="l00334"></a>00334
+<a name="l00335"></a>00335 <span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>channel_convert_from_unsigned&lt;bits16s&gt; : <span class="keyword">public</span> std::unary_function&lt;bits16,bits16s&gt; {
+<a name="l00336"></a>00336 <span class="keyword">typedef</span> bits16s type;
+<a name="l00337"></a>00337 type operator()(bits16 val)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> val-32768; }
+<a name="l00338"></a>00338 };
+<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="l00343"></a>00343 };
+<a name="l00344"></a>00344
+<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="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="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)));
+<a name="l00356"></a>00356 }
+<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="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="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);
+<a name="l00375"></a>00375 }
+<a name="l00376"></a>00376 };
+<a name="l00377"></a>00377
+<a name="l00378"></a>00378 <span class="keyword">namespace </span>detail {
+<a name="l00379"></a>00379 <span class="comment">// fast integer division by 255</span>
+<a name="l00380"></a>00380 <span class="keyword">inline</span> uint32_t div255(uint32_t in) { uint32_t tmp=in+128; <span class="keywordflow">return</span> (tmp + (tmp&gt;&gt;8))&gt;&gt;8; }
+<a name="l00381"></a>00381
+<a name="l00382"></a>00382 <span class="comment">// fast integer divison by 32768</span>
+<a name="l00383"></a>00383 <span class="keyword">inline</span> uint32_t div32768(uint32_t in) { <span class="keywordflow">return</span> (in+16384)&gt;&gt;15; }
+<a name="l00384"></a>00384 }
+<a name="l00385"></a>00385
+<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="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="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="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="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="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="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="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="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="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="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="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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0016.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0016.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,129 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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>
+ Adobe Systems Incorporated </dd></dl>
+<dl 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
+<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_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>
+<code>#include &lt;boost/mpl/greater.hpp&gt;</code><br>
+<code>#include &lt;boost/type_traits.hpp&gt;</code><br>
+
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
+
+<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 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="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">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="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="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_0403.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">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">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">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 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 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">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)" -->
+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="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="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="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga0"></a><!-- doxytag: member="channel_algorithm.hpp::channel_multiply" ref="ga0" 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="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)" -->
+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="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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0017.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0017.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,71 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>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>
+ <tr bgcolor="#f0f0f0"><td><b>any_image</b>() (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>any_image</b>(const T &amp;obj) (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, explicit]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>any_image</b>(T &amp;obj, bool do_swap) (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, explicit]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>any_image</b>(const any_image &amp;v) (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>const_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>current_type_is</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>dimensions</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>has_type</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, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>height</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>move_in</b>(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]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>num_channels</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>operator!=</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> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const T &amp;obj) (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>operator=</b>(const any_image &amp;v) (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>operator=</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>operator==</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> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>point_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>recreate</b>(const point_t &amp;dims, unsigned alignment=1) (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>recreate</b>(x_coord_t width, y_coord_t height, unsigned alignment=1) (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>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>(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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0018.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0018.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,121 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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>
+<p>
+<p>Inheritance diagram for any_image:
+<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>
+List of all members.<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.
+<p>
+<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="w2"></a><!-- doxytag: member="boost::gil::any_image::x_coord_t" ref="w2" 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="" -->
+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="" -->
+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)" -->
+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)" -->
+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)" -->
+&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)" -->
+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)" -->
+<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)" -->
+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)" -->
+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 " -->
+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 " -->
+<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 " -->
+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 " -->
+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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0019.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0019.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,67 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>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>
+ <tr bgcolor="#f0f0f0"><td><b>any_image_view</b>() (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>any_image_view</b>(const T &amp;obj) (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, explicit]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>any_image_view</b>(const any_image_view &amp;v) (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>const_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>current_type_is</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>dimensions</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>has_type</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, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>height</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>move_in</b>(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]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>num_channels</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>operator!=</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> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const T &amp;obj) (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>operator=</b>(const any_image_view &amp;v) (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>operator=</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>operator==</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> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>point_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>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>(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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0020.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0020.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,108 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<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>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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>
+<p>
+<p>Inheritance diagram for any_image_view:
+<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>
+List of all members.<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>;
+<p>
+<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="w1"></a><!-- doxytag: member="boost::gil::any_image_view::x_coord_t" ref="w1" 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="" -->
+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="" -->
+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)" -->
+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)" -->
+&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)" -->
+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)" -->
+<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 " -->
+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 " -->
+<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 " -->
+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 " -->
+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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0021.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0021.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,48 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>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>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>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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0022.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0022.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,71 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<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>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>
+<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>
+<p>
+<p>Inheritance diagram for color_convert_deref_fn:
+<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">
+</map>
+List of all members.<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
+<p>
+<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)" -->
+&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 " -->
+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;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
+</body>
+</html>

Added: trunk/libs/gil/doc/html/g_i_l_0023.html
==============================================================================
--- (empty file)
+++ trunk/libs/gil/doc/html/g_i_l_0023.html 2007-11-14 21:30:13 EST (Wed, 14 Nov 2007)
@@ -0,0 +1,55 @@
+<!--
+ 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)
+
+ Some files are held under additional license.
+ Please see "http://opensource.adobe.com/licenses.html" for more information.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+<head>
+ <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"/>
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </script>
+</head>
+<body>
+<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
+<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
+<div class="qindex"><a class="qindex" href="index.html">Modules</a>
+ | <a class="qindex" href="classes.html">Alphabetical List</a>
+ | <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>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>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&quo