LIEF: Library to Instrument Executable Formats Version 0.16.6
Loading...
Searching...
No Matches
LIEF::dwarf::types::ClassLike Class Reference

This class abstracts a DWARF aggregate: DW_TAG_structure_type, DW_TAG_class_type, DW_TAG_union_type. More...

#include <ClassLike.hpp>

Inheritance diagram for LIEF::dwarf::types::ClassLike:
Collaboration diagram for LIEF::dwarf::types::ClassLike:

Classes

class  Member
 This represents a class/struct/union attribute. More...
 

Public Types

using functions_it = iterator_range<Function::Iterator>
 
- Public Types inherited from LIEF::dwarf::Type
enum class  KIND {
  UNKNOWN = 0 , UNSPECIFIED , BASE , CONST_KIND ,
  CLASS , ARRAY , POINTER , STRUCT ,
  UNION , TYPEDEF , REF , SET_TYPE ,
  STRING , SUBROUTINE , POINTER_MEMBER , PACKED ,
  FILE , THROWN , VOLATILE , RESTRICT ,
  INTERFACE , SHARED , RVALREF , TEMPLATE_ALIAS ,
  COARRAY , DYNAMIC , ATOMIC , IMMUTABLE ,
  ENUM
}
 

Public Member Functions

std::vector< Membermembers () const
 Return the list of all the attributes defined in this class-like type.
 
std::unique_ptr< Memberfind_member (uint64_t offset) const
 Try to find the attribute at the given offset.
 
functions_it functions () const
 Iterator over the functions defined by the class-like.
 
 ~ClassLike () override
 
- Public Member Functions inherited from LIEF::dwarf::Type
virtual ~Type ()
 
KIND kind () const
 
bool is_unspecified () const
 Whether this type is a DW_TAG_unspecified_type
 
result< std::string > name () const
 Return the type's name using either DW_AT_name or DW_AT_picture_string (if any).
 
result< uint64_t > size () const
 Return the size of the type or an error if it can't be computed.
 
debug_location_t location () const
 Return the debug location where this type is defined.
 
std::unique_ptr< Scopescope () const
 Return the scope in which this type is defined.
 
template<class T >
const T * as () const
 

Static Public Member Functions

static bool classof (const Type *type)
 
- Static Public Member Functions inherited from LIEF::dwarf::Type
static std::unique_ptr< Typecreate (std::unique_ptr< details::Type > impl)
 

Detailed Description

This class abstracts a DWARF aggregate: DW_TAG_structure_type, DW_TAG_class_type, DW_TAG_union_type.

Member Typedef Documentation

◆ functions_it

Constructor & Destructor Documentation

◆ ~ClassLike()

LIEF::dwarf::types::ClassLike::~ClassLike ( )
override

Member Function Documentation

◆ classof()

static bool LIEF::dwarf::types::ClassLike::classof ( const Type * type)
inlinestatic

◆ find_member()

std::unique_ptr< Member > LIEF::dwarf::types::ClassLike::find_member ( uint64_t offset) const

Try to find the attribute at the given offset.

◆ functions()

functions_it LIEF::dwarf::types::ClassLike::functions ( ) const

Iterator over the functions defined by the class-like.

◆ members()

std::vector< Member > LIEF::dwarf::types::ClassLike::members ( ) const

Return the list of all the attributes defined in this class-like type.


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