Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Concepts
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