//////////////////////////////////////////////////////////////////////////////////////////////////// // NoesisGUI - http://www.noesisengine.com // Copyright (c) 2013 Noesis Technologies S.L. All Rights Reserved. //////////////////////////////////////////////////////////////////////////////////////////////////// namespace Noesis { //////////////////////////////////////////////////////////////////////////////////////////////////// template const typename Param::Type BoxedFreezableCollection::Get(uint32_t index) const { return Boxing::Unbox(BaseFreezableCollection::mItems[index]); } //////////////////////////////////////////////////////////////////////////////////////////////////// template void BoxedFreezableCollection::Set(uint32_t index, const typename Param::Type item) { BaseFreezableCollection::Set(index, Boxing::Box(item)); } //////////////////////////////////////////////////////////////////////////////////////////////////// template int BoxedFreezableCollection::Add(const typename Param::Type item) { return BaseFreezableCollection::Add(Boxing::Box(item)); } //////////////////////////////////////////////////////////////////////////////////////////////////// template void BoxedFreezableCollection::Insert(uint32_t index, const typename Param::Type item) { BaseFreezableCollection::Insert(index, Boxing::Box(item)); } //////////////////////////////////////////////////////////////////////////////////////////////////// template bool BoxedFreezableCollection::Contains(const typename Param::Type item) const { return BaseFreezableCollection::IndexOfComponent(Boxing::Box(item)) >= 0; } //////////////////////////////////////////////////////////////////////////////////////////////////// template int BoxedFreezableCollection::IndexOf(const typename Param::Type item) const { return BaseFreezableCollection::IndexOfComponent(Boxing::Box(item)); } //////////////////////////////////////////////////////////////////////////////////////////////////// template bool BoxedFreezableCollection::Remove(const typename Param::Type item) { return BaseFreezableCollection::Remove(Boxing::Box(item)); } //////////////////////////////////////////////////////////////////////////////////////////////////// template const TypeClass* BoxedFreezableCollection::GetItemType() const { return TypeOf>(); } //////////////////////////////////////////////////////////////////////////////////////////////////// template Ptr> BoxedFreezableCollection::Clone() const { return StaticPtrCast>(Freezable::Clone()); } //////////////////////////////////////////////////////////////////////////////////////////////////// template Ptr> BoxedFreezableCollection::CloneCurrentValue() const { return StaticPtrCast>(Freezable::CloneCurrentValue()); } //////////////////////////////////////////////////////////////////////////////////////////////////// template Ptr BoxedFreezableCollection::CreateInstanceCore() const { return *new BoxedFreezableCollection(); } }