vectors module

namespace cauldron
template <typename Element>
class Vectors
#include <vectors.h>

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

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

Inherits from cauldron::CloneHelper< std::vector< Element >, Vectors< Element > >

Public Functions

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

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

Vectors(const Vectors<Element> &vectors)

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

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

Generates pseudo-random std::vector 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_