__VariantFunctions__<std::function<void(void*)> >

This commit is contained in:
2020-11-06 16:06:25 +03:00
parent 0c6e6358b2
commit 3457d87299
2 changed files with 14 additions and 2 deletions

View File

@@ -73,6 +73,20 @@ public:
//void fromData(void *& ptr, PIByteArray ba) final {ba >> *(T*)ptr;}
};
template<>
class __VariantFunctions__<std::function<void(void*)> >: public __VariantFunctionsBase__ {
public:
__VariantFunctionsBase__ * instance() final {static __VariantFunctions__<std::function<void(void*)> > ret; return &ret;}
PIString typeName() const final {static PIString ret("std::function<void(void*)>"); return ret;}
uint hash() const final {static uint ret = typeName().hash(); return ret;}
void newT(void *& ptr, const void * value) final {ptr = (void*)(new std::function<void(void*)>(*(const std::function<void(void*)> *)value)); /*printf(" * new\n")*/;}
void newNullT(void *& ptr) final {ptr = (void*)(new std::function<void(void*)> ());/* printf(" * new null\n")*/;}
void assignT(void *& ptr, const void * value) final {*(std::function<void(void*)> *)ptr = *(const std::function<void(void*)> *)value; /*printf(" * =\n")*/;}
void deleteT(void *& ptr) final {delete (std::function<void(void*)> *)(ptr); /*printf(" * del\n")*/;}
//PIByteArray toData(const void * ptr) const final {PIByteArray ret; ret << (*(const T* &)ptr); return ret;}
//void fromData(void *& ptr, PIByteArray ba) final {ba >> *(T*)ptr;}
};
class PIVariantSimple {
public: