18#include "../Descriptor.h"
86 addAndPair(descriptor);
117 if (d_descriptors.size() !=
that.d_descriptors.size()) {
118 throw std::runtime_error(
"Descriptor lists should be the same length!");
122 for (
auto i = 1u; i < d_descriptors.size(); ++i) {
141 std::stringstream
ss;
142 auto basis = d_descriptors[0];
148 for (
auto it = d_descriptors.begin() + 1;
it != d_descriptors.end(); ++
it) {
156 std::vector<Descriptor> d_descriptors;
158 std::uint32_t d_pairing = 0;
169 if (!d_descriptors.empty() && d_descriptors[0] == descriptor) {
171 d_pairing |= 0x1 << (31 - d_descriptors.size());
173 d_descriptors.push_back(
ref(descriptor));
bool operator<(const PairList &that) const
std::string toString() const
static Descriptor ref(Descriptor descriptor)
std::uint32_t getPairing() const
int compareTo(const PairList &that) const
bool add(Descriptor descriptor)
PairList(const PairList &head, const PairList &tail)
void addAll(const T &descriptors)
Descriptor getRefDescriptor() const
static std::string to_string(const Descriptor &desc)
bool rdvalue_is(const RDValue_cast_t)