sets module

namespace cauldron
template <typename Element>
class Sets
#include <sets.h>

Strategy which generates std::set instances with sizes and elements generated from corresponding strategies.

Template Parameters
  • Element: type of sets elements generated by strategy.

Inherits from cauldron::CloneHelper< std::set< Element >, Sets< Element > >

Public Functions

Sets(const SizesStrategy &sizes, const ElementsStrategy &elements)

Parameters
  • sizes: strategy to generate sets sizes from.
  • elements: strategy to generate sets elements from.

Sets(const Sets<Element> &sets)

Default copy constructor doesn’t fit since we’re using std::unique_ptr as class members which is not copyable.

std::set<Element> operator()() const

Generates pseudo-random std::set instance.

Private Types

template<>
using SizesStrategy = Strategy<size_t>
template<>
using ElementsStrategy = Strategy<Element>

Private Members

std::unique_ptr<SizesStrategy> sizes_
std::unique_ptr<ElementsStrategy> elements_