Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::Selector< FF > Class Template Referenceabstract

Read (and targeted-write) interface over one selector column. More...

#include <execution_trace_block.hpp>

Inheritance diagram for bb::Selector< FF >:
bb::GateSelectorColumn< bb::field, NUM_WIRES > bb::SelectorColumn< bb::field, NUM_WIRES > bb::GateSelectorColumn< FF, NUM_WIRES > bb::SelectorColumn< FF, NUM_WIRES >

Public Member Functions

 Selector ()=default
 
virtual ~Selector ()=default
 
 Selector (const Selector &)=default
 
Selectoroperator= (const Selector &)=default
 
 Selector (Selector &&)=delete
 
Selectoroperator= (Selector &&)=delete
 
virtual void set (size_t idx, int value)=0
 Set the value at index using integer.
 
virtual void set (size_t idx, const FF &value)=0
 Set the value at index using a field element.
 
virtual const FFoperator[] (size_t index) const =0
 Get value at specified index.
 
virtual const FFback () const =0
 Get the last value in the selector.
 
virtual size_t size () const =0
 
virtual bool empty () const =0
 
virtual void copy_into (FF *dst, size_t start, size_t count) const =0
 Bulk-copy count values of this column starting at start into dst (tile-wise, avoiding a virtual call per element).
 

Detailed Description

template<typename FF>
class bb::Selector< FF >

Read (and targeted-write) interface over one selector column.

Columns are views into the row-major gate storage; appending happens exclusively through ExecutionTraceBlock::append_gate, so this interface deliberately has no append or resize — a misdirected per-column append is a compile error.

Definition at line 150 of file execution_trace_block.hpp.

Constructor & Destructor Documentation

◆ Selector() [1/3]

template<typename FF >
bb::Selector< FF >::Selector ( )
default

◆ ~Selector()

template<typename FF >
virtual bb::Selector< FF >::~Selector ( )
virtualdefault

◆ Selector() [2/3]

template<typename FF >
bb::Selector< FF >::Selector ( const Selector< FF > &  )
default

◆ Selector() [3/3]

template<typename FF >
bb::Selector< FF >::Selector ( Selector< FF > &&  )
delete

Member Function Documentation

◆ back()

template<typename FF >
virtual const FF & bb::Selector< FF >::back ( ) const
pure virtual

◆ copy_into()

template<typename FF >
virtual void bb::Selector< FF >::copy_into ( FF dst,
size_t  start,
size_t  count 
) const
pure virtual

Bulk-copy count values of this column starting at start into dst (tile-wise, avoiding a virtual call per element).

Implemented in bb::SelectorColumn< FF, NUM_WIRES >, and bb::GateSelectorColumn< FF, NUM_WIRES >.

◆ empty()

◆ operator=() [1/2]

template<typename FF >
Selector & bb::Selector< FF >::operator= ( const Selector< FF > &  )
default

◆ operator=() [2/2]

template<typename FF >
Selector & bb::Selector< FF >::operator= ( Selector< FF > &&  )
delete

◆ operator[]()

template<typename FF >
virtual const FF & bb::Selector< FF >::operator[] ( size_t  index) const
pure virtual

◆ set() [1/2]

template<typename FF >
virtual void bb::Selector< FF >::set ( size_t  idx,
const FF value 
)
pure virtual

Set the value at index using a field element.

Implemented in bb::SelectorColumn< FF, NUM_WIRES >, and bb::GateSelectorColumn< FF, NUM_WIRES >.

◆ set() [2/2]

template<typename FF >
virtual void bb::Selector< FF >::set ( size_t  idx,
int  value 
)
pure virtual

◆ size()


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