28 struct DerivedDummy : Dummy
33 std::vector<DerivedDummy> ddvec;
34 for (
int i = 0; i < 3; ++i)
35 ddvec.push_back(DerivedDummy());
37 auto bdum = makeRefVector<Dummy>(ddvec);
38 auto bdum2 = makeRefVector<Dummy>(ddvec);
41 auto bdum3 = makeRefVector<decltype(ddvec)::value_type>(ddvec);
44 TEST_CASE(
"convertUPtrToRefvector",
"[type_traits]")
52 struct DerivedDummy :
public Dummy
54 DerivedDummy() :
e(0) {}
64 for (
int i = 0; i < 3; ++i)
65 uvec.emplace_back(std::make_unique<Dummy>());
69 CHECK(std::is_same_v<decltype(rdum), decltype(rdum2)>);
72 ddv.emplace_back(std::make_unique<DerivedDummy>());
73 ddv.emplace_back(std::make_unique<DerivedDummy>());
76 auto d_ref_vec = convertUPtrToRefVector<Dummy>(ddv);
78 CHECK(!std::is_same_v<decltype(d_ref_vec), decltype(dd_ref_vec)>);
84 TEST_CASE(
"convertPtrToRefvectorSubset",
"[type_traits]")
88 Dummy2(
int j) : i(j) {}
92 std::vector<Dummy2*> pvec;
93 for (
int i = 0; i < 5; ++i)
94 pvec.push_back(
new Dummy2(i));
98 CHECK(rdum.size() == 4);
99 CHECK(rdum[0].
get().i == 1);
101 for (
int i = 0; i < 5; ++i)
helper functions for EinsplineSetBuilder
static RefVector< T > convertPtrToRefVectorSubset(const std::vector< T *> &ptr_list, int offset, int len)
TEST_CASE("complex_helper", "[type_traits]")
bool is_same(const xmlChar *a, const char *b)
std::vector< std::unique_ptr< T > > UPtrVector
static RefVector< T > convertUPtrToRefVector(const UPtrVector< T > &ptr_list)
convert a vector of std::unique_ptrs<T> to a refvector<T>
std::vector< std::reference_wrapper< T > > RefVector
CHECK(log_values[0]==ComplexApprox(std::complex< double >{ 5.603777579195571, -6.1586603331188225 }))