pstore2
Classes | Typedefs | Enumerations | Functions
generic_section.hpp File Reference

Declares the generic section. More...

#include <algorithm>
#include <memory>
#include <cstring>
#include "pstore/adt/small_vector.hpp"
#include "pstore/core/address.hpp"
#include "pstore/mcrepo/section.hpp"
#include "pstore/support/aligned.hpp"
#include "pstore/support/bit_count.hpp"
#include "pstore/support/bit_field.hpp"
#include "pstore/support/gsl.hpp"
Include dependency graph for generic_section.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  pstore::repo::internal_fixup
 
struct  pstore::repo::external_fixup
 
class  pstore::repo::generic_section
 
struct  pstore::repo::generic_section::sources< DataRangeType, IFixupRangeType, XFixupRangeType >
 Describes the three members of a section as three pairs of iterators: one each for the data, internal fixups, and external fixups ranges. More...
 
struct  pstore::repo::section_content
 
class  pstore::repo::generic_section_creation_dispatcher
 
struct  pstore::repo::section_to_creation_dispatcher< generic_section >
 
class  pstore::repo::section_dispatcher
 
struct  pstore::repo::section_to_dispatcher< generic_section >
 

Typedefs

using pstore::repo::relocation_type = std::uint8_t
 

Enumerations

enum  pstore::repo::binding { strong, weak }
 Defines the strength of an external reference. More...
 

Functions

std::ostream & pstore::repo::operator<< (std::ostream &os, internal_fixup const &xfx)
 
std::ostream & pstore::repo::operator<< (std::ostream &os, binding const &b)
 
std::ostream & pstore::repo::operator<< (std::ostream &os, external_fixup const &xfx)
 
bool pstore::repo::operator== (section_content const &lhs, section_content const &rhs)
 
bool pstore::repo::operator!= (section_content const &lhs, section_content const &rhs)
 
std::ostream & pstore::repo::operator<< (std::ostream &os, section_content const &c)
 
template<>
unsigned pstore::repo::section_alignment< pstore::repo::generic_section > (pstore::repo::generic_section const &s) noexcept
 
template<>
std::uint64_t pstore::repo::section_size< pstore::repo::generic_section > (pstore::repo::generic_section const &s) noexcept
 

Detailed Description

Declares the generic section.

This is used for many of the fragment sections and holds a BLOB and collections of internal- and external-fixups.

Enumeration Type Documentation

◆ binding

enum pstore::repo::binding
strong

Defines the strength of an external reference.

A "strong" reference must be resolved whereas a link with unresolved weak references will complete successfully.