//////////////////////////////////////////////////////////////////////////////////////////////////// // NoesisGUI - http://www.noesisengine.com // Copyright (c) 2013 Noesis Technologies S.L. All Rights Reserved. //////////////////////////////////////////////////////////////////////////////////////////////////// namespace Noesis { //////////////////////////////////////////////////////////////////////////////////////////////////// template T* ObservableCollection::Get(uint32_t index) const { return (T*)BaseCollection::GetComponent(index).GetPtr(); } //////////////////////////////////////////////////////////////////////////////////////////////////// template void ObservableCollection::Set(uint32_t index, T* item) { BaseCollection::Set(index, item); } //////////////////////////////////////////////////////////////////////////////////////////////////// template int ObservableCollection::Add(T* item) { return BaseCollection::Add(item); } //////////////////////////////////////////////////////////////////////////////////////////////////// template void ObservableCollection::Insert(uint32_t index, T* item) { BaseCollection::Insert(index, item); } //////////////////////////////////////////////////////////////////////////////////////////////////// template bool ObservableCollection::Contains(const T* item) const { return BaseCollection::IndexOfComponent(item) >= 0; } //////////////////////////////////////////////////////////////////////////////////////////////////// template int ObservableCollection::IndexOf(const T* item) const { return BaseCollection::IndexOfComponent(item); } //////////////////////////////////////////////////////////////////////////////////////////////////// template bool ObservableCollection::Remove(const T* item) { return BaseCollection::Remove(item); } //////////////////////////////////////////////////////////////////////////////////////////////////// template const TypeClass* ObservableCollection::GetItemType() const { static_assert(IsDerived::Result, "T must inherit from BaseComponent"); return TypeOf(); } }