Files
chaos/Chaos/Padding/Padder.hpp
T
hashlag e6c4f1fc98
Chaos Ci / test (push) Successful in 3m3s
Chaos Ci / benchmark (push) Successful in 1m55s
Implement unpad for PKCS#7 padding.
2026-07-20 02:20:54 +03:00

41 lines
690 B
C++

#ifndef CHAOS_PADDING_PADDER_HPP
#define CHAOS_PADDING_PADDER_HPP
namespace Chaos::Padding
{
template<typename T>
class Padder
{
public:
template<typename OutputIt>
void Pad(OutputIt begin, OutputIt end) const
{
Impl().Pad(begin, end);
}
template<typename InputIt>
auto ComputeUnpad(InputIt begin, InputIt end) const noexcept
{
return Impl().ComputeUnpad(begin, end);
}
protected:
Padder() = default;
private:
const T & Impl() const
{
return static_cast<const T &>(*this);
}
T & Impl()
{
return static_cast<T &>(*this);
}
};
} // namespace Chaos::Padding
#endif // CHAOS_PADDING_PADDER_HPP