diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index 855fed687d..436b84d475 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -1458,7 +1458,8 @@ PREDEFINED = EINA_MAGIC_DEBUG \ # Use the PREDEFINED tag if you want to use a different macro definition that overrules the definition found in the source code. EXPAND_AS_DEFINED = EINA_VALUE_CONVERT \ - EINA_VALUE_GET + EINA_VALUE_GET \ + EINA_VALUE_INIT # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all references to function-like macros diff --git a/src/lib/eina/eina_inline_value_util.x b/src/lib/eina/eina_inline_value_util.x index a523a661b6..6d8583da1c 100644 --- a/src/lib/eina/eina_inline_value_util.x +++ b/src/lib/eina/eina_inline_value_util.x @@ -403,277 +403,42 @@ eina_value_error_new(Eina_Error err) return v; } +/// @brief For internal use only. +/// @hideinitializer +#define EINA_VALUE_INIT(Compress_Type, Uppercase_Compress_Type, Type) \ /** - * @brief Initialize #Eina_Value containing the passed parameter - * @param c The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value -eina_value_uchar_init(unsigned char c) -{ - Eina_Value v = EINA_VALUE_EMPTY; - - if (eina_value_setup(&v, EINA_VALUE_TYPE_UCHAR)) - eina_value_set(&v, c); - return v; + @brief Initialize #Eina_Value containing the passed parameter + @param c The value to use + @return The #Eina_Value + @since 1.21 + */ \ +static inline Eina_Value \ +eina_value_##Compress_Type##_init(Type c) \ +{ \ + Eina_Value v = EINA_VALUE_EMPTY; \ + \ + if (eina_value_setup(&v, EINA_VALUE_TYPE_##Uppercase_Compress_Type)) \ + eina_value_set(&v, c); \ + return v; \ } -/** - * @brief Initialize #Eina_Value containing the passed parameter - * @param s The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value -eina_value_ushort_init(unsigned short s) -{ - Eina_Value v = EINA_VALUE_EMPTY; - - if (eina_value_setup(&v, EINA_VALUE_TYPE_USHORT)) - eina_value_set(&v, s); - return v; -} - -/** - * @brief Initialize #Eina_Value containing the passed parameter - * @param i The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value -eina_value_uint_init(unsigned int i) -{ - Eina_Value v = EINA_VALUE_EMPTY; - - if (eina_value_setup(&v, EINA_VALUE_TYPE_UINT)) - eina_value_set(&v, i); - return v; -} - -/** - * @brief Create a new #EinaInitializeining the passed parameter - * @param l The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value -eina_value_ulong_init(unsigned long l) -{ - Eina_Value v = EINA_VALUE_EMPTY; - - if (eina_value_setup(&v, EINA_VALUE_TYPE_ULONG)) - eina_value_set(&v, l); - return v; -} - -/** - * @brief Initialize #Eina_Value containing the passed parameter - * @param i The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value -eina_value_uint64_init(uint64_t i) -{ - Eina_Value v = EINA_VALUE_EMPTY; - - if (eina_value_setup(&v, EINA_VALUE_TYPE_UINT64)) - eina_value_set(&v, i); - return v; -} - -/** - * @brief Create a new #EinaInitializeining the passed parameter - * @param c The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value -eina_value_char_init(char c) -{ - Eina_Value v = EINA_VALUE_EMPTY; - - if (eina_value_setup(&v, EINA_VALUE_TYPE_CHAR)) - eina_value_set(&v, c); - return v; -} - -/** - * @brief Initialize #Eina_Value containing the passed parameter - * @param s The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value -eina_value_short_init(short s) -{ - Eina_Value v = EINA_VALUE_EMPTY; - - if (eina_value_setup(&v, EINA_VALUE_TYPE_SHORT)) - eina_value_set(&v, s); - return v; -} - -/** - * @brief Create a new #EinaInitializeining the passed parameter - * @param i The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value -eina_value_int_init(int i) -{ - Eina_Value v = EINA_VALUE_EMPTY; - - if (eina_value_setup(&v, EINA_VALUE_TYPE_INT)) - eina_value_set(&v, i); - return v; -} - -/** - * @brief Initialize #Eina_Value containing the passed parameter - * @param l The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value -eina_value_long_init(long l) -{ - Eina_Value v = EINA_VALUE_EMPTY; - - if (eina_value_setup(&v, EINA_VALUE_TYPE_LONG)) - eina_value_set(&v, l); - return v; -} - -/** - * @brief Create a new #EinaInitializeining the passed parameter - * @param i The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value -eina_value_int64_init(int64_t i) -{ - Eina_Value v = EINA_VALUE_EMPTY; - - if (eina_value_setup(&v, EINA_VALUE_TYPE_INT64)) - eina_value_set(&v, i); - return v; -} - -/** - * @brief Initialize #Eina_Value containing the passed parameter - * @param f The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value -eina_value_float_init(float f) -{ - Eina_Value v = EINA_VALUE_EMPTY; - - if (eina_value_setup(&v, EINA_VALUE_TYPE_FLOAT)) - eina_value_set(&v, f); - return v; -} - -/** - * @brief Create a new #EinaInitializeining the passed parameter - * @param d The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value -eina_value_double_init(double d) -{ - Eina_Value v = EINA_VALUE_EMPTY; - - if (eina_value_setup(&v, EINA_VALUE_TYPE_DOUBLE)) - eina_value_set(&v, d); - return v; -} - -/** - * @brief Initialize #Eina_Value containing the passed parameter - * @param b The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value -eina_value_bool_init(Eina_Bool b) -{ - Eina_Value v = EINA_VALUE_EMPTY; - - if (eina_value_setup(&v, EINA_VALUE_TYPE_BOOL)) - eina_value_set(&v, b); - return v; -} - -/** - * @brief Create a new #EinaInitializeining the passed parameter - * @param str The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value -eina_value_string_init(const char *str) -{ - Eina_Value v = EINA_VALUE_EMPTY; - - if (eina_value_setup(&v, EINA_VALUE_TYPE_STRING)) - eina_value_set(&v, str); - return v; -} - -/** - * @brief Initialize #Eina_Value containing the passed parameter - * @param str The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value -eina_value_stringshare_init(const char *str) -{ - Eina_Value v = EINA_VALUE_EMPTY; - - if (eina_value_setup(&v, EINA_VALUE_TYPE_STRINGSHARE)) - eina_value_set(&v, str); - return v; -} - -/** - * @brief Create a new #EinaInitializeining the passed parameter - * @param t The value to use - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value -eina_value_time_init(time_t t) -{ - Eina_Value v = EINA_VALUE_EMPTY; - - if (eina_value_setup(&v, EINA_VALUE_TYPE_TIMESTAMP)) - eina_value_set(&v, t); - return v; -} - -/** - * @brief Initialize #Eina_Value containing the passed parameter - * @param err The error code - * @return The #Eina_Value - * @since 1.21 - */ -static inline Eina_Value -eina_value_error_init(Eina_Error err) -{ - Eina_Value v = EINA_VALUE_EMPTY; - - if (eina_value_setup(&v, EINA_VALUE_TYPE_ERROR)) - eina_value_set(&v, err); - return v; -} +EINA_VALUE_INIT(uchar, UCHAR, unsigned char); +EINA_VALUE_INIT(ushort, USHORT, unsigned short); +EINA_VALUE_INIT(uint, UINT, unsigned int); +EINA_VALUE_INIT(ulong, ULONG, unsigned long); +EINA_VALUE_INIT(uint64, UINT64, uint64_t); +EINA_VALUE_INIT(char, CHAR, char); +EINA_VALUE_INIT(short, SHORT, short); +EINA_VALUE_INIT(int, INT, int); +EINA_VALUE_INIT(long, LONG, long); +EINA_VALUE_INIT(int64, INT64, int64_t); +EINA_VALUE_INIT(float, FLOAT, float); +EINA_VALUE_INIT(double, DOUBLE, double); +EINA_VALUE_INIT(bool, BOOL, Eina_Bool); +EINA_VALUE_INIT(string, STRING, const char *); +EINA_VALUE_INIT(stringshare, STRINGSHARE, const char *); +EINA_VALUE_INIT(time, TIMESTAMP, time_t); +EINA_VALUE_INIT(error, ERROR, Eina_Error); /// @brief For internal use only. /// @hideinitializer