/* * CompareParams.hh * * Created on: 23 ÿíâ. 2022 ã. * Author: sozonov */ #ifndef UMLIBRARY_SYSTEMIC_COMPAREPARAMS_HH_ #define UMLIBRARY_SYSTEMIC_COMPAREPARAMS_HH_ #include #include namespace systemic { class CompareParams { public: typedef std::pair< char *, std::size_t > params_t; CompareParams( params_t _first, params_t _second ) : first_param( _first ), second_param( _second ), is_equal(false) {} void compare() { bool equal_size = first_param.second == second_param.second; bool equal_data; if( equal_size ) { bool data_not_equal = std::memcmp(first_param.first, second_param.first, first_param.second); equal_data = not data_not_equal; } is_equal = equal_size and equal_data; } const bool & state() { return is_equal; } private: params_t first_param; params_t second_param; bool is_equal; }; } // namespace systemic #endif /* UMLIBRARY_SYSTEMIC_COMPAREPARAMS_HH_ */