#include"arch/instruction_set.h" #include"base/variant_map.h" #include"cmdline_types.h"// TODO: don't need to include this file here #include"compiler.h" #include"driver/compiler_options_map.h" #include"linker/oat_writer.h" #include"oat/image.h"
namespace art {
template <typename TVariantMap, template <typename TKeyValue> class TVariantMapKey> struct CmdlineParser;
// Define a key that is usable with a Dex2oatArgumentMap. // This key will *not* work with other subtypes of VariantMap. template <typename TValue> struct Dex2oatArgumentMapKey : VariantMapKey<TValue> {
Dex2oatArgumentMapKey() {} explicit Dex2oatArgumentMapKey(TValue default_value)
: VariantMapKey<TValue>(std::move(default_value)) {} // Don't ODR-use constexpr default values, which means that Struct::Fields // that are declared 'static constexpr T Name = Value' don't need to have a matching definition.
};
// Defines a type-safe heterogeneous key->value map. // Use the VariantMap interface to look up or to store a Dex2oatArgumentMapKey,Value pair. // // Example: // auto map = Dex2oatArgumentMap(); // map.Set(Dex2oatArgumentMap::ZipFd, -1); // int *target_utilization = map.Get(Dex2oatArgumentMap::ZipFd); // struct Dex2oatArgumentMap : CompilerOptionsMap<Dex2oatArgumentMap, Dex2oatArgumentMapKey> { // This 'using' line is necessary to inherit the variadic constructor. using CompilerOptionsMap<Dex2oatArgumentMap, Dex2oatArgumentMapKey>::CompilerOptionsMap;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.