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