Conscience Core
Public Member Functions | List of all members
CscPoint3dIterableVector< VectorType > Class Template Referencefinal

#include <CscPoint3dIterable.h>

Inheritance diagram for CscPoint3dIterableVector< VectorType >:
CscPoint3dIterable

Public Member Functions

 CscPoint3dIterableVector (const VectorType &vec) noexcept
 
size_t size () const noexcept override
 
bool empty () const noexcept override
 
const CscPoint3dat (size_t i) const override
 
const CscPoint3doperator[] (size_t i) const override
 
- Public Member Functions inherited from CscPoint3dIterable
virtual ~CscPoint3dIterable ()=default
 
iterator begin () const
 
iterator end () const
 

Additional Inherited Members

- Protected Member Functions inherited from CscPoint3dIterable
 CscPoint3dIterable ()=default
 

Detailed Description

template<typename VectorType>
class CscPoint3dIterableVector< VectorType >

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

◆ CscPoint3dIterableVector()

template<typename VectorType >
CscPoint3dIterableVector< VectorType >::CscPoint3dIterableVector ( const VectorType &  vec)
inlineexplicitnoexcept

Member Function Documentation

◆ at()

template<typename VectorType >
const CscPoint3d& CscPoint3dIterableVector< VectorType >::at ( size_t  i) const
inlineoverridevirtual

Implements CscPoint3dIterable.

◆ empty()

template<typename VectorType >
bool CscPoint3dIterableVector< VectorType >::empty ( ) const
inlineoverridevirtualnoexcept

Implements CscPoint3dIterable.

◆ operator[]()

template<typename VectorType >
const CscPoint3d& CscPoint3dIterableVector< VectorType >::operator[] ( size_t  i) const
inlineoverridevirtual

Implements CscPoint3dIterable.

◆ size()

template<typename VectorType >
size_t CscPoint3dIterableVector< VectorType >::size ( ) const
inlineoverridevirtualnoexcept

Implements CscPoint3dIterable.


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