X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/1487578f4887f49661320e24e311074a9af36f80..8f8c49688664c8681a11ea31f6a810625dcd108b:/include/stg/corp_conf.h diff --git a/include/stg/corp_conf.h b/include/stg/corp_conf.h index 9bbc03d3..6b1cbb83 100644 --- a/include/stg/corp_conf.h +++ b/include/stg/corp_conf.h @@ -18,52 +18,36 @@ * Author : Maxim Mamontov */ -#ifndef CORP_CONF_H -#define CORP_CONF_H +#pragma once -#include "resetable.h" +#include "stg/optional.h" #include -struct CORP_CONF +namespace STG { -CORP_CONF() : name(), cash(0) {} -CORP_CONF(const std::string & n) : name(n), cash(0) {} -CORP_CONF(const std::string & n, double c) : name(n), cash(c) {} -std::string name; -double cash; -}; - -struct CORP_CONF_RES +struct CorpConf { -CORP_CONF_RES() - : name(), cash() -{} + CorpConf() noexcept : cash(0) {} + explicit CorpConf(const std::string & n) noexcept : name(n), cash(0) {} + CorpConf(const std::string & n, double c) noexcept : name(n), cash(c) {} -CORP_CONF_RES & operator=(const CORP_CONF & conf) -{ -name = conf.name; -cash = conf.cash; -return *this; -} + CorpConf(const CorpConf&) = default; + CorpConf& operator=(const CorpConf&) = default; + CorpConf(CorpConf&&) = default; + CorpConf& operator=(CorpConf&&) = default; -CORP_CONF GetData() const -{ -CORP_CONF cc; -cc.name = name.data(); -cc.cash = cash.data(); -return cc; -} + bool operator==(const CorpConf& rhs) const noexcept { return name == rhs.name; } -RESETABLE name; -RESETABLE cash; + std::string name; + double cash; }; -inline -bool operator==(const CORP_CONF & a, const CORP_CONF & b) +struct CorpConfOpt { -return a.name == b.name; -} + Optional name; + Optional cash; +}; -#endif //CORP_CONF_H +}