2
0
mirror of https://github.com/boostorg/gil.git synced 2026-02-19 02:22:09 +00:00
Files
gil/io/test/cmp_view.hpp
Stefan Seefeld 1f0bc35012 Introduce top-level gil.hpp header. (#70)
Introduce top-level boost/gil.hpp header.
2018-06-27 00:02:27 -04:00

52 lines
1.4 KiB
C++

/*
Copyright 2013 Christian Henning
Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
*/
#ifndef BOOST_GIL_IO_UNIT_TEST_CMP_VIEW_HPP
#define BOOST_GIL_IO_UNIT_TEST_CMP_VIEW_HPP
////////////////////////////////////////////////////////////////////////////////////////
/// \file
/// \brief
/// \author Christian Henning
///
/// \date 2013 \n
///
////////////////////////////////////////////////////////////////////////////////////////
#include <boost/gil.hpp>
template< typename View_1, typename View_2 >
void cmp_view( const View_1& v1
, const View_2& v2
)
{
if( v1.dimensions() != v2.dimensions() )
{
throw std::runtime_error( "Images are not equal." );
}
typename View_1::x_coord_t width = v1.width();
typename View_1::y_coord_t height = v1.height();
for( typename View_1::y_coord_t y = 0; y < height; ++y )
{
const typename View_1::x_iterator src_it = v1.row_begin( y );
const typename View_2::x_iterator dst_it = v2.row_begin( y );
for( typename View_1::x_coord_t x = 0; x < width; ++x )
{
if( *src_it != *dst_it )
{
throw std::runtime_error( "Images are not equal." );
}
}
}
}
#endif // BOOST_GIL_IO_UNIT_TEST_CMP_VIEW_HPP