//////////////////////////////////////////////////////////////////////////////////////////////////// // NoesisGUI - http://www.noesisengine.com // Copyright (c) 2013 Noesis Technologies S.L. All Rights Reserved. //////////////////////////////////////////////////////////////////////////////////////////////////// #include namespace Noesis { //////////////////////////////////////////////////////////////////////////////////////////////////// template inline T* FreezableCollection::Get(uint32_t index) const { return (T*)BaseFreezableCollection::mItems[index].GetPtr(); } //////////////////////////////////////////////////////////////////////////////////////////////////// template inline void FreezableCollection::Set(uint32_t index, T* item) { BaseFreezableCollection::Set(index, item); } //////////////////////////////////////////////////////////////////////////////////////////////////// template inline int FreezableCollection::Add(T* item) { return BaseFreezableCollection::Add(item); } //////////////////////////////////////////////////////////////////////////////////////////////////// template inline void FreezableCollection::Insert(uint32_t index, T* item) { BaseFreezableCollection::Insert(index, item); } //////////////////////////////////////////////////////////////////////////////////////////////////// template inline bool FreezableCollection::Contains(const T* item) const { return BaseFreezableCollection::IndexOfComponent(item) >= 0; } //////////////////////////////////////////////////////////////////////////////////////////////////// template inline int FreezableCollection::IndexOf(const T* item) const { return BaseFreezableCollection::IndexOfComponent(item); } //////////////////////////////////////////////////////////////////////////////////////////////////// template inline bool FreezableCollection::Remove(const T* item) { return BaseFreezableCollection::Remove(item); } //////////////////////////////////////////////////////////////////////////////////////////////////// template inline const TypeClass* FreezableCollection::GetItemType() const { static_assert(IsDerived::Result, "T must inherit from DependencyObject"); return TypeOf(); } //////////////////////////////////////////////////////////////////////////////////////////////////// template inline Ptr> FreezableCollection::Clone() const { return StaticPtrCast>(Freezable::Clone()); } //////////////////////////////////////////////////////////////////////////////////////////////////// template inline Ptr> FreezableCollection::CloneCurrentValue() const { return StaticPtrCast>(Freezable::CloneCurrentValue()); } //////////////////////////////////////////////////////////////////////////////////////////////////// template inline Ptr FreezableCollection::CreateInstanceCore() const { return *new FreezableCollection(); } }