EventAnalysis  1.0.0
Classes | Namespaces | Functions
ObserverPtr.h File Reference
#include <core/Traits.h>
#include <iostream>
#include <memory>
#include <stdexcept>
#include <type_traits>

Go to the source code of this file.

Classes

class  EA::observer_ptr< T >
 A smart pointer not owning the wrapped object. More...
 
struct  EA::is_observer_ptr< T >
 
struct  EA::is_observer_ptr< observer_ptr< T > >
 
struct  EA::one_observer_ptr< T, W >
 
struct  EA::one_observer_ptr_and_no_pointer< T, W >
 

Namespaces

 EA
 IncludeFileExc.h IncludeFileExc class declaration.
 

Functions

template<typename T , typename W >
std::enable_if_t< std::is_pointer< W >::value, bool > EA::operator== (const observer_ptr< T > &p1, const W &p2)
 
template<typename T , typename W >
std::enable_if_t< std::is_pointer< W >::value, bool > EA::operator== (const W &p1, const observer_ptr< T > &p2)
 
template<typename T , typename W >
std::enable_if_t< one_observer_ptr_and_no_pointer< T, W >::value, bool > EA::operator== (const T &p1, const W &p2)
 
template<typename T , typename W >
std::enable_if_t< one_observer_ptr< T, W >::value, bool > EA::operator!= (const T &p1, const W &p2)
 

Detailed Description

observer_ptr template class declaration and definition.