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::BaseResultRenderer Class Referenceabstract
Inheritance diagram for duckdb::BaseResultRenderer:
Collaboration diagram for duckdb::BaseResultRenderer:

Public Member Functions

virtual void RenderLayout (const string &text)=0
 
virtual void RenderColumnName (const string &text)=0
 
virtual void RenderType (const string &text)=0
 
virtual void RenderValue (const string &text, const LogicalType &type)=0
 
virtual void RenderNull (const string &text, const LogicalType &type)=0
 
virtual void RenderStringLiteral (const string &text, const LogicalType &type)
 
virtual void RenderFooter (const string &text)=0
 
BaseResultRendereroperator<< (char c)
 
BaseResultRendereroperator<< (const string &val)
 
void Render (ResultRenderType render_mode, const string &val)
 
void SetResultTypes (vector< LogicalType > new_column_types)
 
void SetValueColumn (optional_idx index)
 
const LogicalTypeGetValueType ()
 

Private Attributes

vector< LogicalTypecolumn_types
 
LogicalType invalid_type
 
optional_idx column_idx
 

Constructor & Destructor Documentation

◆ BaseResultRenderer()

duckdb::BaseResultRenderer::BaseResultRenderer ( )
47289 : invalid_type(LogicalTypeId::INVALID) {
47290}

◆ ~BaseResultRenderer()

duckdb::BaseResultRenderer::~BaseResultRenderer ( )
virtual
47292 {
47293}

Member Function Documentation

◆ RenderStringLiteral()

virtual void duckdb::BaseResultRenderer::RenderStringLiteral ( const string &  text,
const LogicalType type 
)
inlinevirtual
35622 {
35623 RenderValue(text, type);
35624 }

◆ operator<<() [1/2]

BaseResultRenderer & duckdb::BaseResultRenderer::operator<< ( char  c)
47295 {
47296 RenderLayout(string(1, c));
47297 return *this;
47298}

◆ operator<<() [2/2]

BaseResultRenderer & duckdb::BaseResultRenderer::operator<< ( const string &  val)
47300 {
47301 RenderLayout(val);
47302 return *this;
47303}

◆ Render()

void duckdb::BaseResultRenderer::Render ( ResultRenderType  render_mode,
const string &  val 
)
47305 {
47306 switch (render_mode) {
47307 case ResultRenderType::LAYOUT:
47308 RenderLayout(val);
47309 break;
47310 case ResultRenderType::COLUMN_NAME:
47311 RenderColumnName(val);
47312 break;
47313 case ResultRenderType::COLUMN_TYPE:
47314 RenderType(val);
47315 break;
47316 case ResultRenderType::VALUE:
47317 RenderValue(val, GetValueType());
47318 break;
47319 case ResultRenderType::NULL_VALUE:
47320 RenderNull(val, GetValueType());
47321 break;
47322 case ResultRenderType::STRING_LITERAL:
47323 RenderStringLiteral(val, GetValueType());
47324 break;
47325 case ResultRenderType::FOOTER:
47326 RenderFooter(val);
47327 break;
47328 default:
47329 throw InternalException("Unsupported type for result renderer");
47330 }
47331}

◆ SetResultTypes()

void duckdb::BaseResultRenderer::SetResultTypes ( vector< LogicalType new_column_types)
47333 {
47334 column_types = std::move(new_column_types);
47335}

◆ SetValueColumn()

void duckdb::BaseResultRenderer::SetValueColumn ( optional_idx  index)
47337 {
47338 if (index.IsValid() && index.GetIndex() >= column_types.size()) {
47339 throw InternalException("BaseResultRenderer::SetValueColumn - column out of range");
47340 }
47341 column_idx = index;
47342}
index

◆ GetValueType()

const LogicalType & duckdb::BaseResultRenderer::GetValueType ( )
47344 {
47345 if (!column_idx.IsValid()) {
47346 return invalid_type;
47347 }
47348 return column_types[column_idx.GetIndex()];
47349}

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