class Foo { std::vector data_; };
Say Foo can only be constructed by make a copy (technically I mean a copy or move)
Foo
class Foo { using data_t = std::vector; data_t data_; public: constexpr Foo(data_t && d) noexcept : data_(std::forward(d)) {} };