Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.

Class template grid

boost::unit_test::data::monomorphic::grid — Implements the dataset resulting from a cartesian product/grid operation on datasets.


// In header: <boost/test/data/monomorphic/grid.hpp>

template<typename DataSet1, typename DataSet2> 
class grid {
  // member classes/structs/unions

  struct iterator {
    // types
    typedef decltype(sample_merge(*std::declval< dataset1_iter >(), *std::declval< dataset2_iter >())) iterator_sample;

    // construct/copy/destruct
    explicit iterator(dataset1_iter, DataSet2 const &);

    // public member functions
    auto operator *() const;
    void operator++();

  enum @9 { 
            arity = = boost::decay<DataSet1>::type::arity + boost::decay<DataSet2>::type::arity };
  // construct/copy/destruct
  grid(DataSet1 &&, DataSet2 &&);
  grid(grid &&);

  // public member functions
  data::size_t size() const;
  iterator begin() const;


The arity of the resulting dataset is the sum of the arity of its operands.

grid public construct/copy/destruct

  1. grid(DataSet1 && ds1, DataSet2 && ds2);
  2. grid(grid && j);
    Move constructor.

grid public member functions

  1. data::size_t size() const;
  2. iterator begin() const;