#include <CscPoint3dIterable.h>
Public Member Functions | |
| CscPoint3dIterableVector (const VectorType &vec) noexcept | |
| size_t | size () const noexcept override |
| bool | empty () const noexcept override |
| const CscPoint3d & | at (size_t i) const override |
| const CscPoint3d & | operator[] (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 | |
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
|
inlineexplicitnoexcept |
|
inlineoverridevirtual |
Implements CscPoint3dIterable.
|
inlineoverridevirtualnoexcept |
Implements CscPoint3dIterable.
|
inlineoverridevirtual |
Implements CscPoint3dIterable.
|
inlineoverridevirtualnoexcept |
Implements CscPoint3dIterable.