Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
duckdb::PhysicalPlan Class Reference
Collaboration diagram for duckdb::PhysicalPlan:

Public Member Functions

 PhysicalPlan (Allocator &allocator)
 
template<class T , class... ARGS>
PhysicalOperatorMake (ARGS &&... args)
 
PhysicalOperatorRoot ()
 
void SetRoot (PhysicalOperator &op)
 
ArenaAllocatorArenaRef ()
 Get a reference to the arena.
 

Private Attributes

ArenaAllocator arena
 The arena allocator storing the physical operator memory.
 
vector< reference< PhysicalOperator > > ops
 References to the physical operators.
 
optional_ptr< PhysicalOperatorroot
 The root of the physical plan.
 

Constructor & Destructor Documentation

◆ PhysicalPlan()

duckdb::PhysicalPlan::PhysicalPlan ( Allocator allocator)
inlineexplicit
38110: arena(allocator) {};
ArenaAllocator arena
The arena allocator storing the physical operator memory.
Definition duckdb.hpp:38143

◆ ~PhysicalPlan()

duckdb::PhysicalPlan::~PhysicalPlan ( )
inline
38112 {
38113 // Call the destructor of each physical operator.
38114 for (auto &op : ops) {
38115 auto &op_ref = op.get();
38116 op_ref.~PhysicalOperator();
38117 }
38118 }
vector< reference< PhysicalOperator > > ops
References to the physical operators.
Definition duckdb.hpp:38145

Member Function Documentation

◆ Make()

template<class T , class... ARGS>
PhysicalOperator & duckdb::PhysicalPlan::Make ( ARGS &&...  args)
inline
38122 {
38123 static_assert(std::is_base_of<PhysicalOperator, T>::value, "T must be a physical operator");
38124 auto ptr = arena.Make<T>(*this, std::forward<ARGS>(args)...);
38125 ops.push_back(*ptr);
38126 return *ptr;
38127 }

◆ Root()

PhysicalOperator & duckdb::PhysicalPlan::Root ( )
inline
38129 {
38130 D_ASSERT(root);
38131 return *root;
38132 }
optional_ptr< PhysicalOperator > root
The root of the physical plan.
Definition duckdb.hpp:38147

◆ SetRoot()

void duckdb::PhysicalPlan::SetRoot ( PhysicalOperator op)
inline
38133 {
38134 root = op;
38135 }

◆ ArenaRef()

ArenaAllocator & duckdb::PhysicalPlan::ArenaRef ( )
inline

Get a reference to the arena.

38137 {
38138 return arena;
38139 }

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