...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::unit_test::data::monomorphic::join — Defines a new dataset from the concatenation of two datasets.
// In header: <boost/test/data/monomorphic/join.hpp> template<typename DataSet1, typename DataSet2> class join { public: // types typedef typename std::conditional< std::is_reference< iter1_ret >::value &&std::is_reference< iter2_ret >::value &&std::is_same< iter1_ret, iter2_ret >::value, iter1_ret, typename std::remove_reference< iter1_ret >::type >::type sample_t; // member classes/structs/unions struct iterator { // construct/copy/destruct explicit iterator(dataset1_iter &&, dataset2_iter &&, data::size_t); // public member functions sample_t operator *() const; void operator++(); }; enum @10 { arity = = dataset1_decay::arity }; // construct/copy/destruct join(DataSet1 &&, DataSet2 &&); join(join &&); // public member functions data::size_t size() const; iterator begin() const; };
The size of the resulting dataset is the sum of the two underlying datasets. The arity of the datasets should match.
join
public
construct/copy/destructjoin(DataSet1 && ds1, DataSet2 && ds2);Constructor.
join(join && j);Move constructor.