#include "core/fpdfapi/parser/cpdf_indirect_object_holder.h"
#include <algorithm>
#include <memory>
#include <utility>
#include "core/fpdfapi/parser/cpdf_object.h"
#include "core/fpdfapi/parser/cpdf_parser.h"
#include "core/fxcrt/check.h"
namespace {
const CPDF_Object* FilterInvalidObjNum(const CPDF_Object* obj) { … }
}
CPDF_IndirectObjectHolder::CPDF_IndirectObjectHolder()
: … { … }
CPDF_IndirectObjectHolder::~CPDF_IndirectObjectHolder() { … }
RetainPtr<const CPDF_Object> CPDF_IndirectObjectHolder::GetIndirectObject(
uint32_t objnum) const { … }
RetainPtr<CPDF_Object> CPDF_IndirectObjectHolder::GetMutableIndirectObject(
uint32_t objnum) { … }
const CPDF_Object* CPDF_IndirectObjectHolder::GetIndirectObjectInternal(
uint32_t objnum) const { … }
RetainPtr<CPDF_Object> CPDF_IndirectObjectHolder::GetOrParseIndirectObject(
uint32_t objnum) { … }
CPDF_Object* CPDF_IndirectObjectHolder::GetOrParseIndirectObjectInternal(
uint32_t objnum) { … }
RetainPtr<CPDF_Object> CPDF_IndirectObjectHolder::ParseIndirectObject(
uint32_t objnum) { … }
uint32_t CPDF_IndirectObjectHolder::AddIndirectObject(
RetainPtr<CPDF_Object> pObj) { … }
bool CPDF_IndirectObjectHolder::ReplaceIndirectObjectIfHigherGeneration(
uint32_t objnum,
RetainPtr<CPDF_Object> pObj) { … }
void CPDF_IndirectObjectHolder::DeleteIndirectObject(uint32_t objnum) { … }