C++Guns – RoboBlog

02.02.2018

C++ Guns: Generic Data Type Design Pattern - Teil 3

Filed under: Allgemein — Tags: — Thomas @ 23:02

Im letzten Teil hatte ich das serialisieren angesprochen wie das z.B. mit der Qt Klasse (und andere) QDataStream möglich ist.

A data stream is a binary stream of encoded information which is 100% independent of the host computer's operating system, CPU or byte order. For example, a data stream that is written by a PC under Windows can be read by a Sun SPARC running Solaris.

Da nach dem angesprochenen Entwurfsmuster jeder Datentyp von std::array oder std::tuple erbst, braucht es auch nur eine Serialisierungsfunktion für alle User defined Typen. Es fehlt nur eine Möglichkeit den Klassennamen automatisiert anzugeben. So ein bissel C++ reflektion fehlt leider, aber es sollte kein Problem sein den Klassennamen selbst hin zu schreiben,

strcut UserType : public std::tuple<int, double, std::string>
{
  static const char* classname = "UserType";
}

So hätte man eine Möglichkeit, User defined Datentypen automatisiert zu verarbeiten, da sie alle das selbe Interface haben. (Vom Typ std::array oder std::tuple sind).
Ein netter Gedanke.
Aber ich schweife etwas ab. Im vierten Teil versuche ich ein Anwendungsfall zu finden, bei dem dieses Muster nicht mehr passt.

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress