diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2023-06-07 16:41:32 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2023-06-07 16:41:32 +0200 |
| commit | aa7c021962f529f3ed2f482fd6f02e5497532a8a (patch) | |
| tree | c8a3eff796c94f757cc8ae7d3b2324f53038e0c3 /examples | |
| parent | 741b6d177865f20908b1b290c5170025964d3d9a (diff) | |
| download | newtype-aa7c021962f529f3ed2f482fd6f02e5497532a8a.tar.xz newtype-aa7c021962f529f3ed2f482fd6f02e5497532a8a.zip | |
project: begin restructuring
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/src/basic_usage.cpp | 39 | ||||
| -rw-r--r-- | examples/src/basic_usage_with_read.cpp | 39 | ||||
| -rw-r--r-- | examples/src/basic_usage_with_show.cpp | 41 |
3 files changed, 0 insertions, 119 deletions
diff --git a/examples/src/basic_usage.cpp b/examples/src/basic_usage.cpp deleted file mode 100644 index 35d1d2c..0000000 --- a/examples/src/basic_usage.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include <newtype/newtype.hpp> - -#include <iostream> - -using Width = nt::new_type<unsigned int, struct width_tag>; -using Height = nt::new_type<unsigned int, struct height_tag>; -using Area = nt::new_type<unsigned int, struct area_tag>; - -struct Rectangle -{ - constexpr Rectangle(Width w, Height h) - : width{w} - , height{h} - { - } - - auto constexpr area() const noexcept -> Area - { - return {width.decay() * height.decay()}; - } - -private: - Width width; - Height height; -}; - -int main() -{ - auto w{0u}, h{0u}; - - std::cin >> w >> h; - - auto width = Width{w}; - auto height = Height{h}; - - auto rect = Rectangle{width, height}; - - std::cout << rect.area().decay() << '\n'; -}
\ No newline at end of file diff --git a/examples/src/basic_usage_with_read.cpp b/examples/src/basic_usage_with_read.cpp deleted file mode 100644 index 2dabe2e..0000000 --- a/examples/src/basic_usage_with_read.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include <newtype/derivable.hpp> -#include <newtype/deriving.hpp> -#include <newtype/newtype.hpp> - -#include <iostream> - -using Width = nt::new_type<unsigned int, struct width_tag, deriving(nt::Read)>; -using Height = nt::new_type<unsigned int, struct height_tag, deriving(nt::Read)>; -using Area = nt::new_type<unsigned int, struct area_tag, deriving(nt::Show)>; - -struct Rectangle -{ - constexpr Rectangle(Width w, Height h) - : width{w} - , height{h} - { - } - - auto constexpr area() const noexcept -> Area - { - return {width.decay() * height.decay()}; - } - -private: - Width width; - Height height; -}; - -int main() -{ - auto width = Width{}; - auto height = Height{}; - - std::cin >> width >> height; - - auto rect = Rectangle{width, height}; - - std::cout << rect.area() << '\n'; -}
\ No newline at end of file diff --git a/examples/src/basic_usage_with_show.cpp b/examples/src/basic_usage_with_show.cpp deleted file mode 100644 index 4bb68f6..0000000 --- a/examples/src/basic_usage_with_show.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include <newtype/derivable.hpp> -#include <newtype/deriving.hpp> -#include <newtype/newtype.hpp> - -#include <iostream> - -using Width = nt::new_type<unsigned int, struct width_tag>; -using Height = nt::new_type<unsigned int, struct height_tag>; -using Area = nt::new_type<unsigned int, struct area_tag, deriving(nt::Show)>; - -struct Rectangle -{ - constexpr Rectangle(Width w, Height h) - : width{w} - , height{h} - { - } - - auto constexpr area() const noexcept -> Area - { - return {width.decay() * height.decay()}; - } - -private: - Width width; - Height height; -}; - -int main() -{ - auto w{0u}, h{0u}; - - std::cin >> w >> h; - - auto width = Width{w}; - auto height = Height{h}; - - auto rect = Rectangle{width, height}; - - std::cout << rect.area() << '\n'; -}
\ No newline at end of file |
