@@ -68,6 +68,7 @@ The following table lists the serialization formats currently supported by refle
6868| BSON | [ libbson] ( https://github.com/mongodb/mongo-c-driver ) | >= 1.25.1 | Apache 2.0 | JSON-like binary format |
6969| Cap'n Proto | [ capnproto] ( https://capnproto.org ) | >= 1.0.2 | MIT | Schemaful binary format |
7070| CBOR | [ jsoncons] ( https://github.com/danielaparker/jsoncons ) | >= 0.176.0 | BSL 1.0 | JSON-like binary format |
71+ | CSV | [ Apache Arrow] ( https://arrow.apache.org/ ) | >= 21.0.0 | Apache 2.0 | Tabular textual format |
7172| flexbuffers | [ flatbuffers] ( https://github.com/google/flatbuffers ) | >= 23.5.26 | Apache 2.0 | Schema-less version of flatbuffers, binary format |
7273| msgpack | [ msgpack-c] ( https://github.com/msgpack/msgpack-c ) | >= 6.0.0 | BSL 1.0 | JSON-like binary format |
7374| parquet | [ Apache Arrow] ( https://arrow.apache.org/ ) | >= 21.0.0 | Apache 2.0 | Tabular binary format |
@@ -245,7 +246,7 @@ std::cout << "Hello, my name is " << homer2.first_name() << " "
245246
246247### Tabular data
247248
248- reflect-cpp also supports tabular data formats, like Parquet:
249+ reflect-cpp also supports tabular data formats, like CSV or Parquet:
249250
250251``` cpp
251252#include < rfl/parquet.hpp>
@@ -268,9 +269,20 @@ const auto people =
268269 .age = 45,
269270 .email = "homer@simpson.com "}});
270271
272+ const auto csv_string = rfl::csv::write(people);
271273const auto bytestring = rfl::parquet::write(people);
272274```
273275
276+ This will resulting CSV will look like this:
277+
278+ ```
279+ "first_name";"last_name";"town";"birthday";"age";"email"
280+ "Bart";"Simpson";"Springfield";1987-04-19;10;"bart@simpson.com "
281+ "Lisa";"Simpson";"Springfield";1987-04-19;8;"lisa@simpson.com "
282+ "Maggie";"Simpson";"Springfield";1987-04-19;0;"maggie@simpson.com "
283+ "Homer";"Simpson";"Springfield";1987-04-19;45;"homer@simpson.com "
284+ ```
285+
274286### Error messages
275287
276288reflect-cpp returns clear and comprehensive error messages:
0 commit comments