MOTION  0.01
Framework for mixed-protocol multi-party computation
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
encrypto::motion::Share Class Referenceabstract

#include <share.h>

Inheritance diagram for encrypto::motion::Share:
Inheritance graph
[legend]
Collaboration diagram for encrypto::motion::Share:
Collaboration graph
[legend]

Public Member Functions

virtual ~Share ()=default
 
virtual std::size_t GetNumberOfSimdValues () const noexcept=0
 
virtual MpcProtocol GetProtocol () const noexcept=0
 
virtual CircuitType GetCircuitType () const noexcept=0
 
virtual std::size_t GetBitLength () const noexcept=0
 
virtual const std::vector< WirePointer > & GetWires () const noexcept=0
 
virtual std::vector< WirePointer > & GetMutableWires () noexcept=0
 
virtual std::vector< std::shared_ptr< Share > > Split () const noexcept=0
 
virtual std::shared_ptr< ShareGetWire (std::size_t i) const =0
 
BackendGetBackend () const
 
std::shared_ptr< RegisterGetRegister ()
 
 Share (Share &)=delete
 
 Share (const Share &)=delete
 
bool IsConstant () const noexcept
 

Static Public Member Functions

static std::shared_ptr< ShareConcatenate (const std::vector< std::shared_ptr< Share >> &v)
 

Protected Member Functions

 Share (Backend &backend)
 

Protected Attributes

Backendbackend_
 
std::vector< WirePointerwires_
 

Constructor & Destructor Documentation

◆ ~Share()

virtual encrypto::motion::Share::~Share ( )
virtualdefault

◆ Share() [1/3]

encrypto::motion::Share::Share ( Share )
delete

◆ Share() [2/3]

encrypto::motion::Share::Share ( const Share )
delete

◆ Share() [3/3]

encrypto::motion::Share::Share ( Backend backend)
inlineprotected

Member Function Documentation

◆ Concatenate()

static std::shared_ptr<Share> encrypto::motion::Share::Concatenate ( const std::vector< std::shared_ptr< Share >> &  v)
static

◆ GetBackend()

Backend& encrypto::motion::Share::GetBackend ( ) const
inline

◆ GetBitLength()

virtual std::size_t encrypto::motion::Share::GetBitLength ( ) const
pure virtualnoexcept

◆ GetCircuitType()

virtual CircuitType encrypto::motion::Share::GetCircuitType ( ) const
pure virtualnoexcept

◆ GetMutableWires()

virtual std::vector<WirePointer>& encrypto::motion::Share::GetMutableWires ( )
pure virtualnoexcept

◆ GetNumberOfSimdValues()

virtual std::size_t encrypto::motion::Share::GetNumberOfSimdValues ( ) const
pure virtualnoexcept

◆ GetProtocol()

virtual MpcProtocol encrypto::motion::Share::GetProtocol ( ) const
pure virtualnoexcept

◆ GetRegister()

std::shared_ptr< Register > encrypto::motion::Share::GetRegister ( )
Here is the call graph for this function:

◆ GetWire()

virtual std::shared_ptr<Share> encrypto::motion::Share::GetWire ( std::size_t  i) const
pure virtual

◆ GetWires()

virtual const std::vector<WirePointer>& encrypto::motion::Share::GetWires ( ) const
pure virtualnoexcept

◆ IsConstant()

bool encrypto::motion::Share::IsConstant ( ) const
noexcept

◆ Split()

virtual std::vector<std::shared_ptr<Share> > encrypto::motion::Share::Split ( ) const
pure virtualnoexcept

Member Data Documentation

◆ backend_

Backend& encrypto::motion::Share::backend_
protected

◆ wires_

std::vector<WirePointer> encrypto::motion::Share::wires_
protected

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