LLVM
8.0.1
|
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/DynamicLibrary.h"
#include <memory>
Go to the source code of this file.
Classes | |
class | llvm::SimpleRegistryEntry< T > |
A simple registry entry which provides only a name, description, and no-argument constructor. More... | |
class | llvm::Registry< T > |
A global registry used in conjunction with static constructors to make pluggable components (like targets or garbage collectors) "just work" when linked with an executable. More... | |
class | llvm::Registry< T >::node |
Node in linked list of entries. More... | |
class | llvm::Registry< T >::iterator |
Iterators for registry entries. More... | |
class | llvm::Registry< T >::Add< V > |
A static registration template. More... | |
Namespaces | |
llvm | |
This class represents lattice values for constants. | |
Macros | |
#define | LLVM_INSTANTIATE_REGISTRY(REGISTRY_CLASS) |
Instantiate a registry class. More... | |
#define LLVM_INSTANTIATE_REGISTRY | ( | REGISTRY_CLASS | ) |
Instantiate a registry class.
This provides template definitions of add_node, begin, and the Head and Tail pointers, then explicitly instantiates them. We could explicitly specialize them, instead of the two-step process of define then instantiate, but strictly speaking that's not allowed by the C++ standard (we would need to have explicit specialization declarations in all translation units where the specialization is used) so we don't.
Definition at line 138 of file Registry.h.