├── .github └── workflows │ └── ci.yml ├── .gitignore ├── CMakeLists.txt ├── ChangeLog ├── LICENSE ├── README.md ├── include └── strong_type │ ├── affine_point.hpp │ ├── arithmetic.hpp │ ├── bicrementable.hpp │ ├── bitarithmetic.hpp │ ├── boolean.hpp │ ├── convertible_to.hpp │ ├── decrementable.hpp │ ├── difference.hpp │ ├── equality.hpp │ ├── equality_with.hpp │ ├── formattable.hpp │ ├── hashable.hpp │ ├── implicitly_convertible_to.hpp │ ├── incrementable.hpp │ ├── indexed.hpp │ ├── invocable.hpp │ ├── iostreamable.hpp │ ├── istreamable.hpp │ ├── iterator.hpp │ ├── ordered.hpp │ ├── ordered_with.hpp │ ├── ostreamable.hpp │ ├── pointer.hpp │ ├── range.hpp │ ├── regular.hpp │ ├── scalable_with.hpp │ ├── semiregular.hpp │ ├── strong_ordering.hpp │ ├── strong_type.hpp │ ├── type.hpp │ └── unique.hpp ├── strong_type-config.cmake └── test ├── CMakeLists.txt ├── catch2.hpp ├── empty.cpp ├── test.cpp ├── test_affine_point.cpp ├── test_arithmetic.cpp ├── test_bicrementable.cpp ├── test_bitarithmetic.cpp ├── test_boolean.cpp ├── test_convertible_to.cpp ├── test_decrementable.cpp ├── test_difference.cpp ├── test_equality.cpp ├── test_equality_with.cpp ├── test_fmt.cpp ├── test_fmt10 └── CMakeLists.txt ├── test_fmt11 └── CMakeLists.txt ├── test_fmt8 └── CMakeLists.txt ├── test_fmt9 └── CMakeLists.txt ├── test_hashable.cpp ├── test_implicitly_convertible_to.cpp ├── test_incrementable.cpp ├── test_indexed.cpp ├── test_invocable.cpp ├── test_iostreamable.cpp ├── test_istreamable.cpp ├── test_iterator.cpp ├── test_main.cpp ├── test_ordered.cpp ├── test_ordered_with.cpp ├── test_ostreamable.cpp ├── test_pointer.cpp ├── test_range.cpp ├── test_regular.cpp ├── test_scalable_with.cpp ├── test_semiregular.cpp ├── test_type.cpp ├── test_unique.cpp └── test_utils.hpp /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | build 3 | -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /ChangeLog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/ChangeLog -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/README.md -------------------------------------------------------------------------------- /include/strong_type/affine_point.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/affine_point.hpp -------------------------------------------------------------------------------- /include/strong_type/arithmetic.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/arithmetic.hpp -------------------------------------------------------------------------------- /include/strong_type/bicrementable.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/bicrementable.hpp -------------------------------------------------------------------------------- /include/strong_type/bitarithmetic.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/bitarithmetic.hpp -------------------------------------------------------------------------------- /include/strong_type/boolean.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/boolean.hpp -------------------------------------------------------------------------------- /include/strong_type/convertible_to.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/convertible_to.hpp -------------------------------------------------------------------------------- /include/strong_type/decrementable.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/decrementable.hpp -------------------------------------------------------------------------------- /include/strong_type/difference.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/difference.hpp -------------------------------------------------------------------------------- /include/strong_type/equality.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/equality.hpp -------------------------------------------------------------------------------- /include/strong_type/equality_with.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/equality_with.hpp -------------------------------------------------------------------------------- /include/strong_type/formattable.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/formattable.hpp -------------------------------------------------------------------------------- /include/strong_type/hashable.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/hashable.hpp -------------------------------------------------------------------------------- /include/strong_type/implicitly_convertible_to.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/implicitly_convertible_to.hpp -------------------------------------------------------------------------------- /include/strong_type/incrementable.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/incrementable.hpp -------------------------------------------------------------------------------- /include/strong_type/indexed.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/indexed.hpp -------------------------------------------------------------------------------- /include/strong_type/invocable.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/invocable.hpp -------------------------------------------------------------------------------- /include/strong_type/iostreamable.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/iostreamable.hpp -------------------------------------------------------------------------------- /include/strong_type/istreamable.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/istreamable.hpp -------------------------------------------------------------------------------- /include/strong_type/iterator.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/iterator.hpp -------------------------------------------------------------------------------- /include/strong_type/ordered.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/ordered.hpp -------------------------------------------------------------------------------- /include/strong_type/ordered_with.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/ordered_with.hpp -------------------------------------------------------------------------------- /include/strong_type/ostreamable.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/ostreamable.hpp -------------------------------------------------------------------------------- /include/strong_type/pointer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/pointer.hpp -------------------------------------------------------------------------------- /include/strong_type/range.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/range.hpp -------------------------------------------------------------------------------- /include/strong_type/regular.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/regular.hpp -------------------------------------------------------------------------------- /include/strong_type/scalable_with.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/scalable_with.hpp -------------------------------------------------------------------------------- /include/strong_type/semiregular.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/semiregular.hpp -------------------------------------------------------------------------------- /include/strong_type/strong_ordering.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/strong_ordering.hpp -------------------------------------------------------------------------------- /include/strong_type/strong_type.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/strong_type.hpp -------------------------------------------------------------------------------- /include/strong_type/type.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/type.hpp -------------------------------------------------------------------------------- /include/strong_type/unique.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/include/strong_type/unique.hpp -------------------------------------------------------------------------------- /strong_type-config.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/strong_type-config.cmake -------------------------------------------------------------------------------- /test/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/CMakeLists.txt -------------------------------------------------------------------------------- /test/catch2.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/catch2.hpp -------------------------------------------------------------------------------- /test/empty.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/empty.cpp -------------------------------------------------------------------------------- /test/test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test.cpp -------------------------------------------------------------------------------- /test/test_affine_point.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_affine_point.cpp -------------------------------------------------------------------------------- /test/test_arithmetic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_arithmetic.cpp -------------------------------------------------------------------------------- /test/test_bicrementable.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_bicrementable.cpp -------------------------------------------------------------------------------- /test/test_bitarithmetic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_bitarithmetic.cpp -------------------------------------------------------------------------------- /test/test_boolean.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_boolean.cpp -------------------------------------------------------------------------------- /test/test_convertible_to.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_convertible_to.cpp -------------------------------------------------------------------------------- /test/test_decrementable.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_decrementable.cpp -------------------------------------------------------------------------------- /test/test_difference.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_difference.cpp -------------------------------------------------------------------------------- /test/test_equality.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_equality.cpp -------------------------------------------------------------------------------- /test/test_equality_with.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_equality_with.cpp -------------------------------------------------------------------------------- /test/test_fmt.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_fmt.cpp -------------------------------------------------------------------------------- /test/test_fmt10/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_fmt10/CMakeLists.txt -------------------------------------------------------------------------------- /test/test_fmt11/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_fmt11/CMakeLists.txt -------------------------------------------------------------------------------- /test/test_fmt8/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_fmt8/CMakeLists.txt -------------------------------------------------------------------------------- /test/test_fmt9/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_fmt9/CMakeLists.txt -------------------------------------------------------------------------------- /test/test_hashable.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_hashable.cpp -------------------------------------------------------------------------------- /test/test_implicitly_convertible_to.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_implicitly_convertible_to.cpp -------------------------------------------------------------------------------- /test/test_incrementable.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_incrementable.cpp -------------------------------------------------------------------------------- /test/test_indexed.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_indexed.cpp -------------------------------------------------------------------------------- /test/test_invocable.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_invocable.cpp -------------------------------------------------------------------------------- /test/test_iostreamable.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_iostreamable.cpp -------------------------------------------------------------------------------- /test/test_istreamable.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_istreamable.cpp -------------------------------------------------------------------------------- /test/test_iterator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_iterator.cpp -------------------------------------------------------------------------------- /test/test_main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_main.cpp -------------------------------------------------------------------------------- /test/test_ordered.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_ordered.cpp -------------------------------------------------------------------------------- /test/test_ordered_with.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_ordered_with.cpp -------------------------------------------------------------------------------- /test/test_ostreamable.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_ostreamable.cpp -------------------------------------------------------------------------------- /test/test_pointer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_pointer.cpp -------------------------------------------------------------------------------- /test/test_range.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_range.cpp -------------------------------------------------------------------------------- /test/test_regular.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_regular.cpp -------------------------------------------------------------------------------- /test/test_scalable_with.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_scalable_with.cpp -------------------------------------------------------------------------------- /test/test_semiregular.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_semiregular.cpp -------------------------------------------------------------------------------- /test/test_type.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_type.cpp -------------------------------------------------------------------------------- /test/test_unique.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_unique.cpp -------------------------------------------------------------------------------- /test/test_utils.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rollbear/strong_type/HEAD/test/test_utils.hpp --------------------------------------------------------------------------------