IT++ Logo
Public Member Functions | Protected Member Functions | Friends | List of all members
itpp::LDPC_Generator Class Referenceabstract

LDPC Generator pure virtual base class. More...

#include <itpp/comm/ldpc.h>

Inheritance diagram for itpp::LDPC_Generator:
itpp::BLDPC_Generator itpp::LDPC_Generator_Systematic

Public Member Functions

 LDPC_Generator (const std::string &type_in="")
 Default constructor.
 
virtual ~LDPC_Generator ()
 Virtual destructor.
 
virtual void encode (const bvec &input, bvec &output)=0
 Generator specific encode function.
 
std::string get_type () const
 Return generator type.
 
void mark_initialized ()
 Mark generator as initialized.
 
bool is_initialized () const
 Check if generator is initialized.
 

Protected Member Functions

virtual void save (const std::string &filename) const =0
 Save generator data to a file.
 
virtual void load (const std::string &filename)=0
 Read generator data from a file.
 

Friends

class LDPC_Code
 

Detailed Description

LDPC Generator pure virtual base class.

This is an abstract base class for LDPC generators. It provides a generic interface that is used by the LDPC_Code class. The LDPC_Generator class can be inherited to create a new type of generator. In addition to the default constructor, the following three pure virtual methods need to be defined in a derived class: encode(), save() and load().

See the LDPC_Generator_Systematic class for an example implementation of a derived generator.

Author
Adam Piatyszek

Definition at line 523 of file ldpc.h.

Constructor & Destructor Documentation

◆ LDPC_Generator()

itpp::LDPC_Generator::LDPC_Generator ( const std::string &  type_in = "")
inline

Default constructor.

Definition at line 528 of file ldpc.h.

◆ ~LDPC_Generator()

virtual itpp::LDPC_Generator::~LDPC_Generator ( )
inlinevirtual

Virtual destructor.

Definition at line 531 of file ldpc.h.

Member Function Documentation

◆ encode()

virtual void itpp::LDPC_Generator::encode ( const bvec &  input,
bvec &  output 
)
pure virtual

Generator specific encode function.

Implemented in itpp::LDPC_Generator_Systematic, and itpp::BLDPC_Generator.

Referenced by itpp::LDPC_Code::encode(), and itpp::LDPC_Code::integrity_check().

◆ get_type()

std::string itpp::LDPC_Generator::get_type ( ) const
inline

◆ mark_initialized()

void itpp::LDPC_Generator::mark_initialized ( )
inline

◆ is_initialized()

bool itpp::LDPC_Generator::is_initialized ( ) const
inline

Check if generator is initialized.

Definition at line 543 of file ldpc.h.

Referenced by itpp::LDPC_Generator_Systematic::encode(), itpp::BLDPC_Generator::encode(), and itpp::BLDPC_Generator::save().

◆ save()

virtual void itpp::LDPC_Generator::save ( const std::string &  filename) const
protectedpure virtual

Save generator data to a file.

Implemented in itpp::LDPC_Generator_Systematic, and itpp::BLDPC_Generator.

Referenced by itpp::LDPC_Code::save_code().

◆ load()

virtual void itpp::LDPC_Generator::load ( const std::string &  filename)
protectedpure virtual

Read generator data from a file.

Implemented in itpp::LDPC_Generator_Systematic, and itpp::BLDPC_Generator.

Referenced by itpp::LDPC_Code::load_code().

Friends And Related Function Documentation

◆ LDPC_Code

friend class LDPC_Code
friend

Definition at line 525 of file ldpc.h.


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

Generated on Tue Jan 24 2023 00:00:00 for IT++ by Doxygen 1.9.6