LLVM  10.0.0svn
Classes | Namespaces | Functions
Optional.h File Reference
#include "llvm/ADT/None.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/type_traits.h"
#include <cassert>
#include <memory>
#include <new>
#include <utility>
Include dependency graph for Optional.h:

Go to the source code of this file.

Classes

struct  llvm::optional_detail::in_place_t
 
class  llvm::optional_detail::OptionalStorage< T, bool >
 Storage for any type. More...
 
class  llvm::optional_detail::OptionalStorage< T, true >
 
class  llvm::Optional< T >
 

Namespaces

 llvm
 This class represents lattice values for constants.
 
 llvm::optional_detail
 

Functions

template<typename T , typename U >
bool llvm::operator== (const Optional< T > &X, const Optional< U > &Y)
 
template<typename T , typename U >
bool llvm::operator!= (const Optional< T > &X, const Optional< U > &Y)
 
template<typename T , typename U >
bool llvm::operator< (const Optional< T > &X, const Optional< U > &Y)
 
template<typename T , typename U >
bool llvm::operator<= (const Optional< T > &X, const Optional< U > &Y)
 
template<typename T , typename U >
bool llvm::operator> (const Optional< T > &X, const Optional< U > &Y)
 
template<typename T , typename U >
bool llvm::operator>= (const Optional< T > &X, const Optional< U > &Y)
 
template<typename T >
bool llvm::operator== (const Optional< T > &X, NoneType)
 
template<typename T >
bool llvm::operator== (NoneType, const Optional< T > &X)
 
template<typename T >
bool llvm::operator!= (const Optional< T > &X, NoneType)
 
template<typename T >
bool llvm::operator!= (NoneType, const Optional< T > &X)
 
template<typename T >
bool llvm::operator< (const Optional< T > &X, NoneType)
 
template<typename T >
bool llvm::operator< (NoneType, const Optional< T > &X)
 
template<typename T >
bool llvm::operator<= (const Optional< T > &X, NoneType)
 
template<typename T >
bool llvm::operator<= (NoneType, const Optional< T > &X)
 
template<typename T >
bool llvm::operator> (const Optional< T > &X, NoneType)
 
template<typename T >
bool llvm::operator> (NoneType, const Optional< T > &X)
 
template<typename T >
bool llvm::operator>= (const Optional< T > &X, NoneType)
 
template<typename T >
bool llvm::operator>= (NoneType, const Optional< T > &X)
 
template<typename T >
bool llvm::operator== (const Optional< T > &X, const T &Y)
 
template<typename T >
bool llvm::operator== (const T &X, const Optional< T > &Y)
 
template<typename T >
bool llvm::operator!= (const Optional< T > &X, const T &Y)
 
template<typename T >
bool llvm::operator!= (const T &X, const Optional< T > &Y)
 
template<typename T >
bool llvm::operator< (const Optional< T > &X, const T &Y)
 
template<typename T >
bool llvm::operator< (const T &X, const Optional< T > &Y)
 
template<typename T >
bool llvm::operator<= (const Optional< T > &X, const T &Y)
 
template<typename T >
bool llvm::operator<= (const T &X, const Optional< T > &Y)
 
template<typename T >
bool llvm::operator> (const Optional< T > &X, const T &Y)
 
template<typename T >
bool llvm::operator> (const T &X, const Optional< T > &Y)
 
template<typename T >
bool llvm::operator>= (const Optional< T > &X, const T &Y)
 
template<typename T >
bool llvm::operator>= (const T &X, const Optional< T > &Y)
 
raw_ostream & llvm::operator<< (raw_ostream &OS, NoneType)
 
template<typename T , typename = decltype(std::declval<raw_ostream &>() << std::declval<const T &>())>
raw_ostream & llvm::operator<< (raw_ostream &OS, const Optional< T > &O)