#define __DALI_PROPERTY_VALUE_H__
/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#include <dali/public-api/object/property.h>
#include <dali/public-api/math/rect.h>
-#include <type_traits>
-
namespace Dali
{
/**
* @brief A value-type representing a property value.
* @SINCE_1_0.0
*/
-class DALI_IMPORT_API Property::Value
+class DALI_CORE_API Property::Value
{
public:
Value( const Extents& extentsValue );
/**
- * @brief Creates an enumeration property value.
- *
- * @SINCE_1_2.62
- * @param[in] extentsValue A collection of 4 uint16_t values
- */
- template <typename T, typename std::enable_if<std::is_enum<typename std::remove_reference<typename std::remove_cv<T>::type>::type>::value>::type* = nullptr>
- Value(T t) : Value(static_cast<int>(t)) { }
-
- /**
* @brief Explicitly sets a type and initialize it.
*
* @SINCE_1_0.0
/**
* @brief Retrieves a specific value.
*
- * Works on a best-effort approach; if value type is different returns a default value of the type.
+ * Works on a best-effort approach; if value type is not convertible returns a default value of the type.
*
* @SINCE_1_0.0
* @return A value of type T
}
/**
- * @brief Retrieves an enumeration value.
- *
- * @SINCE_1_0.0
- * @param[out] boolValue On return, an enumeration value
- * @return @c true if the value is successfully retrieved, @c false if the type is different
- * @pre GetType() is a type convertible to bool.
- */
- template <typename T, typename std::enable_if<std::is_enum<typename std::remove_reference<typename std::remove_cv<T>::type>::type>::value>::type* = nullptr>
- bool Get(T &t) const
- {
- int temp = 0;
- if (!Get(temp)) return false;
- t = static_cast<T>(temp);
- return true;
- }
- /**
* @brief Retrieves a boolean value.
*
* @SINCE_1_0.0
* @brief Output to stream.
* @SINCE_1_0.0
*/
- friend std::ostream& operator<<( std::ostream& ouputStream, const Property::Value& value );
+ friend DALI_CORE_API std::ostream& operator<<( std::ostream& ouputStream, const Property::Value& value );
private:
* @param[in] value The value to insert
* @return The output stream operator
*/
-DALI_IMPORT_API std::ostream& operator<<( std::ostream& ouputStream, const Property::Value& value );
+DALI_CORE_API std::ostream& operator<<( std::ostream& ouputStream, const Property::Value& value );
/**
* @}