/// <summary> /// 数据位取反 /// </summary> /// <param name="parser">参数解析</param> private void setNegate(ref OperationParameter.NodeParser parser) { BitmapIndex index = new BitmapIndex(this, ref parser); if (index.Map != null) { bool isBit = index.SetNegate() != 0; parser.ReturnParameter.ReturnParameterSet(isBit); parser.SetOperationType(isBit ? OperationParameter.OperationType.SetValue : OperationParameter.OperationType.Remove); } }
/// <summary> /// 查询数据 /// </summary> /// <param name="parser">参数解析</param> internal override void QueryEnd(ref OperationParameter.NodeParser parser) { switch (parser.OperationType) { case OperationParameter.OperationType.GetValue: BitmapIndex index = new BitmapIndex(Maps, ref parser); if (index.Map != null) { parser.ReturnParameter.ReturnParameterSet(index.Get() != 0); } return; } parser.ReturnParameter.ReturnType = ReturnType.OperationTypeError; }
/// <summary> /// 清除数据位 /// </summary> /// <param name="parser">参数解析</param> private void clear(ref OperationParameter.NodeParser parser) { BitmapIndex index = new BitmapIndex(Maps, ref parser); if (index.Map != null) { if (index.IsOperationClear()) { parser.SetOperationReturnParameter(); } else { parser.ReturnParameter.ReturnParameterSet(false); } } }
/// <summary> /// 设置数据位 /// </summary> /// <param name="parser">参数解析</param> private void set(ref OperationParameter.NodeParser parser) { BitmapIndex index = new BitmapIndex(this, ref parser); if (index.Map != null) { if (index.IsOperationSet()) { parser.SetOperationReturnParameterFalse(); } else { parser.ReturnParameter.ReturnParameterSet(true); } } }