crtp.h
Go to the documentation of this file.
#ifndef __utl_impl_crtp_h__
#define __utl_impl_crtp_h__
#include <utl/core/impl.h>
namespace utl {
struct crtp_tag { };
struct virtual_tag { };
#define _CRTP_IMPL(T) \
constexpr T& impl() { return *static_cast<T*>(this); } \
constexpr const T& impl() const { return *static_cast<const T*>(this); }
}
#endif /* __utl_impl_crtp_h__ */
utl::crtp_tag
CRTP support tag type.
Definition: crtp.h:38
utl
STL&#39;s core language concepts.
Definition: _1wire.h:30
utl::virtual_tag
virtual support tag type
Definition: crtp.h:40
impl.h
Implementation detail main forward header.