diff options
author | Ruslan Kovalev <ruslan.a.kovalev@gmail.com> | 2022-02-10 16:46:45 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:46:45 +0300 |
commit | 9123176b341b6f2658cff5132482b8237c1416c8 (patch) | |
tree | 49e222ea1c5804306084bb3ae065bb702625360f /library/cpp/deprecated/accessors/memory_traits.h | |
parent | 59e19371de37995fcb36beb16cd6ec030af960bc (diff) | |
download | ydb-9123176b341b6f2658cff5132482b8237c1416c8.tar.gz |
Restoring authorship annotation for Ruslan Kovalev <ruslan.a.kovalev@gmail.com>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/deprecated/accessors/memory_traits.h')
-rw-r--r-- | library/cpp/deprecated/accessors/memory_traits.h | 276 |
1 files changed, 138 insertions, 138 deletions
diff --git a/library/cpp/deprecated/accessors/memory_traits.h b/library/cpp/deprecated/accessors/memory_traits.h index 1034113211..aa837705d3 100644 --- a/library/cpp/deprecated/accessors/memory_traits.h +++ b/library/cpp/deprecated/accessors/memory_traits.h @@ -1,168 +1,168 @@ -#pragma once - +#pragma once + #include <util/generic/array_ref.h> #include <util/memory/blob.h> #include <util/memory/tempbuf.h> -#include <util/generic/buffer.h> -#include <util/generic/strbuf.h> +#include <util/generic/buffer.h> +#include <util/generic/strbuf.h> #include <util/generic/string.h> #include <util/generic/vector.h> #include <util/generic/typetraits.h> - + #include <array> -#include <string> +#include <string> #include <utility> - -template <typename T> -struct TMemoryTraits { - enum { + +template <typename T> +struct TMemoryTraits { + enum { SimpleMemory = std::is_arithmetic<T>::value, - ContinuousMemory = SimpleMemory, - OwnsMemory = SimpleMemory, - }; - + ContinuousMemory = SimpleMemory, + OwnsMemory = SimpleMemory, + }; + using TElementType = T; -}; - -template <typename T, size_t n> -struct TMemoryTraits<T[n]> { - enum { - SimpleMemory = TMemoryTraits<T>::SimpleMemory, - ContinuousMemory = SimpleMemory, - OwnsMemory = SimpleMemory, - }; - +}; + +template <typename T, size_t n> +struct TMemoryTraits<T[n]> { + enum { + SimpleMemory = TMemoryTraits<T>::SimpleMemory, + ContinuousMemory = SimpleMemory, + OwnsMemory = SimpleMemory, + }; + using TElementType = T; -}; - -template <typename T, size_t n> +}; + +template <typename T, size_t n> struct TMemoryTraits<std::array<T, n>> { - enum { - SimpleMemory = TMemoryTraits<T>::SimpleMemory, - ContinuousMemory = SimpleMemory, - OwnsMemory = SimpleMemory, - }; - + enum { + SimpleMemory = TMemoryTraits<T>::SimpleMemory, + ContinuousMemory = SimpleMemory, + OwnsMemory = SimpleMemory, + }; + using TElementType = T; -}; - -template <typename A, typename B> +}; + +template <typename A, typename B> struct TMemoryTraits<std::pair<A, B>> { - enum { - SimpleMemory = TMemoryTraits<A>::SimpleMemory && TMemoryTraits<B>::SimpleMemory, - ContinuousMemory = SimpleMemory, - OwnsMemory = SimpleMemory, - }; - + enum { + SimpleMemory = TMemoryTraits<A>::SimpleMemory && TMemoryTraits<B>::SimpleMemory, + ContinuousMemory = SimpleMemory, + OwnsMemory = SimpleMemory, + }; + using TElementType = std::pair<A, B>; -}; - -template <> -struct TMemoryTraits<TBuffer> { - enum { - SimpleMemory = false, - ContinuousMemory = true, - OwnsMemory = true, - }; - +}; + +template <> +struct TMemoryTraits<TBuffer> { + enum { + SimpleMemory = false, + ContinuousMemory = true, + OwnsMemory = true, + }; + using TElementType = char; -}; - -template <> -struct TMemoryTraits<TTempBuf> { - enum { - SimpleMemory = false, - ContinuousMemory = true, - OwnsMemory = true, - }; - +}; + +template <> +struct TMemoryTraits<TTempBuf> { + enum { + SimpleMemory = false, + ContinuousMemory = true, + OwnsMemory = true, + }; + using TElementType = char; -}; - -template <> +}; + +template <> struct TMemoryTraits< ::TBlob> { - enum { - SimpleMemory = false, - ContinuousMemory = true, - OwnsMemory = true, - }; - + enum { + SimpleMemory = false, + ContinuousMemory = true, + OwnsMemory = true, + }; + using TElementType = char; -}; - -template <typename T> -struct TElementDependentMemoryTraits { - enum { - SimpleMemory = false, - ContinuousMemory = TMemoryTraits<T>::SimpleMemory, - }; - +}; + +template <typename T> +struct TElementDependentMemoryTraits { + enum { + SimpleMemory = false, + ContinuousMemory = TMemoryTraits<T>::SimpleMemory, + }; + using TElementType = T; -}; - -template <typename T, typename TAlloc> +}; + +template <typename T, typename TAlloc> struct TMemoryTraits<std::vector<T, TAlloc>>: public TElementDependentMemoryTraits<T> { - enum { - OwnsMemory = TMemoryTraits<T>::OwnsMemory - }; -}; - -template <typename T, typename TAlloc> + enum { + OwnsMemory = TMemoryTraits<T>::OwnsMemory + }; +}; + +template <typename T, typename TAlloc> struct TMemoryTraits<TVector<T, TAlloc>>: public TMemoryTraits<std::vector<T, TAlloc>> { -}; - -template <typename T> +}; + +template <typename T> struct TMemoryTraits<TTempArray<T>>: public TElementDependentMemoryTraits<T> { - enum { - OwnsMemory = TMemoryTraits<T>::OwnsMemory - }; -}; - -template <typename T, typename TCharTraits, typename TAlloc> + enum { + OwnsMemory = TMemoryTraits<T>::OwnsMemory + }; +}; + +template <typename T, typename TCharTraits, typename TAlloc> struct TMemoryTraits<std::basic_string<T, TCharTraits, TAlloc>>: public TElementDependentMemoryTraits<T> { - enum { - OwnsMemory = TMemoryTraits<T>::OwnsMemory - }; -}; - -template <> + enum { + OwnsMemory = TMemoryTraits<T>::OwnsMemory + }; +}; + +template <> struct TMemoryTraits<TString>: public TElementDependentMemoryTraits<char> { - enum { - OwnsMemory = true - }; -}; - -template <> + enum { + OwnsMemory = true + }; +}; + +template <> struct TMemoryTraits<TUtf16String>: public TElementDependentMemoryTraits<wchar16> { - enum { - OwnsMemory = true - }; -}; - -template <typename T> + enum { + OwnsMemory = true + }; +}; + +template <typename T> struct TMemoryTraits<TArrayRef<T>>: public TElementDependentMemoryTraits<T> { - enum { - OwnsMemory = false - }; -}; - -template <typename TCharType, typename TCharTraits> + enum { + OwnsMemory = false + }; +}; + +template <typename TCharType, typename TCharTraits> struct TMemoryTraits<TBasicStringBuf<TCharType, TCharTraits>>: public TElementDependentMemoryTraits<TCharType> { - enum { - OwnsMemory = false - }; -}; - -template <> + enum { + OwnsMemory = false + }; +}; + +template <> struct TMemoryTraits<TStringBuf>: public TElementDependentMemoryTraits<char> { - enum { - OwnsMemory = false - }; -}; - -template <> + enum { + OwnsMemory = false + }; +}; + +template <> struct TMemoryTraits<TWtringBuf>: public TElementDependentMemoryTraits<wchar16> { - enum { - OwnsMemory = false - }; -}; + enum { + OwnsMemory = false + }; +}; |