@@ -72,10 +72,10 @@ size_t RowHeader::operator[](const std::string& name) {
7272std::string& RowHeader::operator [](size_t index) { return at (index); }
7373
7474Row::Row (const std::shared_ptr<RowHeader>& header) : header(header) {}
75- Row::Row (const RowHeader& header) : header(new RowHeader(header)) {}
75+ Row::Row (const RowHeader& header) : header(std::make_shared< RowHeader> (header)) {}
7676Row::Row (const std::initializer_list<Any>& list, const RowHeader& header)
7777: std::vector<Any>(list),
78- header (new RowHeader(header)) {
78+ header (std::make_shared< RowHeader> (header)) {
7979 if (!header.empty () && list.size () != header.size ()) {
8080 throw std::invalid_argument (" Row::Row: The row and the header mismatch" );
8181 }
@@ -89,20 +89,20 @@ Row::Row(const std::initializer_list<Any>& list, const std::shared_ptr<RowHeader
8989}
9090Row::Row (std::vector<Any>&& list, const RowHeader& header)
9191: std::vector<Any>(std::move(list)),
92- header (new RowHeader(header)) {
92+ header (std::make_shared< RowHeader> (header)) {
9393 if (size () != header.size ()) {
9494 list = std::move (*this ); // Restore
9595 throw std::invalid_argument (" Row::Row: The row and the header mismatch" );
9696 }
9797}
9898Row::Row (const std::vector<Any>& list, const RowHeader& header)
9999: std::vector<Any>(list),
100- header(new RowHeader(header)) {
100+ header(std::make_shared< RowHeader> (header)) {
101101 if (list.size () != header.size ()) {
102102 throw std::invalid_argument (" Row::Row: The row and the header mismatch" );
103103 }
104104}
105- Row::Row (const std::initializer_list<std::pair<std::string, Any>>& list) : header(new RowHeader()) {
105+ Row::Row (const std::initializer_list<std::pair<std::string, Any>>& list) : header(std::make_shared< RowHeader> ()) {
106106 for (auto & pair : list) {
107107 header->add (pair.first );
108108 this ->push_back (pair.second );
0 commit comments