From f9316aa5d2a201fe1feb687baa64e20c8cbea27c Mon Sep 17 00:00:00 2001
From: Terraneo Federico <fede.tft@miosix.org>
Date: Tue, 8 May 2018 20:45:58 +0200
Subject: [PATCH] Documentation

---
 .readme1.png | Bin 0 -> 12468 bytes
 README.md    |  92 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 91 insertions(+), 1 deletion(-)
 create mode 100644 .readme1.png

diff --git a/.readme1.png b/.readme1.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ce780b64029564268bec3c940fdbd2d9cb7cfd5
GIT binary patch
literal 12468
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

literal 0
HcmV?d00001

diff --git a/README.md b/README.md
index 7e792d2..a2ff7db 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,95 @@
 Trivial serialization for C++
 =============================
 
-Documentation is a work in progress.
+As you known, serialization is not supported by standard C++.
+For this reason, many libraries have been made, such as cereal,
+boost::serialization, flatbuffers, protocol buffers and many more to overcome
+this limitation.
+These libraries support the general case of serializing any type
+in a portable way but all require some help from the developer.
+This can range from adding a member function to serialize/unserialize the
+type, tagging types and/or fields with their name, all the way up to
+learning an interface definition language and dealing with a code generator.
 
+But what if we just need to serialize some simple object? Is this boilerplate
+code really needed?
+
+TSCPP is a simple serialization library limited to flat types, that do not
+contain pointers, references or virtual functions.
+By restricting to this case it is possible to make a really simple
+serialization library that just works, serializing objects with
+zero boilerplate code, and is fast too.
+
+## A code example
+
+Here's an example showing how to serialize/unserialize using the TSCPP
+stream API.
+
+```C++
+#include <fstream>
+#include <tscpp/stream.h>
+
+using namespace std;
+using namespace tscpp;
+
+class Bar
+{
+public:
+    Bar(int x, int y) : x(x), y(y) {}
+    int x,y;
+};
+
+class Foo
+{
+public:
+    Foo() : b(-1,1)
+    {
+        for(int i=0;i<10;i++) z[i]=i;
+    }
+    Bar b;
+    int z[10];
+};
+
+int main()
+{
+    Foo foo;
+    
+    ofstream os("serialized.dat",ios::binary);
+    OutputArchive oa(os);
+
+    oa<<foo; //How to serialize an object
+    
+    os.close();
+    ifstream is("serialized.dat",ios::binary);
+    InputArchive ia(is);
+    
+    Foo foo2;
+    ia>>foo2; //How to unserialize an object
+}
+```
+
+TSCPP also supports a buffer API to serialize to raw memory buffers instead
+of std streams. Moreover, an unique TypePool concept allows to register
+callbacks associated to individual types and unserialize files where the
+order in which objects have been serialized is unknown.
+
+## How does it work
+
+TSCPP starts from the C tradition of writing raw structs to a file, or to
+memcpy them to a memory buffer. To this it adds C++ RTTI support in order to
+perform type checking when unserializing.
+
+The serialization format is simply the C++ mangled name of the type to be
+serialized (as returned by typeid(type).name()), followed by a '\0' string
+terminator, followed by the object itself.
+
+![alt text](https://github.com/fedetft/tscpp/.readme1.png "Serialization example")
+
+## What are the limitations
+
+* Only objects with a flat meory layout, i.e. without pointers, references, virtual functions can be serialized
+* The serialization format is not portable between different machines if
+  * the endianness of the two machines differ
+  * the C++ name mangling scheme differs (e.g: Windows has its own incompatible name mangling scheme)
+  * the padding of fields differs
+*  Object versioning is not supported, trying to unserialize a previous version of an object will result in wrong bits in its fields
-- 
GitLab