itpp::LDPC_Generator Class Referenceabstract

LDPC Generator pure virtual base class. More...

`#include <itpp/comm/ldpc.h>`

Inheritance diagram for itpp::LDPC_Generator:

## 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

Return generator type.

Definition at line 537 of file ldpc.h.

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

## mark_initialized()

void itpp::LDPC_Generator::mark_initialized | ( |  | ) |

inline

Mark generator as initialized.

Definition at line 540 of file ldpc.h.

Referenced by itpp::BLDPC_Generator::construct(), itpp::LDPC_Generator_Systematic::construct(), itpp::LDPC_Generator_Systematic::load(), and itpp::BLDPC_Generator::load().

## 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 Symbol 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:

- itpp/comm/ldpc.h

Generated on Mon Jun 10 2024 11:49:36 for IT++ by Doxygen 1.9.8