#ifndef FUNCTION_STANDART_H #define FUNCTION_STANDART_H #include "one.h" BEGIN_NAMESPACE(BusinessLogic) BEGIN_NAMESPACE(Hash) BEGIN_NAMESPACE(Function) BEGIN_NAMESPACE(Standart) using Singleton = BusinessLogic::Pattern::Singleton; class Product final : public One::Product, public Singleton { private: std::hash m_standartHashFunction; private: friend const Product &Singleton::getInstance(); Product() : One::Product( std::bind(&std::hash::operator(), &m_standartHashFunction, std::placeholders::_1) ) , m_standartHashFunction() { } public: using Singleton::getInstance; }; END_NAMESPACE // Standart END_NAMESPACE // Function END_NAMESPACE // Hash END_NAMESPACE // BusinessLogic #endif // !FUNCTION_FNV1a_H