Auxiliary interfaces

  • Auxiliary class interfacesという提案(pdf)がある
  • operator|を使って実装を試みる
    • 引数がゼロ個の場合は本当に使っていいかもしれない

[]#include[] []<pstade/auxiliary.hpp>[]
[]#include[] []<boost/utility/result_of.hpp>[]
[]#include[] []<cstring>[]

[]using[] []namespace[] []pstade[][];[]

[]void[] []test[][]()[]
[]{[]
[]boost[][]::[][]result_of[][]<[]
[]op_auxiliary1[][]([][]int[][] (*)([][]char[] []const[][] *, [][]char[] []const[][] *))[]
[] >::[][]type[] []compare[][] = [][]auxiliary1[][](&[][]std[][]::[][]strcmp[][]);[]

[]BOOST_CHECK[][]( [][]compare[][]([][]"abcd"[][], [][]"abce"[][]) < [][]0[][] );[]
[]BOOST_CHECK[][]( ( [][]"abcd"[][]|[][]compare[][]([][]"abce"[][]) ) < [][]0[][] );[]
[]}[]