PrevUpHomeNext

utx::end_with_star


utx::end_with_star concept

utx::end_with_star is a concept used to match a type which has a pointer star symbol at the end.

As some type might be a pointer but does not have a pointer star symbol, utx::end_with_star is used to distinguish them, utx::end_with_star concept guarantees a star symbol must exist at the end.

The following types satisfy concept utx::end_with_star :

const char *
char *
int *
any_type any_qualifiers *

The following types do not satisfy concept utx::end_with_star :

const char * const
char * const
int * const
chat (*)[16]

To match a type which has a star symbol before cv- qualifiers, you can use utx::remove_cvref_t on it, then use concept utx::end_with_star .

utx::end_with_star was designed for utx::str_size, but it can be used for general purpose.

c++ example

#include <utxcpp/core.hpp>

template <utx::end_with_star pointer_type>
class fizz_box
{
};

int main()
{
	fizz_box<const char *> f1;	// OK
	// fizz_box<char (*) [16]> f2;	// error
}

See Also

utx::str_size


PrevUpHomeNext

utx::print

esv::print