@@ -186,8 +186,34 @@ class MbedCRC {
186
186
{
187
187
}
188
188
189
- constexpr
190
- MbedCRC ();
189
+ /* Default values for different types of polynomials
190
+ */
191
+ // *INDENT-OFF*
192
+ template <uint32_t poly = polynomial, std::enable_if_t <poly == POLY_32BIT_ANSI && width == 32 , int > = 0 >
193
+ constexpr MbedCRC () : MbedCRC(0xFFFFFFFF , 0xFFFFFFFF , true , true )
194
+ {
195
+ }
196
+
197
+ template <uint32_t poly = polynomial, std::enable_if_t <poly == POLY_16BIT_IBM && width == 16 , int > = 0 >
198
+ constexpr MbedCRC () : MbedCRC(0 , 0 , true , true )
199
+ {
200
+ }
201
+
202
+ template <uint32_t poly = polynomial, std::enable_if_t <poly == POLY_16BIT_CCITT && width == 16 , int > = 0 >
203
+ constexpr MbedCRC () : MbedCRC(0xFFFF , 0 , false , false )
204
+ {
205
+ }
206
+
207
+ template <uint32_t poly = polynomial, std::enable_if_t <poly == POLY_7BIT_SD && width == 7 , int > = 0 >
208
+ constexpr MbedCRC () : MbedCRC(0 , 0 , false , false )
209
+ {
210
+ }
211
+
212
+ template <uint32_t poly = polynomial, std::enable_if_t <poly == POLY_8BIT_CCITT && width == 8 , int > = 0 >
213
+ constexpr MbedCRC () : MbedCRC(0 , 0 , false , false )
214
+ {
215
+ }
216
+ // *INDENT-ON*
191
217
192
218
/* * Compute CRC for the data input
193
219
* Compute CRC performs the initialization, computation and collection of
@@ -842,38 +868,6 @@ const uint32_t MbedCRC<POLY_32BIT_ANSI, 32, CrcMode::TABLE>::_crc_table[MBED_CRC
842
868
843
869
#endif // !defined(DOXYGEN_ONLY)
844
870
845
- /* Default values for different types of polynomials
846
- */
847
- template <>
848
- inline MSTD_CONSTEXPR_FN_14
849
- MbedCRC<POLY_32BIT_ANSI, 32 >::MbedCRC() : MbedCRC(0xFFFFFFFF , 0xFFFFFFFF , true , true )
850
- {
851
- }
852
-
853
- template <>
854
- inline MSTD_CONSTEXPR_FN_14
855
- MbedCRC<POLY_16BIT_IBM, 16 >::MbedCRC() : MbedCRC(0 , 0 , true , true )
856
- {
857
- }
858
-
859
- template <>
860
- inline MSTD_CONSTEXPR_FN_14
861
- MbedCRC<POLY_16BIT_CCITT, 16 >::MbedCRC() : MbedCRC(0xFFFF , 0 , false , false )
862
- {
863
- }
864
-
865
- template <>
866
- inline MSTD_CONSTEXPR_FN_14
867
- MbedCRC<POLY_7BIT_SD, 7 >::MbedCRC(): MbedCRC(0 , 0 , false , false )
868
- {
869
- }
870
-
871
- template <>
872
- inline MSTD_CONSTEXPR_FN_14
873
- MbedCRC<POLY_8BIT_CCITT, 8 >::MbedCRC(): MbedCRC(0 , 0 , false , false )
874
- {
875
- }
876
-
877
871
/* * @}*/
878
872
/* * @}*/
879
873
0 commit comments