Skip to content

Commit

Permalink
Umbenennung von unit_symbol in static_string
Browse files Browse the repository at this point in the history
  • Loading branch information
martinfehrs committed Jun 9, 2024
1 parent ca406d4 commit 2796fcf
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 47 deletions.
8 changes: 4 additions & 4 deletions include/zollstock/quantity_data.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define __ZOLLSTOCK_QUANTITY_DATA_HPP__


#include <zollstock/unit_symbol.hpp>
#include <zollstock/static_string.hpp>

#include <cstddef>

Expand All @@ -25,7 +25,7 @@ namespace zollstock
quantity_t quantity;
int exponent;
long double factor;
unit_symbol symbol;
static_string symbol;

[[nodiscard]] consteval bool operator==(const quantity_data&) const noexcept = default;

Expand All @@ -49,11 +49,11 @@ namespace zollstock

private:

[[nodiscard]] consteval unit_symbol select_symbol(const quantity_data& that) const
[[nodiscard]] consteval static_string select_symbol(const quantity_data& that) const
{
if (this->exponent + that.exponent == 0)
{
return ""_us;
return ""_ss;
}
else if (this->symbol.size() == 0)
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#ifndef __ZOLLSTOCK_UNIT_SYMBOL_HPP__
#define __ZOLLSTOCK_UNIT_SYMBOL_HPP__
#ifndef __ZOLLSTOCK_STATIC_STRING_HPP__
#define __ZOLLSTOCK_STATIC_STRING_HPP__


#include <cstddef>
Expand All @@ -8,7 +8,7 @@
namespace zollstock
{

class unit_symbol
class static_string
{

public:
Expand All @@ -23,12 +23,12 @@ namespace zollstock

public:

constexpr unit_symbol() noexcept
constexpr static_string() noexcept
: data_{}
, size_{}
{}

constexpr unit_symbol(const_pointer str, std::size_t size) noexcept
constexpr static_string(const_pointer str, std::size_t size) noexcept
: data_{}
, size_{ size }
{
Expand All @@ -37,8 +37,8 @@ namespace zollstock
}

template <std::size_t size>
constexpr unit_symbol(const value_type (&str)[size]) noexcept
: unit_symbol{ str, size - 1 }
constexpr static_string(const value_type (&str)[size]) noexcept
: static_string{ str, size - 1 }
{ }

[[nodiscard]] constexpr size_type size() const noexcept
Expand All @@ -51,7 +51,7 @@ namespace zollstock
return this->data_;
}

[[nodiscard]] constexpr bool operator==(const unit_symbol& that) const noexcept
[[nodiscard]] constexpr bool operator==(const static_string& that) const noexcept
{
if(this->size_ != that.size_)
return false;
Expand All @@ -64,9 +64,9 @@ namespace zollstock
return equal;
}

[[nodiscard]] constexpr unit_symbol operator+(const unit_symbol& that) const noexcept
[[nodiscard]] constexpr static_string operator+(const static_string& that) const noexcept
{
unit_symbol result{ *this };
static_string result{ *this };

for(size_type i = 0; i < that.size_; ++i)
result.data_[i + result.size_] = that.data_[i];
Expand All @@ -81,12 +81,12 @@ namespace zollstock

};

[[nodiscard]] consteval unit_symbol operator""_us(const char* str, std::size_t size) noexcept
[[nodiscard]] consteval static_string operator""_ss(const char* str, std::size_t size) noexcept
{
return { str, size };
}

}


#endif //__ZOLLSTOCK_UNIT_SYMBOL_HPP__
#endif //__ZOLLSTOCK_STATIC_STRING_HPP__
6 changes: 3 additions & 3 deletions include/zollstock/unit_concept.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ namespace zollstock
concept named_unit_c = requires
{
requires unit_c<Candidate>;
{ Candidate::symbol } -> std::same_as<const unit_symbol&>;
{ Candidate::symbol } -> std::same_as<const static_string&>;
};

template <typename Candidate>
Expand Down Expand Up @@ -111,7 +111,7 @@ namespace zollstock
}


