nonassignable

  • CopyConstructibleだがAssignable(operator=)はいらないというのは結構ある
  • にこっそりあるが単独のヘッダでは使えないようなので・・・ソースコード

[]#include[] []<pstade/assignable.hpp>[]
[]#include[] []<pstade/nonassignable.hpp>[]

[]struct[] []no_ass[][] :[]
[]private[] []pstade[][]::[][]nonassignable[]
[]{ };[]

[]template[][]< [][]class[] []T[][] >[]
[]void[] []check_assignable[][]([][]T[] []x[][])[]
[]{[]
[]T[] []y[][]([][]x[][]);[]
[]y[][] = [][]x[][];[]
[]}[]

[]void[] []test[][]()[]
[]{[]
[]using[] []namespace[] []pstade[][];[]

[] {[]
[]assignable[][]< ::[][]no_ass[][] > [][]a[][];[]
[] ::[][]check_assignable[][]([][]a[][]);[]
[] }[]
[]}[]