Refactor stringification (#585)

* matcher-like nan check

* Remove superfluous extern template declarations

* Add explicit template parameters

* Correct template instantiation

* Fix test includes

* class -> struct

* Correctly instantiate

* Oops

* Try fix interface

* Add MinGW exception

* Add info regarding interface decl and def

* Adjust docs

* Remove accidental paste in comment

* First draft

* operator<< => StringStream (for now)

* Forward declare cstr output operator

* Remove unnecessary String constructor

* Port more stuff to streams

* Remove std::string stringification (it was broken anyways)

* Remove anonymous namespace for the time being

* Revert "Remove anonymous namespace for the time being"

This reverts commit ec2819c44bdb647546108d29b135720083ded48c.

* Move toStream to prevent disabling

* Restore customization points

* Remove superfluous const char* catcher

* Merge branch 'dev' into fix-string

* Better IsNaN stringification

* Reset doctest

* We're getting somewhere!

* size_t -> unsigned long

* Fix nullptr handling

* Why is it selecting the template over the overload??

* Reduce template count

* Forward declare cstr output operator (again)

* Fix pointer stringification

* Add flag that forces custom stringification methods to be provided (#595)

* Add flag that forces custom stringification methods to be provided

* Add docs

* Add IsNaN operator! (#603)

* Add IsNaN operator!

* Docs

* More concise impl

* Optimized floating point stringification

* Remove float stringification override

* unsigned long -> size_t where appropriate

* Automatic type stringification with optional overrides

* Fix type stringification

* Add manual short override to fix tests

* Add tests

* insertion fix?

* Make operator<< static

* Clean up fake type traits

* Try fix stl warnings

* Reintroduce deferred_false

* Work around dumb VS15 shit

* Oops

* Yet another MSVS2015 workaround

* Fix #618

* Doing ungodly things to make MSVS2015 work

* Oops

* rerun tests

* Rerun tests

* Fix #618 by removing string_view

* Remove incorrect restrictions on <string> inclusion

* Add String::EMPTY

* Replace String::EMPTY with static EMPTY_STRING in order to avoid SIOF

* Revert "Add String::EMPTY"

This reverts commit 8856a220596398f27e11a031cedda352f067cbf8.

Revert "Replace String::EMPTY with static EMPTY_STRING in order to avoid SIOF"

This reverts commit 83d3c4f45dde09038d13e77379ea3b40843ce37f.
diff --git a/examples/all_features/templated_test_cases.cpp b/examples/all_features/templated_test_cases.cpp
index 5c204a5..7c45f13 100644
--- a/examples/all_features/templated_test_cases.cpp
+++ b/examples/all_features/templated_test_cases.cpp
@@ -8,6 +8,8 @@
 // NORMAL TEMPLATED TEST CASES
 // =================================================================================================
 
+TYPE_TO_STRING_AS("SHORT!!!", short);
+
 TEST_CASE_TEMPLATE("signed integers stuff", T, signed char, short, int) {
     T var = T();
     --var;
@@ -47,6 +49,10 @@
     typedef second B;
 };
 
+TYPE_TO_STRING_AS("Custom name test", TypePair<int, char>);
+TYPE_TO_STRING_AS("Other custom name", TypePair<char, int>);
+TYPE_TO_STRING(TypePair<bool, int>);
+
 TEST_CASE_TEMPLATE("multiple types", T, TypePair<int, char>, TypePair<char, int>, TypePair<bool, int>) {
     typedef typename T::A T1;
     typedef typename T::B T2;