diff options
author | rtk0c <[email protected]> | 2021-09-06 00:15:35 -0700 |
---|---|---|
committer | rtk0c <[email protected]> | 2021-09-06 00:15:35 -0700 |
commit | 04653742243e4bb6452108cfd0fef2f4afd8f23b (patch) | |
tree | a4a5e0cc8d16ffe78859fab9ee5e487a7d22d81e /core/src/Model/Assets.cpp | |
parent | 70e00f817e9596a746800ba4afec2b7c4ca25142 (diff) |
Fix all compile errors, remove OperateIOProxy requirement from DataStream api
Diffstat (limited to 'core/src/Model/Assets.cpp')
-rw-r--r-- | core/src/Model/Assets.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/core/src/Model/Assets.cpp b/core/src/Model/Assets.cpp index 80c2fa4..40f300e 100644 --- a/core/src/Model/Assets.cpp +++ b/core/src/Model/Assets.cpp @@ -16,21 +16,26 @@ using namespace std::literals::string_view_literals; namespace fs = std::filesystem; -template <class TProxy> -void SavedAsset::OperateIOProxy(TProxy& proxy) +template <class TSavedAsset, class TStream> +void OperateStreamForSavedAsset(TSavedAsset& cell, TStream& proxy) { - proxy.template ObjectAdapted<DataStreamAdapters::String>(Name); - proxy.template ObjectAdapted<DataStreamAdapters::Uuid>(Uuid); - proxy.Value(Payload); + proxy.template ObjectAdapted<DataStreamAdapters::String>(cell.Name); + proxy.template ObjectAdapted<DataStreamAdapters::Uuid>(cell.Uuid); + proxy.Value(cell.Payload); } -template void SavedAsset::OperateIOProxy(InputDataStream& adapter); -template void SavedAsset::OperateIOProxy(OutputDataStream& adapter); +void SavedAsset::ReadFromDataStream(InputDataStream& stream) +{ + ::OperateStreamForSavedAsset(*this, stream); +} -Asset::Asset() +void SavedAsset::WriteToDataStream(OutputDataStream& stream) const { + ::OperateStreamForSavedAsset(*this, stream); } +Asset::Asset() = default; + class AssetList::Private { public: |