Class StringEncoding

Inheritance Relationships

Base Type

Class Documentation

class lbcrypto::StringEncoding : public lbcrypto::PlaintextImpl

Inheritence diagram for lbcrypto::StringEncoding:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="lbcrypto::PlaintextImpl" tooltip="lbcrypto::PlaintextImpl"]
    "1" [label="lbcrypto::StringEncoding" tooltip="lbcrypto::StringEncoding" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for lbcrypto::StringEncoding:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "12" [label="lbcrypto::ILElement< DerivedType, BigVecType >" tooltip="lbcrypto::ILElement< DerivedType, BigVecType >"]
    "9" [label="lbcrypto::BigIntegerInterface< NativeIntegerT< NativeInt > >" tooltip="lbcrypto::BigIntegerInterface< NativeIntegerT< NativeInt > >"]
    "2" [label="lbcrypto::PlaintextImpl" tooltip="lbcrypto::PlaintextImpl"]
    "8" [label="intnat::NativeIntegerT< NativeInt >" tooltip="intnat::NativeIntegerT< NativeInt >"]
    "6" [label="lbcrypto::Serializable" tooltip="lbcrypto::Serializable"]
    "10" [label="lbcrypto::DCRTPolyImpl< BigVector >" tooltip="lbcrypto::DCRTPolyImpl< BigVector >"]
    "11" [label="lbcrypto::DCRTPolyInterface< DerivedType, BigVecType, LilVecType, RNSContainerType >" tooltip="lbcrypto::DCRTPolyInterface< DerivedType, BigVecType, LilVecType, RNSContainerType >"]
    "4" [label="lbcrypto::PolyInterface< DerivedType, VecType, ContainerType >" tooltip="lbcrypto::PolyInterface< DerivedType, VecType, ContainerType >"]
    "5" [label="lbcrypto::ILElement< DerivedType, VecType >" tooltip="lbcrypto::ILElement< DerivedType, VecType >"]
    "1" [label="lbcrypto::StringEncoding" tooltip="lbcrypto::StringEncoding" fillcolor="#BFBFBF"]
    "3" [label="lbcrypto::PolyImpl< NativeVector >" tooltip="lbcrypto::PolyImpl< NativeVector >"]
    "7" [label="lbcrypto::PolyImpl< BigVector >" tooltip="lbcrypto::PolyImpl< BigVector >"]
    "12" -> "6" [dir=forward tooltip="public-inheritance"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "7" [dir=forward tooltip="usage"]
    "2" -> "8" [dir=forward tooltip="usage"]
    "2" -> "10" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="public-inheritance"]
    "10" -> "11" [dir=forward tooltip="public-inheritance"]
    "11" -> "12" [dir=forward tooltip="public-inheritance"]
    "4" -> "5" [dir=forward tooltip="public-inheritance"]
    "5" -> "6" [dir=forward tooltip="public-inheritance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "3" -> "4" [dir=forward tooltip="public-inheritance"]
    "7" -> "4" [dir=forward tooltip="public-inheritance"]
}

Public Functions

template<typename T, typename std::enable_if<std::is_same<T, Poly::Params>::value || std::is_same<T, NativePoly::Params>::value || std::is_same<T, DCRTPoly::Params>::value, bool>::type = true>
inline StringEncoding(std::shared_ptr<T> vp, EncodingParams ep)
template<typename T, typename std::enable_if<std::is_same<T, Poly::Params>::value || std::is_same<T, NativePoly::Params>::value || std::is_same<T, DCRTPoly::Params>::value, bool>::type = true>
inline StringEncoding(std::shared_ptr<T> vp, EncodingParams ep, const std::string &str)
~StringEncoding() override = default
inline virtual const std::string &GetStringValue() const override

GetStringValue

Returns

the un-encoded string

inline virtual void SetStringValue(const std::string &value) override

SetStringValue

Parameters

val – to initialize the Plaintext

virtual bool Encode() override

Encode the plaintext into the Poly

Returns

true on success

virtual bool Decode() override

Decode the Poly into the string

Returns

true on success

inline virtual size_t GetLength() const override

Get length of the plaintext

Returns

number of elements in this plaintext

Protected Functions

inline virtual bool CompareTo(const PlaintextImpl &rhs) const override

Method to compare two plaintext to test for equivalence Testing that the plaintexts are of the same type done in operator==

Parameters

rhs – - the other plaintext to compare to.

Returns

whether the two plaintext are equivalent.

inline virtual void PrintValue(std::ostream &out) const override

PrintValue - used by operator<< for this object

Parameters

out