|
LLVM
4.0.0
|
#include "llvm/ADT/Optional.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/StringMap.h"#include "llvm/ADT/StringRef.h"#include "llvm/ADT/Twine.h"#include "llvm/Support/AlignOf.h"#include "llvm/Support/Allocator.h"#include "llvm/Support/Endian.h"#include "llvm/Support/Regex.h"#include "llvm/Support/SourceMgr.h"#include "llvm/Support/YAMLParser.h"#include "llvm/Support/raw_ostream.h"#include <cassert>#include <cctype>#include <cstddef>#include <cstdint>#include <memory>#include <new>#include <string>#include <system_error>#include <type_traits>#include <vector>Go to the source code of this file.
Namespaces | |
| llvm | |
| Compute iterated dominance frontiers using a linear time algorithm. | |
| llvm::yaml | |
| llvm::yaml::detail | |
Macros | |
| #define | LLVM_YAML_STRONG_TYPEDEF(_base, _type) |
| YAML I/O does conversion based on types. More... | |
| #define | LLVM_YAML_IS_SEQUENCE_VECTOR(_type) |
| Utility for declaring that a std::vector of a particular type should be considered a YAML sequence. More... | |
| #define | LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(_type) |
| Utility for declaring that a std::vector of a particular type should be considered a YAML flow sequence. More... | |
| #define | LLVM_YAML_IS_DOCUMENT_LIST_VECTOR(_type) |
| Utility for declaring that a std::vector of a particular type should be considered a YAML document list. More... | |
| #define | LLVM_YAML_IS_STRING_MAP(_type) |
| Utility for declaring that std::map<std::string, _type> should be considered a YAML map. More... | |
Functions | |
| bool | llvm::yaml::isNumber (StringRef S) |
| bool | llvm::yaml::isNumeric (StringRef S) |
| bool | llvm::yaml::isNull (StringRef S) |
| bool | llvm::yaml::isBool (StringRef S) |
| bool | llvm::yaml::needsQuotes (StringRef S) |
| template<typename T , typename Context > | |
| void | llvm::yaml::detail::doMapping (IO &io, T &Val, Context &Ctx) |
| template<typename T > | |
| void | llvm::yaml::detail::doMapping (IO &io, T &Val, EmptyContext &Ctx) |
| template<typename T > | |
| std::enable_if < has_ScalarEnumerationTraits < T >::value, void >::type | llvm::yaml::yamlize (IO &io, T &Val, bool, EmptyContext &Ctx) |
| template<typename T > | |
| std::enable_if < has_ScalarBitSetTraits< T > ::value, void >::type | llvm::yaml::yamlize (IO &io, T &Val, bool, EmptyContext &Ctx) |
| template<typename T > | |
| std::enable_if < has_ScalarTraits< T >::value, void >::type | llvm::yaml::yamlize (IO &io, T &Val, bool, EmptyContext &Ctx) |
| template<typename T > | |
| std::enable_if < has_BlockScalarTraits< T > ::value, void >::type | llvm::yaml::yamlize (IO &YamlIO, T &Val, bool, EmptyContext &Ctx) |
| template<typename T , typename Context > | |
| std::enable_if < validatedMappingTraits< T, Context >::value, void >::type | llvm::yaml::yamlize (IO &io, T &Val, bool, Context &Ctx) |
| template<typename T , typename Context > | |
| std::enable_if < unvalidatedMappingTraits< T, Context >::value, void >::type | llvm::yaml::yamlize (IO &io, T &Val, bool, Context &Ctx) |
| template<typename T > | |
| std::enable_if < has_CustomMappingTraits< T > ::value, void >::type | llvm::yaml::yamlize (IO &io, T &Val, bool, EmptyContext &Ctx) |
| template<typename T > | |
| std::enable_if< missingTraits < T, EmptyContext >::value, void >::type | llvm::yaml::yamlize (IO &io, T &Val, bool, EmptyContext &Ctx) |
| template<typename T , typename Context > | |
| std::enable_if < has_SequenceTraits< T > ::value, void >::type | llvm::yaml::yamlize (IO &io, T &Seq, bool, Context &Ctx) |
| template<typename T > | |
| std::enable_if < has_DocumentListTraits< T > ::value, Input & >::type | llvm::yaml::operator>> (Input &yin, T &docList) |
| template<typename T > | |
| std::enable_if < has_MappingTraits< T, EmptyContext >::value, Input & > ::type | llvm::yaml::operator>> (Input &yin, T &docMap) |
| template<typename T > | |
| std::enable_if < has_SequenceTraits< T > ::value, Input & >::type | llvm::yaml::operator>> (Input &yin, T &docSeq) |
| template<typename T > | |
| std::enable_if < has_BlockScalarTraits< T > ::value, Input & >::type | llvm::yaml::operator>> (Input &In, T &Val) |
| template<typename T > | |
| std::enable_if < has_CustomMappingTraits< T > ::value, Input & >::type | llvm::yaml::operator>> (Input &In, T &Val) |
| template<typename T > | |
| std::enable_if< missingTraits < T, EmptyContext >::value, Input & >::type | llvm::yaml::operator>> (Input &yin, T &docSeq) |
| template<typename T > | |
| std::enable_if < has_DocumentListTraits< T > ::value, Output & >::type | llvm::yaml::operator<< (Output &yout, T &docList) |
| template<typename T > | |
| std::enable_if < has_MappingTraits< T, EmptyContext >::value, Output & > ::type | llvm::yaml::operator<< (Output &yout, T &map) |
| template<typename T > | |
| std::enable_if < has_SequenceTraits< T > ::value, Output & >::type | llvm::yaml::operator<< (Output &yout, T &seq) |
| template<typename T > | |
| std::enable_if < has_BlockScalarTraits< T > ::value, Output & >::type | llvm::yaml::operator<< (Output &Out, T &Val) |
| template<typename T > | |
| std::enable_if < has_CustomMappingTraits< T > ::value, Output & >::type | llvm::yaml::operator<< (Output &Out, T &Val) |
| template<typename T > | |
| std::enable_if< missingTraits < T, EmptyContext >::value, Output & >::type | llvm::yaml::operator<< (Output &yout, T &seq) |
| #define LLVM_YAML_IS_DOCUMENT_LIST_VECTOR | ( | _type | ) |
Utility for declaring that a std::vector of a particular type should be considered a YAML document list.
Definition at line 1602 of file YAMLTraits.h.
| #define LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR | ( | _type | ) |
Utility for declaring that a std::vector of a particular type should be considered a YAML flow sequence.
We need to do a partial specialization on the vector version, not a full. If this is a full specialization, the compiler is a bit too "smart" and decides to warn on -Wunused-const-variable. This workaround can be removed and we can do a full specialization on std::vector<T> once PR28878 is fixed.
Definition at line 1584 of file YAMLTraits.h.
| #define LLVM_YAML_IS_SEQUENCE_VECTOR | ( | _type | ) |
Utility for declaring that a std::vector of a particular type should be considered a YAML sequence.
Definition at line 1565 of file YAMLTraits.h.
| #define LLVM_YAML_IS_STRING_MAP | ( | _type | ) |
Utility for declaring that std::map<std::string, _type> should be considered a YAML map.
Definition at line 1616 of file YAMLTraits.h.
| #define LLVM_YAML_STRONG_TYPEDEF | ( | _base, | |
| _type | |||
| ) |
YAML I/O does conversion based on types.
But often native data types are just a typedef of built in intergral types (e.g. int). But the C++ type matching system sees through the typedef and all the typedefed types look like a built in type. This will cause the generic YAML I/O conversion to be used. To provide better control over the YAML conversion, you can use this macro instead of typedef. It will create a class with one field and automatic conversion operators to and from the base type. Based on BOOST_STRONG_TYPEDEF
Definition at line 1327 of file YAMLTraits.h.
1.8.6