MOTION  0.01
Framework for mixed-protocol multi-party computation
Public Member Functions | List of all members
encrypto::motion::proto::arithmetic_gmw::Share< T, typename > Class Template Referencefinal

#include <arithmetic_gmw_share.h>

Inheritance diagram for encrypto::motion::proto::arithmetic_gmw::Share< T, typename >:
Inheritance graph
[legend]
Collaboration diagram for encrypto::motion::proto::arithmetic_gmw::Share< T, typename >:
Collaboration graph
[legend]

Public Member Functions

 Share (const motion::WirePointer &wire)
 
 Share (const arithmetic_gmw::WirePointer< T > &wire)
 
 Share (const std::vector< arithmetic_gmw::WirePointer< T >> &wires)
 
 Share (const std::vector< motion::WirePointer > &wires)
 
 Share (const std::vector< T > &input, Backend &backend)
 
 Share (const T input, Backend &backend)
 
 ~Share () override=default
 
std::size_t GetNumberOfSimdValues () const noexcept final
 
MpcProtocol GetProtocol () const noexcept final
 
CircuitType GetCircuitType () const noexcept final
 
const arithmetic_gmw::WirePointer< T > GetArithmeticWire ()
 
const std::vector< motion::WirePointer > & GetWires () const noexcept final
 
std::vector< motion::WirePointer > & GetMutableWires () noexcept final
 
const bool & Finished ()
 
const std::vector< T > & GetValue () const
 
std::size_t GetBitLength () const noexcept final
 
std::vector< std::shared_ptr< Base > > Split () const noexcept final
 
std::shared_ptr< BaseGetWire (std::size_t i) const override
 
 Share (Share &)=delete
 
- Public Member Functions inherited from encrypto::motion::Share
BackendGetBackend () const
 
std::shared_ptr< RegisterGetRegister ()
 
 Share (Share &)=delete
 
 Share (const Share &)=delete
 
bool IsConstant () const noexcept
 

Additional Inherited Members

- Static Public Member Functions inherited from encrypto::motion::Share
static std::shared_ptr< ShareConcatenate (const std::vector< std::shared_ptr< Share >> &v)
 
- Protected Member Functions inherited from encrypto::motion::Share
 Share (Backend &backend)
 
- Protected Attributes inherited from encrypto::motion::Share
Backendbackend_
 
std::vector< WirePointerwires_
 

Constructor & Destructor Documentation

◆ Share() [1/7]

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::Share ( const motion::WirePointer wire)
inline

◆ Share() [2/7]

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::Share ( const arithmetic_gmw::WirePointer< T > &  wire)
inline

◆ Share() [3/7]

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::Share ( const std::vector< arithmetic_gmw::WirePointer< T >> &  wires)
inline

◆ Share() [4/7]

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::Share ( const std::vector< motion::WirePointer > &  wires)
inline

◆ Share() [5/7]

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::Share ( const std::vector< T > &  input,
Backend backend 
)
inline

◆ Share() [6/7]

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::Share ( const T  input,
Backend backend 
)
inline

◆ ~Share()

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::~Share ( )
overridevirtualdefault

Reimplemented from encrypto::motion::Share.

◆ Share() [7/7]

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::Share ( Share< T, typename > &  )
delete

Member Function Documentation

◆ Finished()

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
const bool& encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::Finished ( )
inline

◆ GetArithmeticWire()

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
const arithmetic_gmw::WirePointer<T> encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::GetArithmeticWire ( )
inline

◆ GetBitLength()

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
std::size_t encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::GetBitLength ( ) const
inlinefinalvirtualnoexcept

◆ GetCircuitType()

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
CircuitType encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::GetCircuitType ( ) const
inlinefinalvirtualnoexcept

◆ GetMutableWires()

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
std::vector<motion::WirePointer>& encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::GetMutableWires ( )
inlinefinalvirtualnoexcept

◆ GetNumberOfSimdValues()

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
std::size_t encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::GetNumberOfSimdValues ( ) const
inlinefinalvirtualnoexcept

◆ GetProtocol()

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
MpcProtocol encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::GetProtocol ( ) const
inlinefinalvirtualnoexcept

◆ GetValue()

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
const std::vector<T>& encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::GetValue ( ) const
inline

◆ GetWire()

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
std::shared_ptr<Base> encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::GetWire ( std::size_t  i) const
inlineoverridevirtual

◆ GetWires()

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
const std::vector<motion::WirePointer>& encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::GetWires ( ) const
inlinefinalvirtualnoexcept

◆ Split()

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
std::vector<std::shared_ptr<Base> > encrypto::motion::proto::arithmetic_gmw::Share< T, typename >::Split ( ) const
inlinefinalvirtualnoexcept

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