title: object initalisation inside object params (constructer)
body: <p>Hello I try to pass objects of same type class constructer and i like to save it as tuple inside the class.</p>
  <p>So I have this code for it:</p>
  <pre><code>class endpoint_keys_impl {
  public:
      endpoint_keys_impl() = default;
  
      template&lt;typename ...PO&gt;
      explicit endpoint_keys_impl(PO... properties) : keys(std::tuple(properties)...) {}
      
  private:
      std::tuple&lt;PropertyObject&gt; keys;
  };
  </code></pre>
  <p>That constructs a tuple from the constructer params of type PropertyObject.</p>
  <p>PropertyObject == property</p>
  <p>So i can construct this with:</p>
  <pre><code>endpoint_keys_impl test { property(&quot;prop1&quot;), property(&quot;prop2&quot;) };
  </code></pre>
  <p>It worked correctly and i used two subclasses like this:</p>
  <pre><code>struct websocket_endpoint_keys : public endpoint_keys_impl {
      websocket_endpoint_keys() = default;
  
      template&lt;typename ...PO&gt;
      explicit websocket_endpoint_keys(PO... properties) : endpoint_keys_impl(properties...) {};
  };
  </code></pre>
  <p>and a other one for rest_endpoint_keys.</p>
  <p>I used booth classes in a class named data_endpoint:</p>
  <pre><code>template &lt;typename T&gt;
  class data_endpoint {
  public:
      data_endpoint(std::string  path, rest_endpoint_keys rest_keys, websocket_endpoint_keys websocket_keys)
      : _internal_rest_keys(std::move(rest_keys)),
        _internal_websocket_keys(std::move(websocket_keys)),
        path(std::move(path)) {};
  };
  </code></pre>
  <p>Now, when i try to init these class with more as one propertry, i get an error, why?</p>
  <pre><code>data_endpoint&lt;sometype&gt; endpoint
          {&quot;symbols&quot;,
              rest_endpoint_keys {
                  property(&quot;prop1&quot;),
                  property(&quot;prop2&quot;)
              },
  
              websocket_endpoint_keys {
                  property(&quot;prop1&quot;),
                  property(&quot;prop2&quot;)
              }
          };
  </code></pre>
  <p>EDIT:</p>
  <p>I think the problem is that the tuple in the endpoint_keys_impl only has one Type. But when i has more items then the tuple should have std::tuple&lt;PropertyObject, PropertyObject&gt;.</p>
  <p>There exist a way to generate the std::tuple in that class without parameterize all until the data_endpoint class? (The type is known, but i need the count of it and a generate for the tuple)</p>