Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
CastRegistration.hpp
Go to the documentation of this file.
1
6#pragma once
7
9
11
12namespace registration {
13
14template < class To, class From >
17
18public:
19 explicit CastRegister ( ) {
20 abstraction::CastRegistry::registerCast < To, From > ( );
21 }
22
23 explicit CastRegister ( To ( * castFunction ) ( const From & ) ) {
24 abstraction::CastRegistry::registerCastAlgorithm < To, From > ( castFunction );
25 }
26
28 abstraction::CastRegistry::unregisterCast < To, From > ( );
29 }
30};
31
32} /* namespace registration */
33
Definition: CastRegistration.hpp:15
CastRegister(To(*castFunction)(const From &))
Definition: CastRegistration.hpp:23
~CastRegister()
Definition: CastRegistration.hpp:27
CastRegister()
Definition: CastRegistration.hpp:19
Definition: AlgoRegistration.hpp:14
std::conditional_t< core::has_eval< core::normalize< ReturnType > >::value, NormalizationRegisterImpl< ReturnType >, NormalizationRegisterEmpty > NormalizationRegister
Definition: NormalizationRegistration.hpp:39