LeechCraft 0.6.70-17609-g3dde4097dd
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
LC::Util::NewType< T, Tag > Class Template Reference

A somewhat "strong" typedef. More...

#include "newtype.h"

+ Inheritance diagram for LC::Util::NewType< T, Tag >:
+ Collaboration diagram for LC::Util::NewType< T, Tag >:

Public Member Functions

 NewType ()=default
 
 NewType (const T &t)
 

Detailed Description

template<typename T, typename Tag>
class LC::Util::NewType< T, Tag >

A somewhat "strong" typedef.

NewType provides Haskell's newtype-like semantics.

Typical usage is as follows:

A somewhat "strong" typedef.
Definition newtype.h:33

After this, FirstAlias and SecondAlias become more or less independent from C++'s type system point of view.

Template Parameters
TThe type for which to create the params for.

Definition at line 32 of file newtype.h.

Constructor & Destructor Documentation

◆ NewType() [1/2]

template<typename T, typename Tag>
LC::Util::NewType< T, Tag >::NewType ( )
default

◆ NewType() [2/2]

template<typename T, typename Tag>
LC::Util::NewType< T, Tag >::NewType ( const T & t)
inline

Definition at line 39 of file newtype.h.


The documentation for this class was generated from the following file: