version 4.2.0

move toStdFunction() to pibase.h
refactor PIParseHelper, now it much more abstract and useful
fix PIIODevice::createFromFullPath() when whitespaces at start or end are presence
PIStreamPacker add events for start and end packet receive
PIClientServer::ClientBase add virtual methods for start and end packet receive. also one can enable diagnostics with enableDiagnostics() method
PICout now call flush() on each end of output
add PIString::entries(const PIString & str)
This commit is contained in:
2024-10-15 12:02:18 +03:00
parent 9eecbbab6e
commit cd7e053fc5
15 changed files with 174 additions and 119 deletions

View File

@@ -720,4 +720,20 @@ struct PIP_EXPORT PINonTriviallyCopyable {
inline PINonTriviallyCopyable::PINonTriviallyCopyable(PINonTriviallyCopyable &&) noexcept = default;
template<typename T>
struct FunctionType {
using Type = void;
};
template<typename Ret, typename Class, typename... Args>
struct FunctionType<Ret (Class::*)(Args...) const> {
using Type = std::function<Ret(Args...)>;
};
template<typename L>
typename FunctionType<decltype(&L::operator())>::Type toStdFunction(L const & func) {
return func;
}
#endif // PIBASE_H