所以不久前,我正在用Swift编写一些代码,这将允许我对二进制整数进行一些有用的额外操作,包括获取实际设置的最高和最低位。
举个例子,这里有一个我添加的基本属性,现在已被破坏:
extension IntegerType {
var hiBit:Self { return ~self.allZeroes << ((sizeof(Self) * 8) - 1) }
}
现在无法编译,因为
IntegerType
不再符合
BitwiseOperationsType
所以波浪号操作符和
allZeroes
属性不再对其可用。同样,似乎不再需要结构实现
整数类型
或
按位操作类型
要有轮班操作符,它们现在似乎是按照惯例定义的,除非我遗漏了什么。这意味着我无法将代码移植到
按位操作类型
不管是哪一种,尽管它看起来更符合逻辑。
所以我的问题是:;我在哪里实现最高级别的代码?我不想为每个特定的整数类型重复它,这就是我扩展的原因
整数类型
首先。
另外,我最初实现了
hiBit
作为一个
static
属性,但这些似乎不再受支持,这显然很奇怪,错误消息意味着它们将来会被支持,表明它们已从规范中删除;但我没有运行Xcode测试版。