-#ifndef __DALI_INTERNAL_TYPE_ABSTRACTION_H__
-#define __DALI_INTERNAL_TYPE_ABSTRACTION_H__
+#ifndef DALI_INTERNAL_TYPE_ABSTRACTION_H
+#define DALI_INTERNAL_TYPE_ABSTRACTION_H
/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 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.
template <typename Type>
struct BasicType
{
- typedef Type HolderType;
- typedef Type PassingType;
- static PassingType PassObject( PassingType object ) { return object; }
+ using HolderType = Type;
+ using PassingType = Type;
};
// For complex types that are copied into the message,
template <typename Type>
struct ComplexType
{
- typedef Type HolderType;
- typedef const Type& PassingType;
- static PassingType PassObject( PassingType object ) { return object; }
+ using HolderType = Type;
+ using PassingType = const Type&;
};
// For complex types that are owned by the message,
-// They are passed as raw pointer and hold in an OwnerPointer
+// They are passed and hold in an OwnerPointer
template <typename Type>
struct OwnedType
{
- typedef OwnerPointer<Type> HolderType;
- typedef Type* PassingType;
- static PassingType PassObject( HolderType& object ) { return object.Release(); }
+ using HolderType = OwnerPointer<Type>;
+ using PassingType = OwnerPointer<Type>&;
};
+
// Default for Vector3 and other structures
template <class T> struct ParameterType : public ComplexType< T > {};
} //namespace Dali
-#endif // __DALI_INTERNAL_TYPE_ABSTRACTION_H__
+#endif // DALI_INTERNAL_TYPE_ABSTRACTION_H