template<quantity_t quantity_, unit_symbol symbol_, long double factor_>
template<quantity_t quantity_, static_string symbol_, long double factor_>
struct unit
{
static constexpr auto quantity = quantity_;
Expand All @@ -121,7 +121,7 @@ namespace zollstock



template<quantity_t quantity_, unit_symbol symbol_, prefix_c auto prefix>
template<quantity_t quantity_, static_string symbol_, prefix_c auto prefix>
struct prefixed_unit
{
static constexpr auto quantity = quantity_;
Expand Down
8 changes: 4 additions & 4 deletions include/zollstock/unit_prefix_concept.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define __ZOLLSTOCK_UNIT_PREFIX_CONCEPT_HPP__


#include <zollstock/unit_symbol.hpp>
#include <zollstock/static_string.hpp>

#include <type_traits>

Expand All @@ -13,16 +13,16 @@ namespace zollstock
template <typename Candidate>
concept prefix_c = requires()
{
{ Candidate::symbol } -> std::same_as<const unit_symbol&>;
{ Candidate::symbol } -> std::same_as<const static_string&>;
{ Candidate::factor } -> std::same_as<const long double&>;
};



template <unit_symbol symbol_, long double factor_>
template <static_string symbol_, long double factor_>
struct prefix
{
static constexpr unit_symbol symbol = symbol_;
static constexpr static_string symbol = symbol_;
static constexpr long double factor = factor_;
};

Expand Down
48 changes: 24 additions & 24 deletions tests/sources/si_prefix_tests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,29 +33,29 @@ TEST_CASE("si-prefixes", "[si-prefixes]")
REQUIRE(si_prefixes::R .factor == 1e+27L);
REQUIRE(si_prefixes::Q .factor == 1e+30L);

REQUIRE(si_prefixes::q .symbol == "q"_us );
REQUIRE(si_prefixes::r .symbol == "r"_us );
REQUIRE(si_prefixes::y .symbol == "y"_us );
REQUIRE(si_prefixes::z .symbol == "z"_us );
REQUIRE(si_prefixes::a .symbol == "a"_us );
REQUIRE(si_prefixes::f .symbol == "f"_us );
REQUIRE(si_prefixes::p .symbol == "p"_us );
REQUIRE(si_prefixes::n .symbol == "n"_us );
REQUIRE(si_prefixes::mic.symbol == "mic"_us);
REQUIRE(si_prefixes::m .symbol == "m"_us );
REQUIRE(si_prefixes::c .symbol == "c"_us );
REQUIRE(si_prefixes::d .symbol == "d"_us );
REQUIRE(si_prefixes::da .symbol == "da"_us );
REQUIRE(si_prefixes::h .symbol == "h"_us );
REQUIRE(si_prefixes::k .symbol == "k"_us );
REQUIRE(si_prefixes::M .symbol == "M"_us );
REQUIRE(si_prefixes::G .symbol == "G"_us );
REQUIRE(si_prefixes::T .symbol == "T"_us );
REQUIRE(si_prefixes::P .symbol == "P"_us );
REQUIRE(si_prefixes::E .symbol == "E"_us );
REQUIRE(si_prefixes::Z .symbol == "Z"_us );
REQUIRE(si_prefixes::Y .symbol == "Y"_us );
REQUIRE(si_prefixes::R .symbol == "R"_us );
REQUIRE(si_prefixes::Q .symbol == "Q"_us );
REQUIRE(si_prefixes::q .symbol == "q"_ss );
REQUIRE(si_prefixes::r .symbol == "r"_ss );
REQUIRE(si_prefixes::y .symbol == "y"_ss );
REQUIRE(si_prefixes::z .symbol == "z"_ss );
REQUIRE(si_prefixes::a .symbol == "a"_ss );
REQUIRE(si_prefixes::f .symbol == "f"_ss );
REQUIRE(si_prefixes::p .symbol == "p"_ss );
REQUIRE(si_prefixes::n .symbol == "n"_ss );
REQUIRE(si_prefixes::mic.symbol == "mic"_ss);
REQUIRE(si_prefixes::m .symbol == "m"_ss );
REQUIRE(si_prefixes::c .symbol == "c"_ss );
REQUIRE(si_prefixes::d .symbol == "d"_ss );
REQUIRE(si_prefixes::da .symbol == "da"_ss );
REQUIRE(si_prefixes::h .symbol == "h"_ss );
REQUIRE(si_prefixes::k .symbol == "k"_ss );
REQUIRE(si_prefixes::M .symbol == "M"_ss );
REQUIRE(si_prefixes::G .symbol == "G"_ss );
REQUIRE(si_prefixes::T .symbol == "T"_ss );
REQUIRE(si_prefixes::P .symbol == "P"_ss );
REQUIRE(si_prefixes::E .symbol == "E"_ss );
REQUIRE(si_prefixes::Z .symbol == "Z"_ss );
REQUIRE(si_prefixes::Y .symbol == "Y"_ss );
REQUIRE(si_prefixes::R .symbol == "R"_ss );
REQUIRE(si_prefixes::Q .symbol == "Q"_ss );

}

0 comments on commit 2796fcf

Please sign in to comment.