1
0
Fork 0
mirror of https://github.com/TheLartians/ModernCppStarter.git synced 2025-08-31 22:21:13 +02:00
ModernCppStarter/include/greeter/greeter.h

34 lines
785 B
C++

#pragma once
#include <greeter/greeter_export.h>
#include <string>
namespace greeter {
/** Language codes to be used with the Greeter class */
enum class GREETER_EXPORT LanguageCode { EN, DE, ES, FR };
/**
* @brief A class for saying hello in multiple languages
*/
class GREETER_EXPORT Greeter {
protected:
std::string name;
public:
/**
* @brief Creates a new greeter
* @param name the name to greet
*/
explicit Greeter(std::string _name);
/**
* @brief Creates a localized string containing the greeting
* @param lang the language to greet in
* @return a string containing the greeting
*/
[[nodiscard]] auto greet(LanguageCode lang = LanguageCode::EN) const -> std::string;
};
} // namespace greeter