diff options
author | gulin <gulin@yandex-team.ru> | 2022-02-10 16:47:31 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:47:31 +0300 |
commit | c807aae441c17fc7f577c35757a4b6e0bd909802 (patch) | |
tree | fc3268f43edbf6f854c0266cd05b91952484179b /library/cpp/binsaver | |
parent | d06e6190fa85c1fb4b011631503d53ea39942ff9 (diff) | |
download | ydb-c807aae441c17fc7f577c35757a4b6e0bd909802.tar.gz |
Restoring authorship annotation for <gulin@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/binsaver')
-rw-r--r-- | library/cpp/binsaver/bin_saver.cpp | 26 | ||||
-rw-r--r-- | library/cpp/binsaver/bin_saver.h | 64 | ||||
-rw-r--r-- | library/cpp/binsaver/blob_io.h | 46 | ||||
-rw-r--r-- | library/cpp/binsaver/buffered_io.h | 4 | ||||
-rw-r--r-- | library/cpp/binsaver/class_factory.h | 8 | ||||
-rw-r--r-- | library/cpp/binsaver/mem_io.h | 30 | ||||
-rw-r--r-- | library/cpp/binsaver/ya.make | 18 |
7 files changed, 98 insertions, 98 deletions
diff --git a/library/cpp/binsaver/bin_saver.cpp b/library/cpp/binsaver/bin_saver.cpp index fe0775af9f..c5702bf2ac 100644 --- a/library/cpp/binsaver/bin_saver.cpp +++ b/library/cpp/binsaver/bin_saver.cpp @@ -28,16 +28,16 @@ void IBinSaver::StoreObject(IObjectBase* pObject) { if (pFound != PtrIds->end()) id = pFound->second; else { - id = PtrIds->ysize() + 1; + id = PtrIds->ysize() + 1; PtrIds->insert(std::make_pair(pObject, id)); } } - ptrId = id; + ptrId = id; } DataChunk(&ptrId, sizeof(ptrId)); - if (!Objects.Get()) - Objects.Reset(new CObjectsHash); + if (!Objects.Get()) + Objects.Reset(new CObjectsHash); if (ptrId != 0 && Objects->find(ptrId) == Objects->end()) { ObjectQueue.push_back(pObject); (*Objects)[ptrId]; @@ -51,13 +51,13 @@ void IBinSaver::StoreObject(IObjectBase* pObject) { } IObjectBase* IBinSaver::LoadObject() { - ui64 ptrId = 0; - DataChunk(&ptrId, sizeof(ptrId)); - if (ptrId != 0) { - if (!Objects.Get()) - Objects.Reset(new CObjectsHash); - CObjectsHash::iterator pFound = Objects->find(ptrId); - if (pFound != Objects->end()) + ui64 ptrId = 0; + DataChunk(&ptrId, sizeof(ptrId)); + if (ptrId != 0) { + if (!Objects.Get()) + Objects.Reset(new CObjectsHash); + CObjectsHash::iterator pFound = Objects->find(ptrId); + if (pFound != Objects->end()) return pFound->second; int typeId; DataChunk(&typeId, sizeof(typeId)); @@ -67,7 +67,7 @@ IObjectBase* IBinSaver::LoadObject() { fprintf(stderr, "IBinSaver: trying to load unregistered object\n"); abort(); } - (*Objects)[ptrId] = pObj; + (*Objects)[ptrId] = pObj; ObjectQueue.push_back(pObj); return pObj; } @@ -75,7 +75,7 @@ IObjectBase* IBinSaver::LoadObject() { } IBinSaver::~IBinSaver() { - for (size_t i = 0; i < ObjectQueue.size(); ++i) { + for (size_t i = 0; i < ObjectQueue.size(); ++i) { AddPolymorphicBase(1, ObjectQueue[i]); } } diff --git a/library/cpp/binsaver/bin_saver.h b/library/cpp/binsaver/bin_saver.h index 412424889f..fc30fed694 100644 --- a/library/cpp/binsaver/bin_saver.h +++ b/library/cpp/binsaver/bin_saver.h @@ -5,9 +5,9 @@ #include <library/cpp/containers/2d_array/2d_array.h> -#include <util/generic/hash_set.h> +#include <util/generic/hash_set.h> #include <util/generic/buffer.h> -#include <util/generic/list.h> +#include <util/generic/list.h> #include <util/generic/maybe.h> #include <util/generic/bitmap.h> #include <util/generic/variant.h> @@ -19,11 +19,11 @@ #include <bitset> #include <list> #include <string> - -#ifdef _MSC_VER + +#ifdef _MSC_VER #pragma warning(disable : 4127) -#endif - +#endif + enum ESaverMode { SAVER_MODE_READ = 1, SAVER_MODE_WRITE = 2, @@ -47,7 +47,7 @@ struct IBinSaver { public: typedef unsigned char chunk_id; typedef ui32 TStoredSize; // changing this will break compatibility - + private: // This overload is required to avoid infinite recursion when overriding serialization in derived classes: // struct B { @@ -206,7 +206,7 @@ private: } } - // 2D array + // 2D array template <class T> void Do2DArray(TArray2D<T>& a) { int nXSize = a.GetXSize(), nYSize = a.GetYSize(); @@ -227,7 +227,7 @@ private: if (nXSize * nYSize > 0) DataChunk(&a[0][0], sizeof(T) * nXSize * nYSize); } - // strings + // strings template <class TStringType> void DataChunkStr(TStringType& data, i64 elemSize) { if (bRead) { @@ -263,8 +263,8 @@ private: else File.Write(ptr, size); } - } - + } + // storing/loading pointers to objects void StoreObject(IObjectBase* pObject); IObjectBase* LoadObject(); @@ -279,7 +279,7 @@ private: TAutoPtr<PtrIdHash> PtrIds; typedef THashMap<ui64, TPtr<IObjectBase>> CObjectsHash; - TAutoPtr<CObjectsHash> Objects; + TAutoPtr<CObjectsHash> Objects; TVector<IObjectBase*> ObjectQueue; @@ -295,19 +295,19 @@ public: template <class T> char Add(const chunk_id, T* p) { CallObjectSerialize(p, NBinSaverInternals::TOverloadPriority<2>()); - return 0; + return 0; } int Add(const chunk_id, std::string* pStr) { DataChunkString(*pStr); - return 0; + return 0; } int Add(const chunk_id, TString* pStr) { DataChunkStroka(*pStr); - return 0; + return 0; } int Add(const chunk_id, TUtf16String* pStr) { DataChunkWtroka(*pStr); - return 0; + return 0; } int Add(const chunk_id, TBlob* blob) { if (bRead) { @@ -328,10 +328,10 @@ public: template <class T1, class TA> int Add(const chunk_id, TVector<T1, TA>* pVec) { if (HasNonTrivialSerializer<T1>(0u)) - DoVector(*pVec); - else + DoVector(*pVec); + else DoDataVector(*pVec); - return 0; + return 0; } template <class T, int N> @@ -351,12 +351,12 @@ public: template <class T1, class T2, class T3, class T4, class T5> int Add(const chunk_id, THashMap<T1, T2, T3, T4, T5>* pHash) { DoAnyMap(*pHash); - return 0; + return 0; } template <class T1, class T2, class T3, class T4, class T5> int Add(const chunk_id, THashMultiMap<T1, T2, T3, T4, T5>* pHash) { DoAnyMultiMap(*pHash); - return 0; + return 0; } template <class K, class L, class A> int Add(const chunk_id, TSet<K, L, A>* pSet) { @@ -366,16 +366,16 @@ public: template <class T1, class T2, class T3, class T4> int Add(const chunk_id, THashSet<T1, T2, T3, T4>* pHash) { DoAnySet(*pHash); - return 0; + return 0; } template <class T1> int Add(const chunk_id, TArray2D<T1>* pArr) { if (HasNonTrivialSerializer<T1>(0u)) - Do2DArray(*pArr); - else + Do2DArray(*pArr); + else Do2DArrayData(*pArr); - return 0; + return 0; } template <class T1> int Add(const chunk_id, TList<T1>* pList) { @@ -392,13 +392,13 @@ public: int i = 1; for (typename TList<T1>::iterator k = data.begin(); k != data.end(); ++k, ++i) Add(i + 2, &(*k)); - return 0; + return 0; } template <class T1, class T2> int Add(const chunk_id, std::pair<T1, T2>* pData) { Add(1, &(pData->first)); Add(2, &(pData->second)); - return 0; + return 0; } template <class T1, size_t N> @@ -538,8 +538,8 @@ public: template <class T, typename = decltype(std::declval<T&>() & std::declval<IBinSaver&>())> static bool HasNonTrivialSerializer(ui32) { return true; - } - + } + template <class T> static bool HasNonTrivialSerializer(...) { return sizeof(std::declval<IBinSaver*>()->Add(0, std::declval<T*>())) != 1; @@ -552,7 +552,7 @@ public: , StableOutput(stableOutput) { } - virtual ~IBinSaver(); + virtual ~IBinSaver(); bool IsValid() const { return File.IsValid(); } @@ -586,8 +586,8 @@ struct TRegisterSaveLoadType { BASIC_REGISTER_CLASS(name) \ static TRegisterSaveLoadType<name> init##name##N(N); -// using TObj/TRef on forward declared templ class will not work -// but multiple registration with same id is allowed +// using TObj/TRef on forward declared templ class will not work +// but multiple registration with same id is allowed #define REGISTER_SAVELOAD_TEMPL1_CLASS(N, className, T) \ static TRegisterSaveLoadType<className<T>> init##className##T##N(N); diff --git a/library/cpp/binsaver/blob_io.h b/library/cpp/binsaver/blob_io.h index abe518ef30..71ea3050db 100644 --- a/library/cpp/binsaver/blob_io.h +++ b/library/cpp/binsaver/blob_io.h @@ -1,27 +1,27 @@ -#pragma once +#pragma once #include "bin_saver.h" #include "buffered_io.h" -#include <util/memory/blob.h> - +#include <util/memory/blob.h> + class TYaBlobStream: public IBinaryStream { - TBlob Blob; + TBlob Blob; i64 Pos; - + int WriteImpl(const void*, int) override { Y_ASSERT(0); - return 0; - } + return 0; + } int ReadImpl(void* userBuffer, int size) override { - if (size == 0) - return 0; + if (size == 0) + return 0; i64 res = Min<i64>(Blob.Length() - Pos, size); - if (res) - memcpy(userBuffer, ((const char*)Blob.Data()) + Pos, res); - Pos += res; - return res; - } + if (res) + memcpy(userBuffer, ((const char*)Blob.Data()) + Pos, res); + Pos += res; + return res; + } bool IsValid() const override { return true; } @@ -29,19 +29,19 @@ class TYaBlobStream: public IBinaryStream { return false; } -public: +public: TYaBlobStream(const TBlob& blob) : Blob(blob) , Pos(0) { } -}; - +}; + template <class T> inline void SerializeBlob(const TBlob& data, T& c) { - TYaBlobStream f(data); - { - IBinSaver bs(f, true); - bs.Add(1, &c); - } -} + TYaBlobStream f(data); + { + IBinSaver bs(f, true); + bs.Add(1, &c); + } +} diff --git a/library/cpp/binsaver/buffered_io.h b/library/cpp/binsaver/buffered_io.h index 75465c9c5c..b154d4150c 100644 --- a/library/cpp/binsaver/buffered_io.h +++ b/library/cpp/binsaver/buffered_io.h @@ -1,9 +1,9 @@ #pragma once -#include <util/system/yassert.h> +#include <util/system/yassert.h> #include <util/generic/utility.h> #include <util/generic/ylimits.h> -#include <string.h> +#include <string.h> struct IBinaryStream { virtual ~IBinaryStream() = default; diff --git a/library/cpp/binsaver/class_factory.h b/library/cpp/binsaver/class_factory.h index e83512331b..c16bc75d9d 100644 --- a/library/cpp/binsaver/class_factory.h +++ b/library/cpp/binsaver/class_factory.h @@ -1,9 +1,9 @@ #pragma once #include <typeinfo> -#include <util/generic/hash.h> +#include <util/generic/hash.h> #include <util/generic/vector.h> -#include <util/ysafeptr.h> +#include <util/ysafeptr.h> //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -86,8 +86,8 @@ void TClassFactory<T>::RegisterTypeBase(int nTypeID, newFunc func, VFT vft) { if (typeid(o1v) != typeid(o2v)) { fprintf(stderr, "IBinSaver: Type ID 0x%08X has been already used\n", nTypeID); - abort(); - } + abort(); + } } CTypeIndexHash::iterator typeIndexIt = typeIndex.find(vft); diff --git a/library/cpp/binsaver/mem_io.h b/library/cpp/binsaver/mem_io.h index 2a9e36fe68..1ba7c5e7ee 100644 --- a/library/cpp/binsaver/mem_io.h +++ b/library/cpp/binsaver/mem_io.h @@ -54,7 +54,7 @@ namespace NMemIoInternals { IBinSaver bs(f, bRead, stableOutput); bs.Add(1, &c); } - } else { + } else { if (bRead) { Y_ASSERT(data->size() == sizeof(T)); c = *reinterpret_cast<T*>(&(*data)[0]); @@ -62,7 +62,7 @@ namespace NMemIoInternals { data->yresize(sizeof(T)); *reinterpret_cast<T*>(&(*data)[0]) = c; } - } + } } //////////////////////////////////////////////////////////////////////////// @@ -70,11 +70,11 @@ namespace NMemIoInternals { TVector<TVector<char>>& Data; i64 Block, Pos; bool ShrinkOnRead; - + enum { MAX_BLOCK_SIZE = 1024 * 1024 // Aligned with cache size }; - + public: THugeMemoryStream(TVector<TVector<char>>* data, bool shrinkOnRead = false) : Data(*data) @@ -115,19 +115,19 @@ namespace NMemIoInternals { Pos = 0; Data.resize(Block + 1); newSize = Pos + size; - } + } Data[Block].yresize(newSize); - } + } if (size) { memcpy(&Data[Block][Pos], userData, size); } Pos += size; return sizeArg; - } + } int ReadImpl(void* userDataArg, int sizeArg) override { if (sizeArg == 0) return 0; - + char* userData = (char*)userDataArg; i64 size = sizeArg; i64 rv = 0; @@ -155,11 +155,11 @@ namespace NMemIoInternals { memcpy(userData, &Data[Block][Pos], size); Pos += size; rv += size; - return rv; - } - } + return rv; + } + } return rv; - } + } }; template <class T> @@ -174,7 +174,7 @@ namespace NMemIoInternals { } } } - + template <class T> inline void SerializeMem(const TVector<char>& data, T& c) { if (IBinSaver::HasNonTrivialSerializer<T>(0u)) { @@ -183,8 +183,8 @@ inline void SerializeMem(const TVector<char>& data, T& c) { } else { Y_ASSERT(data.size() == sizeof(T)); c = *reinterpret_cast<const T*>(&data[0]); - } -} + } +} template <class T, class D> inline void SerializeToMem(D* data, T& c, bool stableOutput = false) { diff --git a/library/cpp/binsaver/ya.make b/library/cpp/binsaver/ya.make index 9693c54639..31a8aba0b3 100644 --- a/library/cpp/binsaver/ya.make +++ b/library/cpp/binsaver/ya.make @@ -1,18 +1,18 @@ -LIBRARY() - +LIBRARY() + OWNER(gulin) -SRCS( +SRCS( class_factory.h bin_saver.cpp blob_io.cpp buffered_io.cpp mem_io.cpp util_stream_io.cpp -) - -PEERDIR( +) + +PEERDIR( library/cpp/containers/2d_array -) - -END() +) + +END() |