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:
  • /home/abuild/rpmbuild/BUILD/leechcraft-doc-0.6.70+git.17609.g3dde4097dd-build/leechcraft-0.6.70-17609-g3dde4097dd/src/util/sll/newtype.h