__VariantFunctions__<std::function<void(void*)> >
This commit is contained in:
@@ -751,8 +751,6 @@ REGISTER_VARIANT(PIPointd)
|
||||
REGISTER_VARIANT(PIRectd)
|
||||
REGISTER_VARIANT(PIMathVectord)
|
||||
REGISTER_VARIANT(PIMathMatrixd)
|
||||
typedef std::function<void(void*)> KeySlot;
|
||||
REGISTER_VARIANT(KeySlot)
|
||||
|
||||
inline PIByteArray & operator <<(PIByteArray & s, const PIVariant & v) {
|
||||
s << v._content << int(v._type);
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user