new_contents: # Copyright 2015, Tresys Technology, LLC
  #
  # This file is part of SETools.
  #
  # SETools is free software: you can redistribute it and/or modify
  # it under the terms of the GNU Lesser General Public License as
  # published by the Free Software Foundation, either version 2.1 of
  # the License, or (at your option) any later version.
  #
  # SETools is distributed in the hope that it will be useful,
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  # GNU Lesser General Public License for more details.
  #
  # You should have received a copy of the GNU Lesser General Public
  # License along with SETools.  If not, see
  # <http://www.gnu.org/licenses/>.
  #
  
  
  class ConditionalExprWrapper(object):
  
      """Wrap conditional policy expressions to allow comparisons by truth table."""
  
      def __init__(self, cond):
          self.origin = cond
          self.truth_table = cond.truth_table()
  
      def __eq__(self, other):
          return self.truth_table == other.truth_table
  
      def __ne__(self, other):
          return not self == other
  
subject: add wrapper for comparing conditional expressions by truth table.