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

#include <arithmetic_gmw_wire.h>

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

Public Types

using value_type = T
 

Public Member Functions

 Wire (Backend &backend, std::size_t number_of_simd)
 
 Wire (std::vector< T > &&values, Backend &backend)
 
 Wire (const std::vector< T > &values, Backend &backend)
 
 Wire (T t, Backend &backend)
 
 ~Wire () final=default
 
MpcProtocol GetProtocol () const final
 
CircuitType GetCircuitType () const final
 
const std::vector< T > & GetValues () const
 
std::vector< T > & GetMutableValues ()
 
std::size_t GetBitLength () const final
 
bool IsConstant () const noexcept final
 
- Public Member Functions inherited from encrypto::motion::Wire
std::size_t GetNumberOfSimdValues () const
 
void RegisterWaitingGate (std::size_t gate_id)
 
void SetOnlineFinished ()
 
const auto & GetWaitingGatesIds () const noexcept
 
const std::atomic< bool > & IsReady () const noexcept
 
const FiberConditionGetIsReadyCondition () const noexcept
 
std::size_t GetWireId () const
 
BackendGetBackend () const
 
void Clear ()
 
 Wire (const Wire &)=delete
 

Additional Inherited Members

- Static Public Member Functions inherited from encrypto::motion::Wire
static std::string PrintIds (const std::vector< std::shared_ptr< Wire >> &wires)
 
- Protected Member Functions inherited from encrypto::motion::Wire
 Wire (Backend &backend, std::size_t number_of_simd)
 
virtual void DynamicClear ()
 
- Static Protected Member Functions inherited from encrypto::motion::Wire
static void SignalReadyToDependency (std::size_t gate_id, Backend &backend)
 
- Protected Attributes inherited from encrypto::motion::Wire
Backendbackend_
 
std::size_t n_simd_ = 0
 Number of values that are logically processed in parallel. More...
 
std::atomic< bool > is_done_ = false
 
FiberCondition is_done_condition_
 
std::int64_t wire_id_ = -1
 
std::unordered_set< std::size_t > waiting_gate_ids_
 

Member Typedef Documentation

◆ value_type

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
using encrypto::motion::proto::arithmetic_gmw::Wire< T, typename >::value_type = T

Constructor & Destructor Documentation

◆ Wire() [1/4]

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
encrypto::motion::proto::arithmetic_gmw::Wire< T, typename >::Wire ( Backend backend,
std::size_t  number_of_simd 
)
inline

◆ Wire() [2/4]

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

◆ Wire() [3/4]

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

◆ Wire() [4/4]

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

◆ ~Wire()

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

Reimplemented from encrypto::motion::Wire.

Member Function Documentation

◆ GetBitLength()

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

◆ GetCircuitType()

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

◆ GetMutableValues()

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

◆ GetProtocol()

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

◆ GetValues()

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

◆ IsConstant()

template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
bool encrypto::motion::proto::arithmetic_gmw::Wire< T, typename >::IsConstant ( ) const
inlinefinalvirtualnoexcept

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