3#include "sparta/functional/Register.hpp"
4#include "sparta/functional/RegisterSet.hpp"
15template <
typename RegisterT>
19 using Definition =
typename RegisterT::Definition;
23 definitions_.push_back(RegisterT::DEFINITION_END);
34 definitions_.pop_back();
36 for (
auto i = definitions; *i != RegisterT::DEFINITION_END; ++i) {
37 definitions_.push_back(*i);
40 definitions_.push_back(RegisterT::DEFINITION_END);
49 return definitions_.data();
54 std::vector<Definition> definitions_;
61using RegisterDefinitionSet =
62 __RegisterDefintionSet<sparta::RegisterBase>;
64using ProxyDefinitionSet =
65 __RegisterDefintionSet<sparta::RegisterProxyBase>;
Type that holds a set of register definitions.
const Definition * getDefinitions() const
void addDefinitions(const Definition *definitions)
Macros for handling exponential backoff.