#include "core/fpdfapi/edit/cpdf_pagecontentmanager.h"
#include <stdint.h>
#include <map>
#include <numeric>
#include <sstream>
#include <utility>
#include <vector>
#include "core/fpdfapi/page/cpdf_pageobject.h"
#include "core/fpdfapi/page/cpdf_pageobjectholder.h"
#include "core/fpdfapi/parser/cpdf_array.h"
#include "core/fpdfapi/parser/cpdf_dictionary.h"
#include "core/fpdfapi/parser/cpdf_document.h"
#include "core/fpdfapi/parser/cpdf_reference.h"
#include "core/fpdfapi/parser/cpdf_stream.h"
#include "core/fpdfapi/parser/object_tree_traversal_util.h"
#include "core/fxcrt/check.h"
#include "core/fxcrt/containers/adapters.h"
#include "core/fxcrt/containers/contains.h"
#include "core/fxcrt/numerics/safe_conversions.h"
#include "third_party/abseil-cpp/absl/types/variant.h"
CPDF_PageContentManager::CPDF_PageContentManager(
CPDF_PageObjectHolder* page_obj_holder,
CPDF_Document* document)
: … { … }
CPDF_PageContentManager::~CPDF_PageContentManager() { … }
RetainPtr<CPDF_Stream> CPDF_PageContentManager::GetStreamByIndex(
size_t stream_index) { … }
size_t CPDF_PageContentManager::AddStream(fxcrt::ostringstream* buf) { … }
void CPDF_PageContentManager::UpdateStream(size_t stream_index,
fxcrt::ostringstream* buf) { … }
void CPDF_PageContentManager::ScheduleRemoveStreamByIndex(size_t stream_index) { … }
void CPDF_PageContentManager::ExecuteScheduledRemovals() { … }
RetainPtr<CPDF_Stream> CPDF_PageContentManager::GetContentsStream() { … }
RetainPtr<CPDF_Array> CPDF_PageContentManager::GetContentsArray() { … }