25#if defined(BOTAN_HAS_PCURVES_SECP256R1)
26 static std::shared_ptr<const PrimeOrderCurve>
secp256r1();
29#if defined(BOTAN_HAS_PCURVES_SECP384R1)
30 static std::shared_ptr<const PrimeOrderCurve>
secp384r1();
33#if defined(BOTAN_HAS_PCURVES_SECP521R1)
34 static std::shared_ptr<const PrimeOrderCurve>
secp521r1();
37#if defined(BOTAN_HAS_PCURVES_BRAINPOOL256R1)
41#if defined(BOTAN_HAS_PCURVES_BRAINPOOL384R1)
45#if defined(BOTAN_HAS_PCURVES_BRAINPOOL512R1)
49#if defined(BOTAN_HAS_PCURVES_FRP256V1)
50 static std::shared_ptr<const PrimeOrderCurve>
frp256v1();
53#if defined(BOTAN_HAS_PCURVES_SECP192R1)
54 static std::shared_ptr<const PrimeOrderCurve>
secp192r1();
57#if defined(BOTAN_HAS_PCURVES_SECP224R1)
58 static std::shared_ptr<const PrimeOrderCurve>
secp224r1();
61#if defined(BOTAN_HAS_PCURVES_SECP256K1)
62 static std::shared_ptr<const PrimeOrderCurve>
secp256k1();
65#if defined(BOTAN_HAS_PCURVES_SM2P256V1)
66 static std::shared_ptr<const PrimeOrderCurve>
sm2p256v1();
69#if defined(BOTAN_HAS_PCURVES_NUMSP512D1)
70 static std::shared_ptr<const PrimeOrderCurve>
numsp512d1();
73#if defined(BOTAN_HAS_PCURVES_GENERIC)
74 static std::shared_ptr<const PrimeOrderCurve> from_params(
const BigInt& p,