• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //===-- None.h - Simple null value for implicit construction ------*- C++ -*-=//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 //  This file provides None, an enumerator for use in implicit constructors
11 //  of various (usually templated) types to make such construction more
12 //  terse.
13 //
14 //===----------------------------------------------------------------------===//
15 
16 #ifndef LLVM_ADT_NONE_H
17 #define LLVM_ADT_NONE_H
18 
19 namespace llvm {
20 /// \brief A simple null object to allow implicit construction of Optional<T>
21 /// and similar types without having to spell out the specialization's name.
22 enum class NoneType { None };
23 const NoneType None = None;
24 }
25 
26 #endif
27