aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/src/basic_usage.cpp39
-rw-r--r--examples/src/basic_usage_with_read.cpp39
-rw-r--r--examples/src/basic_usage_with_show.cpp41
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