ROSE 0.11.145.141
Public Types | Public Member Functions | Protected Attributes | List of all members
Rose::BinaryAnalysis::RegisterDictionary::SortBySize Class Reference

Description

Compares number of bits in register descriptors.

This comparator is used to sort register descriptors in either ascending or descending order depending on the number of significant bits in the register. The default constructor uses a descending sort order.

For instance, to get a list of all descriptors sorted by descending number of significant bits, one could do:

RegisterDescriptors regs = dictionary.get_descriptors();
std::sort(regs.begin(), regs.end(), SortBySize());
Compares number of bits in register descriptors.
Rose::BinaryAnalysis::RegisterDescriptors RegisterDescriptors
List of register descriptors in dictionary.

Definition at line 312 of file RegisterDictionary.h.

#include <Rose/BinaryAnalysis/RegisterDictionary.h>

Public Types

enum  Direction {
  ASCENDING ,
  DESCENDING
}
 

Public Member Functions

 SortBySize (Direction d=DESCENDING)
 
bool operator() (RegisterDescriptor a, RegisterDescriptor b) const
 

Protected Attributes

Direction direction
 

Member Enumeration Documentation

◆ Direction

enum Rose::BinaryAnalysis::RegisterDictionary::SortBySize::Direction

Definition at line 314 of file RegisterDictionary.h.

Constructor & Destructor Documentation

◆ SortBySize()

Rose::BinaryAnalysis::RegisterDictionary::SortBySize::SortBySize ( Direction  d = DESCENDING)
inlineexplicit

Definition at line 315 of file RegisterDictionary.h.

Member Function Documentation

◆ operator()()

bool Rose::BinaryAnalysis::RegisterDictionary::SortBySize::operator() ( RegisterDescriptor  a,
RegisterDescriptor  b 
) const
inline

Definition at line 316 of file RegisterDictionary.h.

Member Data Documentation

◆ direction

Direction Rose::BinaryAnalysis::RegisterDictionary::SortBySize::direction
protected

Definition at line 322 of file RegisterDictionary.h.


The documentation for this class was generated from the following file: