[+] AuMemoryView::CopyInto
[+] AuMemoryView::CopyFrom [+] AuMemoryViewStream::CopyStreamInto [+] AuMemoryViewStream::CopyStreamFrom
This commit is contained in:
parent
d99c1032da
commit
aafb64e740
@ -448,7 +448,7 @@ namespace Aurora::Memory
|
||||
this->controlBlock.pPinner;
|
||||
}
|
||||
|
||||
AuSPtr<MemoryView> TryPromoteToSharedView(AuSPtr<void> pParent = {})
|
||||
AuSPtr<MemoryView> TryPromoteToSharedView(AuSPtr<void> pParent = {}) const
|
||||
{
|
||||
#if 0
|
||||
bool bHasControlBlock = this->HasControlBlock();
|
||||
@ -490,7 +490,7 @@ namespace Aurora::Memory
|
||||
#endif
|
||||
}
|
||||
|
||||
AuSPtr<MemoryView> TryPromoteToSharedViewNoParentNesting(AuSPtr<void> pParent = {})
|
||||
AuSPtr<MemoryView> TryPromoteToSharedViewNoParentNesting(AuSPtr<void> pParent = {}) const
|
||||
{
|
||||
if (this->HasControlBlock())
|
||||
{
|
||||
@ -581,6 +581,21 @@ namespace Aurora::Memory
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
AuUInt CopyInto(const MemoryView<false> &write) const
|
||||
{
|
||||
auto uLength = AuMin(this->uLength, write.uLength);
|
||||
AuMemcpy(write.pBase, this->pBase, uLength);
|
||||
return uLength;
|
||||
}
|
||||
|
||||
template<bool bThat = Readonly_b, AU_TEMPLATE_ENABLE_WHEN(!bThat)>
|
||||
AuUInt CopyFrom(const MemoryView<true> &read) const
|
||||
{
|
||||
auto uLength = AuMin(this->uLength, read.uLength);
|
||||
AuMemcpy(this->pBase, read.pBase, uLength);
|
||||
return uLength;
|
||||
}
|
||||
};
|
||||
|
||||
using MemoryViewRead = MemoryView<true>;
|
||||
@ -680,6 +695,21 @@ namespace Aurora::Memory
|
||||
return HasMemory();
|
||||
}
|
||||
|
||||
void CopyStreamInto(const MemoryView<false> &write) const
|
||||
{
|
||||
auto uLength = AuMin(this->uLength, write.uLength);
|
||||
AuMemcpy(write.pBase, this->pBase, uLength);
|
||||
this->outVariable = uLength;
|
||||
}
|
||||
|
||||
template<bool bThat = Readonly_b, AU_TEMPLATE_ENABLE_WHEN(!bThat)>
|
||||
void CopyStreamFrom(const MemoryView<true> &read) const
|
||||
{
|
||||
auto uLength = AuMin(this->uLength, read.uLength);
|
||||
AuMemcpy(this->pBase, read.pBase, uLength);
|
||||
this->outVariable = uLength;
|
||||
}
|
||||
|
||||
AuUInt &outVariable;
|
||||
private:
|
||||
AuUInt unused;
|
||||
|
Loading…
Reference in New Issue
Block a user