Restricts a pointer or smart pointer to only hold non-null values. More...
#include <functional>#include <memory>#include <type_traits>#include <utility>#include <userver/utils/assert.hpp>
Include dependency graph for not_null.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| class | utils::NotNull< T > |
| Restricts a pointer or smart pointer to only hold non-null values. More... | |
| struct | std::hash<::utils::NotNull< T > > |
Namespaces | |
| namespace | utils |
| Utilities. | |
Typedefs | |
| template<typename U > | |
| using | utils::SharedRef = NotNull< std::shared_ptr< U > > |
A std::shared_ptr that is guaranteed to be not-null. | |
| template<typename U > | |
| using | utils::UniqueRef = NotNull< std::unique_ptr< U > > |
A std::unique_ptr that is guaranteed to be not-null. | |
Functions | |
| template<typename U , typename... Args> | |
| SharedRef< U > | utils::MakeSharedRef (Args &&... args) |
An equivalent of std::make_shared for SharedRef. | |
| template<typename U , typename... Args> | |
| UniqueRef< U > | utils::MakeUniqueRef (Args &&... args) |
An equivalent of std::make_unique for UniqueRef. | |
Restricts a pointer or smart pointer to only hold non-null values.
Definition in file not_null.hpp.