Ipv4 および IPv6 アドレスのプレフィックス長を計算したい。サブネット マスクは、文字列 (1 、32 、97 など) またはドット形式 (255.255.0.0) の形式にすることができます。以下の条件を課したい。1) ipv4 の場合、両方の形式を許可する必要があります。ただし、文字列から unsigned にキャストする場合、プレフィックスの長さは 31 を超えてはなりません 2) ipv6 の場合、プレフィックスの長さのみが許可されます。127 を超えてはいけません
サブルーチンを渡すことで上記の計算をかなり簡単に行うことができますが、boost で定義されたクラスとメソッドを同じものに使用するよう求められました。
上記の適切なブースト方法を誰でも提案できますか。私はいくつかの検索を試みましたが、そうすることができませんでした。
パラメーターは、プレフィックス長の文字列形式 (16 、 97) またはドット付き形式のマスクにすることができ、場合によっては address(string) にすることもできます。ブースト メソッドは、前述の制限に基づいて、プレフィックス長を署名なしとして決定できる必要があります。