|
pstore2
|
Represents an individual symbol in a compilation. More...
#include <compilation.hpp>

Public Member Functions | |
| definition (index::digest d, extent< fragment > x, typed_address< indirect_string > n, linkage l, visibility v=repo::visibility::default_vis) noexcept | |
| auto | linkage () const noexcept -> enum linkage |
| auto | visibility () const noexcept -> enum visibility |
Static Public Member Functions | |
| static auto | load (database const &db, typed_address< definition > addr) -> std::shared_ptr< definition const > |
| Returns a pointer to an in-store definition instance. More... | |
Public Attributes | |
| index::digest | digest |
| The digest of the fragment referenced by this compilation symbol. | |
| extent< fragment > | fext |
| The extent of the fragment referenced by this compilation symbol. | |
| typed_address< indirect_string > | name |
| union { | |
| std::uint8_t bf = UINT8_C (0) | |
| bit_field< std::uint8_t, 0, 4 > linkage_ | |
| bit_field< std::uint8_t, 4, 2 > visibility_ | |
| }; | |
| std::uint8_t | padding1 = 0 |
| std::uint16_t | padding2 = 0 |
| std::uint32_t | padding3 = 0 |
Friends | |
| class | compilation |
Represents an individual symbol in a compilation.
A definition provides the connection between a symbol name, its linkage, and the fragment which holds the associated data.
|
noexcept |
| d | The fragment digest for this compilation symbol. |
| x | The fragment extent for this compilation symbol. |
| n | Symbol name address. |
| l | The symbol linkage. |
| v | The symbol visibility. |
|
inlinestatic |
Returns a pointer to an in-store definition instance.
| db | The database from which the definition should be loaded. |
| addr | Address of the definition. |
1.8.13