git-svn-id: svn://db.shs.com.ru/pip@296 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2016-12-15 07:59:33 +00:00
parent d9afd33707
commit d0106d047e
4 changed files with 64 additions and 6 deletions

View File

@@ -1,7 +1,27 @@
#include "pip.h"
struct __S__ {
PIString text;
int i;
};
inline PIByteArray & operator <<(PIByteArray & s, const __S__ & v) {s << v.text << v.i; return s;}
inline PIByteArray & operator >>(PIByteArray & s, __S__ & v) {s >> v.text >> v.i; return s;}
REGISTER_VARIANT(__S__)
REGISTER_VARIANT_CAST(__S__, PIString) {return v.text + PIString::fromNumber(v.i);}
REGISTER_VARIANT_CAST(__S__, int) {return v.i;}
int main(int argc, char *argv[]) {
sleep(30);
__S__ s, s1;
s.text = "123";
s.i = -1;
PIVariant v = PIVariant::fromValue(s);
piCout << v;
s1 = v.value<__S__>();
piCout << s1.text << s1.i << v.value<int>();
PIPropertyStorage ps;
piForeachC (PIPropertyStorage::Property & p, ps)
;
return 0;
}