version 2.10.1

Documentation of PIPluginLoader
Remove PIVariantSimple ability to assign any type, leave only assignable
This commit is contained in:
2020-10-06 00:53:37 +03:00
parent b7aef483b7
commit bf1808f1c4
5 changed files with 179 additions and 23 deletions

View File

@@ -79,6 +79,22 @@ PIString PIPVersion() {
return ret;
}
void piqsort(void * base, size_t num, size_t size, int (*compar)(const void *, const void *)) {
qsort(base, num, size, compar);
}
void randomize() {
srand(PISystemTime::current(true).nanoseconds);
}
int randomi() {
return rand();
}
/*! \class PICout
* \brief Class for formatted output similar std::cout
*
@@ -131,6 +147,9 @@ PIString PIPVersion() {
* * packets extractor (\a PIPacketExtractor)
* * binary log (\a PIBinaryLog)
* * complex I/O point (\a PIConnection)
* * Run-time libraries
* * abstract (\a PILibrary)
* * plugin (\a PIPluginLoader)
* * connection quality diagnotic (\a PIDiagnostics)
* * command-line arguments parser (\a PICLI)
* * math evaluator (\a PIEvaluator)
@@ -247,19 +266,3 @@ int main(int argc, char * argv[]) {
/*! \page using_advanced Advanced using
* Sorry, creativity crysis xD
*/
void piqsort(void * base, size_t num, size_t size, int (*compar)(const void *, const void *)) {
qsort(base, num, size, compar);
}
void randomize() {
srand(PISystemTime::current(true).nanoseconds);
}
int randomi() {
return rand();
}

View File

@@ -43,7 +43,7 @@ public:
//static PIMap<uint, __VariantFunctionsBase__*> & registered() {static PIMap<uint, __VariantFunctionsBase__*> ret; return ret;}
};
/*
template<class T, class Enable = void>
class __VariantFunctions__: public __VariantFunctionsBase__ {
public:
@@ -51,10 +51,10 @@ public:
PIString typeName() const final {static PIString ret(typeid(T).name()); return ret;}
uint hash() const final {static uint ret = typeName().hash(); return ret;}
};
*/
template<typename T>
class __VariantFunctions__<T, typename std::enable_if< std::is_assignable<T&, const T&>::value>::type>: public __VariantFunctionsBase__ {
class __VariantFunctions__/*<T, typename std::enable_if< std::is_assignable<T&, const T&>::value>::type>*/: public __VariantFunctionsBase__ {
public:
__VariantFunctionsBase__ * instance() final {static __VariantFunctions__<T> ret; return &ret;}
PIString typeName() const final {static PIString ret(typeid(T).name()); return ret;}