32#ifndef _IX_FUNCTION_H_
33#define _IX_FUNCTION_H_
102 typedef std::is_same<T, void> qx_verify_owner_tmp;
103 static_assert(! qx_verify_owner_tmp::value,
"! qx_verify_owner_tmp::value");
115 bValid =
isValidParams(params);
if (! bValid) {
return bValid; };
119 template <
class T,
class U>
124 bValid =
isValidParams(params);
if (! bValid) {
return bValid; };
125 bValid =
isValidOwner<U>(pOwner, NULL);
if (! bValid) {
return bValid; };
qx::any : basic implementation of boost::any (written by Kevlin Henney) when boost dependency is not ...
qx_bool : QxOrm library boolean type with code and description message when an error occured
QxOrm thread-safe container (keep insertion order + quick access by index + quick access by key)
Define all messages when an error occured using QxFunction module of QxOrm library.
#define QX_FUNCTION_ERR_NULL_OWNER
#define QX_FUNCTION_ERR_INVALID_OWNER
Used by introspection engine (IxClass, IxDataMember, IxFunction, etc.) to add meta-data (property bag...
qx::IxFunction : common interface for all functions registered into QxOrm context (used by introspect...
virtual qx_bool invoke(const QString ¶ms=QString(), qx::any *ret=NULL) const =0
void setDescription(const QString &s)
virtual qx_bool invoke(const type_any_params ¶ms, qx::any *ret=NULL) const =0
void setKey(const QString &s)
virtual qx_bool isValidFct() const =0
QString getSeparator() const
QString m_sKey
Function key.
virtual qx_bool invoke(void *pOwner, const type_any_params ¶ms, qx::any *ret=NULL) const =0
virtual qx_bool invoke(void *pOwner, const QString ¶ms=QString(), qx::any *ret=NULL) const =0
virtual int getParamCount() const =0
virtual qx_bool isValidParams(const type_any_params ¶ms) const =0
qx_bool isValidOwner(void *pOwner, T *dummy) const
void setSeparator(const QString &s)
virtual qx_bool isValidParams(const QString ¶ms) const =0
qx_bool isValid(void *pOwner, const T ¶ms, U *dummy) const
QString m_sDescription
Function description.
qx_bool isValid(const T ¶ms) const
QString getDescription() const
QString m_sSeparator
Separator character(s) for 'QString' parameters type.
std::vector< qx::any > type_any_params
qx_bool : boolean type with code and description message when an error occured
qx::QxCollection<Key, Value> : QxOrm thread-safe container (keep insertion order + quick access by in...
qx::QxPropertyBag : used by introspection engine (IxClass, IxDataMember, IxFunction,...
Root namespace for all QxOrm library features.
QxCollection< QString, IxFunction_ptr > IxFunctionX
std::shared_ptr< IxFunctionX > IxFunctionX_ptr
std::shared_ptr< IxFunction > IxFunction_ptr
qx::trait::remove_attr<T>::type : return a type without pointer, const, reference and/or volatile att...