libcopp  2.2.0
Data Structures | Namespaces | Typedefs | Functions
not_null.h File Reference
#include <libcopp/utils/config/libcopp_build_features.h>
#include <libcopp/utils/config/stl_include_prefix.h>
#include <assert.h>
#include <algorithm>
#include <cstddef>
#include <iosfwd>
#include <system_error>
#include <type_traits>
#include <libcopp/utils/config/stl_include_suffix.h>
Include dependency graph for not_null.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  gsl::details::is_comparable_to_nullptr< T, typename >
 
struct  gsl::details::is_comparable_to_nullptr< T, typename std::enable_if< std::is_convertible< decltype(std::declval< T >() !=nullptr), bool >::value >::type >
 
class  gsl::not_null< T >
 
class  gsl::strict_not_null< T >
 
struct  std::hash< LIBCOPP_COPP_NAMESPACE_ID::gsl::not_null< T > >
 
struct  std::hash< LIBCOPP_COPP_NAMESPACE_ID::gsl::strict_not_null< T > >
 

Namespaces

 gsl
 
 gsl::details
 

Typedefs

template<class T , class = typename std::enable_if<std::is_pointer<T>::value>::type>
using gsl::owner = T
 

Functions

template<class T >
auto gsl::make_not_null (T &&t) noexcept
 
template<class T , class U >
auto gsl::operator== (const not_null< T > &lhs, const not_null< U > &rhs) noexcept(noexcept(lhs.get()==rhs.get())) -> decltype(lhs.get()==rhs.get())
 
template<class T , class U >
auto gsl::operator!= (const not_null< T > &lhs, const not_null< U > &rhs) noexcept(noexcept(lhs.get() !=rhs.get())) -> decltype(lhs.get() !=rhs.get())
 
template<class T , class U >
auto gsl::operator< (const not_null< T > &lhs, const not_null< U > &rhs) noexcept(noexcept(lhs.get()< rhs.get())) -> decltype(lhs.get()< rhs.get())
 
template<class T , class U >
auto gsl::operator<= (const not_null< T > &lhs, const not_null< U > &rhs) noexcept(noexcept(lhs.get()<=rhs.get())) -> decltype(lhs.get()<=rhs.get())
 
template<class T , class U >
auto gsl::operator> (const not_null< T > &lhs, const not_null< U > &rhs) noexcept(noexcept(lhs.get() > rhs.get())) -> decltype(lhs.get() > rhs.get())
 
template<class T , class U >
auto gsl::operator>= (const not_null< T > &lhs, const not_null< U > &rhs) noexcept(noexcept(lhs.get() >=rhs.get())) -> decltype(lhs.get() >=rhs.get())
 
template<class T , class U >
std::ptrdiff_t gsl::operator- (const not_null< T > &, const not_null< U > &)=delete
 
template<class T >
not_null< T > gsl::operator- (const not_null< T > &, std::ptrdiff_t)=delete
 
template<class T >
not_null< T > gsl::operator+ (const not_null< T > &, std::ptrdiff_t)=delete
 
template<class T >
not_null< T > gsl::operator+ (std::ptrdiff_t, const not_null< T > &)=delete
 
template<class T , class U >
std::ptrdiff_t gsl::operator- (const strict_not_null< T > &, const strict_not_null< U > &)=delete
 
template<class T >
strict_not_null< T > gsl::operator- (const strict_not_null< T > &, std::ptrdiff_t)=delete
 
template<class T >
strict_not_null< T > gsl::operator+ (const strict_not_null< T > &, std::ptrdiff_t)=delete
 
template<class T >
strict_not_null< T > gsl::operator+ (std::ptrdiff_t, const strict_not_null< T > &)=delete
 
template<class T >
auto gsl::make_strict_not_null (T &&t) noexcept
 
template<class T >
ostream & std::operator<< (ostream &os, const LIBCOPP_COPP_NAMESPACE_ID::gsl::not_null< T > &val)
 

Function Documentation

◆ operator<<()

template<class T >
ostream& std::operator<< ( ostream &  os,
const LIBCOPP_COPP_NAMESPACE_ID::gsl::not_null< T > &  val 
)

Definition at line 258 of file not_null.h.

References std::operator<<().

Referenced by std::operator<<().