* Add an element to the set * * @param Item - the element */
| 75 | * @param Item - the element |
| 76 | */ |
| 77 | FORCEINLINE void Add(const void *Item) |
| 78 | { |
| 79 | //SetHelper.AddElement(Item); |
| 80 | const UnLua::ITypeInterface *LocalElementInterface = ElementInterface.Get(); |
| 81 | FScriptSetLayout& LocalSetLayoutForCapture = SetLayout; |
| 82 | Set->Add(Item, SetLayout, |
| 83 | [LocalElementInterface](const void* Element) { return LocalElementInterface->GetValueTypeHash(Element); }, |
| 84 | [LocalElementInterface](const void* A, const void* B) { return LocalElementInterface->Identical(A, B); }, |
| 85 | [LocalElementInterface, Item, LocalSetLayoutForCapture](void* NewElement) |
| 86 | { |
| 87 | LocalElementInterface->Initialize(NewElement); |
| 88 | LocalElementInterface->Copy(NewElement, Item); |
| 89 | }, |
| 90 | [LocalElementInterface](void* Element) |
| 91 | { |
| 92 | if (!LocalElementInterface->IsPODType() && !LocalElementInterface->IsTriviallyDestructible()) |
| 93 | { |
| 94 | LocalElementInterface->Destruct(Element); |
| 95 | } |
| 96 | } |
| 97 | ); |
| 98 | } |
| 99 | |
| 100 | /** |
| 101 | * Remove an element from the set |
no test coverage detected