2
0
mirror of https://github.com/boostorg/gil.git synced 2026-01-30 07:52:09 +00:00
Files
gil/test/algorithm/std_fill.cpp
Mateusz Łoskot 875136885a Fix conflict with std::fill_n and boost::range::fill_n (Trac 7189)
Add minimal test for the std::fill and boost::array or std::array as
pixel type.
2018-10-12 18:34:28 +02:00

38 lines
973 B
C++

//
// Copyright 2018 Mateusz Loskot <mateusz at loskot dot net>
//
// Distributed under the Boost Software License, Version 1.0
// See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt
//
#include <boost/gil/algorithm.hpp>
#include <boost/gil/image.hpp>
#include <boost/gil/image_view.hpp>
#include <boost/array.hpp>
#include <boost/core/lightweight_test.hpp>
#include <boost/range/algorithm/fill_n.hpp>
#include <array>
#include <cstdint>
namespace gil = boost::gil;
template <typename ArrayPixel>
void test_array_as_range()
{
static_assert(ArrayPixel().size() == 2, "two-element array expected");
gil::image<ArrayPixel> img(1, 1);
std::fill(gil::view(img).begin(), gil::view(img).end(), ArrayPixel{0, 1});
BOOST_TEST(*gil::view(img).at(0,0) == (ArrayPixel{0, 1}));
}
int main()
{
test_array_as_range<boost::array<int, 2>>();
test_array_as_range<std::array<int, 2>>();
return boost::report_errors();
}