LIEF: Library to Instrument Executable Formats Version 1.0.0
Loading...
Searching...
No Matches
LIEF::pdb::Type Class Reference

This is the base class for any PDB type. More...

#include <Type.hpp>

Inheritance diagram for LIEF::pdb::Type:

Classes

class  Iterator

Public Types

enum class  KIND {
  UNKNOWN = 0 , CLASS , POINTER , SIMPLE ,
  ENUM , FUNCTION , MODIFIER , BITFIELD ,
  ARRAY , UNION , STRUCTURE , INTERFACE
}

Public Member Functions

KIND kind () const
optional< uint64_t > size () const
 Size of the type. This size should match the value of sizeof(...) applied to this type.
optional< std::string > name () const
 Type's name (if present).
std::string to_decl (const DeclOpt &opt=DeclOpt()) const
 Generates a C/C++ definition for this type.
template<class T>
const T * as () const
virtual ~Type ()

Static Public Member Functions

static std::unique_ptr< Type > create (std::unique_ptr< details::Type > impl)

Detailed Description

This is the base class for any PDB type.

Member Enumeration Documentation

◆ KIND

enum class LIEF::pdb::Type::KIND
strong
Enumerator
UNKNOWN 
CLASS 
POINTER 
SIMPLE 
ENUM 
FUNCTION 
MODIFIER 
BITFIELD 
ARRAY 
UNION 
STRUCTURE 
INTERFACE 

Constructor & Destructor Documentation

◆ ~Type()

virtual LIEF::pdb::Type::~Type ( )
virtual

Member Function Documentation

◆ as()

template<class T>
const T * LIEF::pdb::Type::as ( ) const
inline

◆ create()

std::unique_ptr< Type > LIEF::pdb::Type::create ( std::unique_ptr< details::Type > impl)
static

◆ kind()

◆ name()

optional< std::string > LIEF::pdb::Type::name ( ) const

Type's name (if present).

◆ size()

optional< uint64_t > LIEF::pdb::Type::size ( ) const

Size of the type. This size should match the value of sizeof(...) applied to this type.

◆ to_decl()

std::string LIEF::pdb::Type::to_decl ( const DeclOpt & opt = DeclOpt()) const

Generates a C/C++ definition for this type.


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