# Constraints intersection

class pyasn1.type.constraint.ConstraintsIntersection(*constraints)

  Create a ConstraintsIntersection logic operator object.

  The ConstraintsIntersection logic operator only succeeds if all its operands succeed.

  The ConstraintsIntersection object can be applied to any constraint and logic operator objects.

  The ConstraintsIntersection object duck-types the immutable container object like Python `tuple`.

  Parameters:

    *constraints – Constraint or logic operator objects.

  Examples

      class CapitalAndSmall(IA5String):
          '''
          ASN.1 specification:

          CapitalAndSmall ::=
              IA5String (FROM ("A".."Z"|"a".."z"))
          '''
          subtypeSpec = ConstraintsIntersection(
              PermittedAlphabetConstraint('A', 'Z'),
              PermittedAlphabetConstraint('a', 'z')
          )

      # this will succeed
      capital_and_small = CapitalAndSmall('Hello')

      # this will raise ValueConstraintError
      capital_and_small = CapitalAndSmall('hello')