Conscience Core
Classes | Public Member Functions | Protected Member Functions | List of all members
CscPoint3dIterable Class Referenceabstract

#include <CscPoint3dIterable.h>

Inheritance diagram for CscPoint3dIterable:
CscPoint3dIterableVector< VectorType >

Classes

struct  iterator
 

Public Member Functions

virtual ~CscPoint3dIterable ()=default
 
virtual size_t size () const noexcept=0
 
virtual bool empty () const noexcept=0
 
virtual const CscPoint3doperator[] (size_t i) const =0
 
virtual const CscPoint3dat (size_t i) const =0
 
iterator begin () const
 
iterator end () const
 

Protected Member Functions

 CscPoint3dIterable ()=default
 

Detailed Description

This class provides a single uniform interface that can wrap both std::vector<CscPoint3d> and std::vector<CscPoint3d*> without copying the underlying data. It is designed for maximum runtime performance: no virtual calls in the hot path (iterator uses index-based access), zero heap allocation, and minimal overhead.

Particularly useful because Conscience APIs might return either value vectors or pointer vectors and we want to be as efficient as possible

Constructor & Destructor Documentation

◆ ~CscPoint3dIterable()

virtual CscPoint3dIterable::~CscPoint3dIterable ( )
virtualdefault

◆ CscPoint3dIterable()

CscPoint3dIterable::CscPoint3dIterable ( )
protecteddefault

Member Function Documentation

◆ at()

virtual const CscPoint3d& CscPoint3dIterable::at ( size_t  i) const
pure virtual

◆ begin()

iterator CscPoint3dIterable::begin ( ) const
inline

◆ empty()

virtual bool CscPoint3dIterable::empty ( ) const
pure virtualnoexcept

◆ end()

iterator CscPoint3dIterable::end ( ) const
inline

◆ operator[]()

virtual const CscPoint3d& CscPoint3dIterable::operator[] ( size_t  i) const
pure virtual

◆ size()

virtual size_t CscPoint3dIterable::size ( ) const
pure virtualnoexcept

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