15c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie//===-- None.h - Simple null value for implicit construction ------*- C++ -*-=// 25c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie// 35c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie// The LLVM Compiler Infrastructure 45c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie// 55c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie// This file is distributed under the University of Illinois Open Source 65c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie// License. See LICENSE.TXT for details. 75c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie// 85c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie//===----------------------------------------------------------------------===// 95c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie// 107f838bbe450a28aba8769550a78219d3109c4a4eDavid Blaikie// This file provides None, an enumerator for use in implicit constructors 115c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie// of various (usually templated) types to make such construction more 125c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie// terse. 135c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie// 145c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie//===----------------------------------------------------------------------===// 155c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie 165c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie#ifndef LLVM_ADT_NONE_H 175c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie#define LLVM_ADT_NONE_H 185c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie 195c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikienamespace llvm { 205c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie/// \brief A simple null object to allow implicit construction of Optional<T> 215c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie/// and similar types without having to spell out the specialization's name. 225c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikieenum NoneType { 235c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie None 245c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie}; 255c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie} 265c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie 275c43245bf459c77077b607e1b55e6928cfbe464eDavid Blaikie#endif 28