decompiler 1.0.0
Public Member Functions | Private Attributes | List of all members
ghidra::HomogeneousAggregate Class Reference

Filter on a homogeneous aggregate data-type. More...

#include <modelrules.hh>

Inheritance diagram for ghidra::HomogeneousAggregate:
ghidra::SizeRestrictedFilter ghidra::DatatypeFilter

Public Member Functions

 HomogeneousAggregate (type_metatype meta)
 Constructor for use with decode()
 
 HomogeneousAggregate (type_metatype meta, int4 maxPrim, int4 minSize, int4 maxSize)
 Constructor.
 
 HomogeneousAggregate (const HomogeneousAggregate &op2)
 Copy constructor.
 
virtual DatatypeFilterclone (void) const
 Make a copy of this filter.
 
virtual bool filter (Datatype *dt) const
 Test whether the given data-type belongs to this filter's data-type class.
 
virtual void decode (Decoder &decoder)
 Configure details of the data-type class being filtered from the given stream.
 
- Public Member Functions inherited from ghidra::SizeRestrictedFilter
 SizeRestrictedFilter (void)
 Constructor for use with decode()
 
 SizeRestrictedFilter (int4 min, int4 max)
 Constructor.
 
 SizeRestrictedFilter (const SizeRestrictedFilter &op2)
 Copy constructor.
 
bool filterOnSize (Datatype *dt) const
 Enforce any size bounds on a given data-type.
 
- Public Member Functions inherited from ghidra::DatatypeFilter
virtual ~DatatypeFilter (void)
 Destructor.
 

Private Attributes

type_metatype metaType
 The expected meta-type.
 
int4 maxPrimitives
 Maximum number of primitives in the aggregate.
 

Additional Inherited Members

- Static Public Member Functions inherited from ghidra::DatatypeFilter
static DatatypeFilterdecodeFilter (Decoder &decoder)
 Instantiate a filter from the given stream.
 
- Protected Member Functions inherited from ghidra::SizeRestrictedFilter
void initFromSizeList (const string &str)
 Initialize filter from enumerated list of sizes.
 
- Protected Attributes inherited from ghidra::SizeRestrictedFilter
int4 minSize
 Minimum size of the data-type in bytes.
 
int4 maxSize
 Maximum size of the data-type in bytes.
 
set< int4 > sizes
 An enumerated list of sizes (if not empty)
 

Detailed Description

Filter on a homogeneous aggregate data-type.

All primitive data-types must be the same.

Member Function Documentation

◆ clone()

virtual DatatypeFilter * ghidra::HomogeneousAggregate::clone ( void  ) const
inlinevirtual

Make a copy of this filter.

Returns
the newly allocated copy

Reimplemented from ghidra::SizeRestrictedFilter.

◆ decode()

void ghidra::HomogeneousAggregate::decode ( Decoder decoder)
virtual

Configure details of the data-type class being filtered from the given stream.

Parameters
decoderis the given stream decoder

Reimplemented from ghidra::SizeRestrictedFilter.

References ghidra::SizeRestrictedFilter::decode(), ghidra::Decoder::getNextAttributeId(), maxPrimitives, ghidra::Decoder::readUnsignedInteger(), and ghidra::Decoder::rewindAttributes().

◆ filter()

bool ghidra::HomogeneousAggregate::filter ( Datatype dt) const
virtual

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