Simplify memory management with std::unique_ptr.
[oota-llvm.git] / include / llvm / ADT / None.h
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