diff options
author | bnagaev <bnagaev@yandex-team.ru> | 2022-02-10 16:47:04 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:47:04 +0300 |
commit | c74559fb88da8adac0d9186cfa55a6b13c47695f (patch) | |
tree | b83306b6e37edeea782e9eed673d89286c4fef35 /contrib/libs/yaml-cpp/src/ptr_vector.h | |
parent | d6449ba66291ff0c0d352c82e6eb3efb4c8a7e8d (diff) | |
download | ydb-c74559fb88da8adac0d9186cfa55a6b13c47695f.tar.gz |
Restoring authorship annotation for <bnagaev@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/yaml-cpp/src/ptr_vector.h')
-rw-r--r-- | contrib/libs/yaml-cpp/src/ptr_vector.h | 72 |
1 files changed, 36 insertions, 36 deletions
diff --git a/contrib/libs/yaml-cpp/src/ptr_vector.h b/contrib/libs/yaml-cpp/src/ptr_vector.h index 051a48a1e7..955aebd8d5 100644 --- a/contrib/libs/yaml-cpp/src/ptr_vector.h +++ b/contrib/libs/yaml-cpp/src/ptr_vector.h @@ -1,43 +1,43 @@ -#ifndef PTR_VECTOR_H_62B23520_7C8E_11DE_8A39_0800200C9A66 -#define PTR_VECTOR_H_62B23520_7C8E_11DE_8A39_0800200C9A66 - -#if defined(_MSC_VER) || \ - (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \ - (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 -#pragma once -#endif - -#include <cstddef> -#include <cstdlib> -#include <memory> -#include <vector> - -#include "yaml-cpp/noncopyable.h" - -namespace YAML { - +#ifndef PTR_VECTOR_H_62B23520_7C8E_11DE_8A39_0800200C9A66 +#define PTR_VECTOR_H_62B23520_7C8E_11DE_8A39_0800200C9A66 + +#if defined(_MSC_VER) || \ + (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \ + (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 +#pragma once +#endif + +#include <cstddef> +#include <cstdlib> +#include <memory> +#include <vector> + +#include "yaml-cpp/noncopyable.h" + +namespace YAML { + // TODO: This class is no longer needed -template <typename T> -class ptr_vector : private YAML::noncopyable { - public: - ptr_vector() {} - +template <typename T> +class ptr_vector : private YAML::noncopyable { + public: + ptr_vector() {} + void clear() { m_data.clear(); } - - std::size_t size() const { return m_data.size(); } - bool empty() const { return m_data.empty(); } - + + std::size_t size() const { return m_data.size(); } + bool empty() const { return m_data.empty(); } + void push_back(std::unique_ptr<T>&& t) { m_data.push_back(std::move(t)); } - T& operator[](std::size_t i) { return *m_data[i]; } - const T& operator[](std::size_t i) const { return *m_data[i]; } - + T& operator[](std::size_t i) { return *m_data[i]; } + const T& operator[](std::size_t i) const { return *m_data[i]; } + T& back() { return *(m_data.back().get()); } - + const T& back() const { return *(m_data.back().get()); } - private: + private: std::vector<std::unique_ptr<T>> m_data; -}; -} - -#endif // PTR_VECTOR_H_62B23520_7C8E_11DE_8A39_0800200C9A66 +}; +} + +#endif // PTR_VECTOR_H_62B23520_7C8E_11DE_8A39_0800200C9A66 |